Saya telah bermain dengan mesin virtual latley, dan bertanya-tanya apakah saya bisa menjalankan mesin virtual di dalam mesin virtual?
Apa itu mungkin?
Apakah ini praktis?
virtualization
virtual-machines
Penguji101
sumber
sumber
Jawaban:
Nesting VMs adalah sesuatu yang telah dilakukan untuk selamanya pada perangkat keras IBM Mainframe. Perangkat keras itu melakukan banyak hal untuk membuat prosesnya sangat sangat efisien. Anda dapat membuat VM bersarang ke kedalaman yang arbitrer dan berfungsi dengan sangat baik.
Perangkat keras PC baru-baru ini agak membuat ini hampir tidak mungkin. Sebuah dokumen di situs web VMware membahasnya, tetapi intinya adalah Anda dapat membuat VM bersarang 2 dalam, tetapi hanya pada perangkat keras yang sangat modern yang mendukung virtualisasi perangkat keras yang sebenarnya (VT-x atau AMD-V), dan kedalaman VM kedua haruslah menjalankan gaya lama BT / virtualisasi gaya terjemahan biner. Ada juga batasan ketat pada monitor virtual yang dapat Anda jalankan pada tamu dalam.
Tak perlu dikatakan, itu tidak didukung dan saya berharap itu akan menjadi sangat flakey jika Anda melakukan sesuatu yang aneh bahkan jauh (seperti Hyper-V di bawah ESX). Dan kinerjanya tidak akan baik, terlepas dari apakah itu stabil.
sumber
Ya kamu bisa. Misalnya, di Linux, Anda dapat menjalankan Xen dengan beberapa VM yang menjalankan OpenVZ, VirtualServer atau beberapa jenis sistem VM lainnya. Ini sangat mungkin dan juga sangat praktis tergantung pada tujuan Anda.
Salah satu alasan yang dapat saya pikirkan untuk melakukan ini adalah menjalankan beberapa server pada satu mesin fisik. Apakah Anda menjalankannya sebagai satu tingkat hirarki VM atau beberapa yang tergantung pada rencana isolasi sumber daya Anda.
sumber
Jika Anda memerlukan beberapa spesifik, katakanlah warisan, sistem yang akan divirtualisasi Anda selalu dapat melakukannya dalam perangkat lunak, bersarang bukan masalah saat itu. Coba qemu, saya melakukannya 2 level dengannya, tetapi Anda bisa masuk lebih dalam, kinerjanya mungkin akan membuatnya tidak berguna. BTW, arsitektur PC adalah pertanda yang dibuat oleh IBM, tetapi untuk penggunaan yang sama sekali berbeda dibandingkan dengan apa yang digunakan untuk hari ini.
sumber
Saya tidak percaya sebagian besar paket virtualisasi akan memungkinkan Anda untuk menjalankan VM di VM. Saya tahu bahwa VMware akan memeriksa kapan diinstal untuk melihat apakah itu diinstal dalam VM, dan saya berharap produk lain melakukan hal yang sama. Saya tidak berpikir instruksi CPU yang diperlukan akan disajikan melalui dari hypervisor yang berjalan pada perangkat keras melalui VM untuk mencapai VM kedua. Jika berhasil, Anda juga akan menambahkan overhead tanpa mendapat imbalan apa pun.
Adapun apakah itu praktis - saya tidak mengerti mengapa. Jika Anda membutuhkan VM lain, Anda bisa menjalankannya di sebelah yang sudah Anda jalankan. Saya tidak bisa membayangkan kasus di mana Anda harus memiliki VM yang berjalan di dalam VM lain. Biaya tambahan tambahan tanpa keuntungan proporsional dari beberapa sumber daya akan membuat ini tidak praktis.
sumber
Iya nih. Bahkan ada cara untuk menjalankan VMware ESX / vSphere di mesin virtual. Saya tidak tahu mengapa Anda ingin berlatih, tetapi itu sudah dilakukan.
sumber
Ya, Anda BISA tetapi suka banyak hal tidak berarti Anda harus. Saya telah melihat server ESX tervirtualisasi menjalankan mesin virtual yang memiliki server ESX virtual lain di dalamnya. Memang itu adalah tes hanya untuk melihat apakah itu bisa dilakukan (dan itu bisa) saya benar-benar tidak akan merekomendasikan itu.
sumber
Itu tergantung pada teknik virtualisasi. Jika Anda menggunakan solusi yang bukan virtualisasi "nyata" seperti UML maka Anda dapat menjalankannya di dalam, katakanlah, VMWare. Atau diri mereka sendiri dalam hal ini.
Instalasi berbasis UML dapat berjalan di dalam VM VMware dan instalasi berbasis UML lainnya (bahkan bersarang). Metrik kinerja tidak akan cantik!
sumber
Ya, itu mungkin tapi sangat lambat.
Ini sangat berguna jika Anda menyewa server dengan IP publik yang dialokasikan terbatas (yang misalnya tergantung pada alamat MAC Anda untuk tidak meracuni jaringan penyedia server Anda); dan Anda ingin VM IP Anda dijembatani untuk berkomunikasi langsung dengan internet. Jadi, ketika Anda tidak dapat memiliki lebih dari, misalnya, 3 alamat IP publik, tetapi Anda membutuhkan 10 VM, itu ide yang cukup bagus untuk memiliki VM di VM global: Anda hanya akan menggunakan salah satu IP publik yang diberikan dan kemudian memiliki banyak VM dijembatani sub.
Tapi Anda benar-benar bisa menggunakan campuran bridge dan konfigurasi jaringan yang dirutekan, itu hanya lebih sulit mengenai konfigurasi.
sumber
Sejauh yang saya tahu itu tidak mungkin, tetapi VMware ESX dapat berjalan di VMware Workstation misalnya. IMHO itu hanya baik untuk pengujian.
sumber
Seperti banyak orang sudah siap mengatakan: tentu saja itu mungkin. Itu tergantung pada seberapa baik perangkat keras VM ditiru dan perangkat lunak virtualisasi apa yang Anda gunakan. VMWare Workstation, setidaknya, tidak ingin Anda melakukan virtualisasi.
Adapun jika itu praktis, mungkin kita harus mengajukan pertanyaan kembali kepada Anda: mengapa Anda perlu melakukan hal semacam itu? Apa yang salah dengan menjalankan dua VMs berdampingan? Dan sampai tingkat berapa Anda bertanya apakah ini praktis? Artinya, jika Anda khawatir praktis mengatur dan mengkonfigurasi, mungkin tidak. Jika Anda lebih khawatir tentang penggunaan praktisnya, sekali lagi, saya tidak bisa memikirkan apa pun yang saya perlukan untuk melakukan ini kecuali saya mencari bug dalam perangkat lunak virtualisasi atau sesuatu.
sumber
Iya nih. Lihat disini:
Bagaimana menjalankan VMWare ESX atau ESXi di mesin virtual?
sumber
Anda bisa, tetapi saya tidak merekomendasikannya.
Performa biasanya sangat terpukul dalam seluruh proses ini pada mesin "guest of the guest". Jika Anda benar-benar harus melakukan ini tanpa perangkat keras dan perangkat lunak khusus, semoga sukses untuk Anda. Namun, ini umumnya bukan praktik yang baik terutama dengan metode umum yang digunakan untuk mencapai virtualisasi.
Saya tahu bahwa jika Anda mencoba menjalankan VMWare dalam sistem VMWare, itu akan mengeluh dan tidak membiarkan Anda melakukannya. Saya tidak yakin tentang VirtualBox. Saya tahu beberapa orang yang, dengan alasan apa pun, menyebarkan kontainer Docker dalam kontainer Docker (atau begitulah kata mereka). Moral dari cerita ini adalah: walaupun mungkin, mungkin tidak pintar untuk melakukannya kecuali Anda benar-benar tahu apa yang Anda lakukan.
Saya pribadi tidak tahu ada kasus penggunaan aktual untuk ini di luar jaringan.
sumber