Tôi đã chơi với máy ảo latley và tự hỏi liệu tôi có thể chạy một máy ảo bên trong một máy ảo không?
Có thể không?
Có thực tế không?
Tôi đã chơi với máy ảo latley và tự hỏi liệu tôi có thể chạy một máy ảo bên trong một máy ảo không?
Có thể không?
Có thực tế không?
Câu trả lời:
Các máy ảo lồng nhau là thứ đã được thực hiện mãi mãi trên phần cứng Mainframe của IBM. Phần cứng đó làm rất nhiều thứ để làm cho quá trình rất rất hiệu quả. Bạn có thể có các VM được lồng vào một độ sâu tùy ý và nó hoạt động rất tốt.
Phần cứng máy tính gần đây đã làm điều này hầu như không thể. Một tài liệu trên trang web của VMware thảo luận về nó, nhưng ý chính là bạn có thể có các máy ảo lồng nhau sâu 2, nhưng chỉ trên phần cứng rất hiện đại hỗ trợ ảo hóa phần cứng thực sự (VT-x hoặc AMD-V), và độ sâu VM thứ hai phải chạy kiểu ảo hóa BT / nhị phân kiểu cũ. Cũng có những hạn chế nghiêm trọng đối với màn hình ảo mà bạn có thể chạy trên máy khách bên trong.
Không cần phải nói, nó không được hỗ trợ và tôi hy vọng nó sẽ thực sự hoàn hảo nếu bạn làm bất cứ điều gì thậm chí kỳ lạ từ xa (như Hyper-V trong ESX). Và hiệu suất sẽ không tốt, bất kể nó có ổn định hay không.
Có bạn có thể. Ví dụ: trên Linux, bạn có thể chạy Xen với nhiều máy ảo chạy OpenVZ, VirtualServer hoặc một số loại hệ thống VM khác. Nó là chắc chắn nhất có thể và cũng rất thực tế tùy thuộc vào mục đích của bạn.
Một lý do mà tôi có thể nghĩ ra để làm điều này là để chạy nhiều máy chủ trên một máy vật lý. Việc bạn chạy nó dưới dạng một cấp bậc phân cấp VM hay nhiều cấp tùy thuộc vào kế hoạch cách ly tài nguyên của bạn.
Nếu bạn cần một số cụ thể, giả sử di sản, hệ thống được ảo hóa, bạn luôn có thể làm điều đó trong phần mềm, việc lồng nhau không phải là vấn đề. Hãy thử qemu, tôi đã làm nó sâu 2 cấp với nó, nhưng bạn có thể đi sâu hơn, hiệu suất có thể sẽ làm cho nó vô dụng, mặc dù. Kiến trúc BTW, PC là điềm báo được tạo ra bởi IBM, nhưng với những mục đích sử dụng hoàn toàn khác so với những gì nó được sử dụng cho ngày nay.
Tôi không tin rằng hầu hết các gói ảo hóa sẽ cho phép bạn chạy VM trong VM. Tôi biết rằng VMware sẽ kiểm tra khi cài đặt để xem nó có được cài đặt trong VM không và tôi hy vọng các sản phẩm khác cũng làm như vậy. Tôi không nghĩ rằng các hướng dẫn CPU cần thiết sẽ được trình bày thông qua từ trình ảo hóa chạy trên phần cứng thông qua VM để tiếp cận VM thứ hai. Nếu nó hoạt động, bạn cũng sẽ thêm chi phí mà không nhận lại được gì.
Về việc nó có thực tế không - tôi không hiểu tại sao. Nếu bạn cần một VM khác, bạn có thể chạy nó bên cạnh máy ảo mà bạn đã chạy. Tôi không thể tưởng tượng trường hợp bạn phải có một VM chạy bên trong một VM khác. Chi phí bổ sung mà không có mức tăng theo tỷ lệ của một số tài nguyên sẽ làm cho điều này không thực tế.
Vâng. Thậm chí có nhiều cách để chạy VMware ESX / vSphere trong một máy ảo. Tôi không biết tại sao bạn muốn thực hành, nhưng nó đã được thực hiện.
Có, bạn CÓ THỂ nhưng giống như nhiều thứ không có nghĩa là bạn nên làm. Tôi đã thấy một máy chủ ESX ảo hóa chạy một máy ảo có một máy chủ ESX ảo khác bên trong nó. Cấp nó là một thử nghiệm chỉ để xem nếu nó có thể được thực hiện (và nó có thể) tôi thực sự sẽ không đề nghị nó.
Nó phụ thuộc vào kỹ thuật ảo hóa. Nếu bạn sử dụng các giải pháp không phải là ảo hóa "thực" như UML thì bạn có thể chạy những giải pháp bên trong, giả sử, VMWare. Hoặc chính họ cho vấn đề đó.
Các bản cài đặt dựa trên UML có thể chạy bên trong VMWare VM và các bản cài đặt dựa trên UML khác (thậm chí lồng nhau). Các số liệu hiệu suất sẽ không được mặc dù đẹp!
Vâng, nó có thể nhưng thực sự chậm.
Sẽ rất hữu ích nếu bạn thuê một máy chủ có IP công cộng được phân bổ hạn chế (ví dụ, tùy thuộc vào địa chỉ MAC của bạn để không đầu độc mạng của nhà cung cấp máy chủ của bạn); và rằng bạn muốn IP VM của mình được kết nối để giao tiếp trực tiếp với internet. Vì vậy, khi bạn không thể có nhiều hơn, ví dụ: 3 địa chỉ IP công cộng, nhưng bạn cần 10 VM, một ý tưởng khá hay là có VM trong một VM toàn cầu: bạn sẽ chỉ sử dụng một trong những IP công cộng nhất định của mình và sau đó có nhiều VM cầu nối phụ.
Nhưng bạn thực sự có thể sử dụng kết hợp cầu nối và cấu hình mạng được định tuyến, nó chỉ khó khăn hơn về cấu hình.
Giống như nhiều người đã sẵn sàng nói: tất nhiên là có thể. Nó phụ thuộc vào mức độ phần cứng VM được mô phỏng và phần mềm ảo hóa nào bạn đang sử dụng. VMWare Workstation, ít nhất, không muốn bạn ảo hóa nó.
Về việc nếu nó thực tế, có lẽ chúng ta nên đặt lại câu hỏi cho bạn: tại sao bạn cần phải làm điều đó? Có gì sai khi chỉ chạy hai máy ảo cạnh nhau? Và đến mức độ nào bạn hỏi nếu nó thực tế? Đó là, nếu bạn lo lắng về việc thiết lập và định cấu hình, có thể không thực tế. Nếu bạn lo lắng hơn về việc sử dụng thực tế, một lần nữa, tôi không thể nghĩ ra bất cứ điều gì tôi cần phải làm điều này trừ khi tôi đang tìm kiếm lỗi trong phần mềm ảo hóa hoặc một cái gì đó.
Vâng. Xem tại đây:
Bạn có thể, nhưng tôi không khuyên bạn nên nó.
Hiệu suất thường bị ảnh hưởng khá nhiều trong toàn bộ quá trình này trên máy "khách của khách". Nếu bạn thực sự phải làm điều này mà không có phần cứng và phần mềm chuyên dụng, chúc may mắn cho bạn. Tuy nhiên, nhìn chung nó không phải là thông lệ tốt, đặc biệt là với các phương pháp phổ biến được sử dụng để đạt được ảo hóa.
Tôi biết rằng nếu bạn cố chạy VMWare trong các hệ thống VMWare, nó sẽ phàn nàn và không cho phép bạn làm điều đó. Tôi không chắc chắn về VirtualBox. Tôi biết một vài người, vì bất kỳ lý do gì, triển khai các container Docker trong các container Docker (hoặc họ nói như vậy). Đạo đức của câu chuyện là: mặc dù có thể là có thể, nhưng có lẽ không thông minh để làm điều đó trừ khi bạn thực sự biết những gì bạn đang làm.
Cá nhân tôi không biết bất kỳ trường hợp sử dụng thực tế nào cho việc này ngoài mạng.