Apa yang terjadi ketika mesin fisik gagal dalam lingkungan virtual? [Tutup]

12

Saya memulai dengan virtualisasi, jadi tahan dengan saya.

Dalam lingkungan virtual aplikasi dijalankan di lapisan hypervisor. Jadi satu mesin fisik dapat memiliki banyak mesin virtual yang menjalankan banyak aplikasi.

Sejauh ini baik?

Jadi apa yang terjadi ketika mesin fisik gagal? Bukankah itu membuat banyak aplikasi gagal semua dari satu mesin?

Saya mencari untuk mengembangkan cloud pribadi dengan OpenStack , tetapi saya ingin sepenuhnya memahami virtualisasi.

Sherif
sumber

Jawaban:

14

Spesifikasinya bergantung pada solusi virtualisasi yang tepat yang Anda gunakan, tetapi idenya adalah bahwa Anda memiliki pertanian virtual, di mana terdapat sejumlah host fisik dengan masing-masing beberapa mesin virtual. Anda kemudian menggunakan beberapa efisiensi yang Anda peroleh dengan tidak memerlukan host fisik untuk setiap VM sehingga Anda memiliki cukup overhead yang tersisa untuk menutupi dalam kasus di mana mesin fisik turun.

Selain itu, Anda dapat menemukan VHD untuk setiap VM di SAN umum (redundan). Hypervisor pada setiap host fisik dapat diatur untuk berbicara satu sama lain dan berbagi memori dari berbagai VM. Ada beberapa latensi, dan sebagian besar memori akan didukung oleh disk, tetapi jika salah satu host fisik turun Anda bahkan tidak menunggu VM dari host itu untuk boot kembali. Sebaliknya, VM tersebut akan didistribusikan secara otomatis di antara host yang tersisa. Tujuan utamanya adalah bahwa mesin ini akan mengambil dari hampir di mana mereka tinggalkan, dengan sedikit atau tanpa downtime sama sekali. Dalam arti tertentu, semua VM Anda sudah berjalan di setidaknya dua host fisik. Dalam praktiknya, saat ini hypervisor hanya dapat melakukan migrasi semacam ini satu mesin pada satu waktu, ketika mereka tahu itu datang sebelum tuan rumah gagal ... tapi jangan salah: migrasi instan pada kegagalan perangkat keras adalah tujuan akhir untuk semua perangkat utama hypervisors.

Inilah sebabnya mengapa Anda terkadang melihat server tervirtualisasi ke satu host fisik di sebuah tambak. Anda mungkin tidak mendapatkan efisiensi perangkat keras apa pun (Anda bahkan mungkin kehilangan beberapa kinerja), tetapi Anda menebusnya dalam hal konsistensi manajemen dan ketersediaan tinggi bawaan.

Joel Coel
sumber
thnx untuk jawaban Anda joel ... Saya punya 2 pertanyaan ... apakah lingkungan virtual melihat mesin fisik sebagai sumber daya tunggal? Apakah itu membantu memuaskan layanan mandiri berdasarkan permintaan? Juga apakah vitualisasi membantu memanfaatkan sumber daya?
Sherif
1
@ Sherif: Pada dasarnya, ya, dan ya. Jika Anda ingin memahami ini secara lebih rinci, lihat artikel Wikipedia , ini membahas secara singkat migrasi VM dan failover. Jika Anda masih memiliki pertanyaan, ajukan pertanyaan yang lebih spesifik.
sleske
1
Apakah Anda yakin tentang bagian memori bersama? Dari pemahaman saya, VM yang gagal karena kegagalan perangkat keras akan dimulai kembali pada host lain. Ini dapat dilihat sebagai reboot penuh atau mengembalikan pos pemeriksaan, tergantung pada konfigurasi hypervisor, tetapi kondisi memori asli tidak dapat dipulihkan. Untuk vspere: vmware.com/products/vsphere/features/high-avilities Sebagai catatan tambahan, beberapa proyek dimulai untuk KVM untuk memungkinkan memori yang dibagikan secara bersama dan berlebihan di antara kumpulan host perangkat keras , tetapi ditinggalkan.
shodanshok
1
Migrasi VM hanya dapat terjadi jika mesin fisik memiliki kesempatan untuk mentransfer kontrol sebelum jatuh. Jika mesin fisik gagal tanpa basa-basi, maka mesin virtual harus direstart ke mesin yang berbeda. Jika Anda memiliki server stateless, proses transfer ini mudah, karena Anda dapat memutar mesin lain. Untuk mesin dengan status persisten, Anda harus memiliki skema yang dapat memulihkan data persisten dari mesin fisik yang rusak.
Lie Ryan
13

Semua server virtual yang berjalan pada host fisik akan offline jika tuan rumah memiliki segala jenis kegagalan.

Yang mengatakan, sebagian besar platform menawarkan solusi ketersediaan tinggi untuk VM tunggal. Di lain waktu suatu sistem dibangun dengan beberapa node untuk mencegah gangguan layanan jika salah satu node turun.

Jika dua node VM membuat layanan yang sangat tersedia, dimungkinkan untuk mengkonfigurasi hyper visor untuk memastikan bahwa kedua node tidak bergantung pada infrastruktur fisik yang sama (toleransi kesalahan). Ini bisa lebih dari sekadar toleransi kesalahan server fisik, termasuk jalur jaringan yang berbeda, sampai lokasi yang berbeda secara geografis.

blaughw
sumber
2
AWS misalnya, tergantung pada layanan, mereplikasi layanan di zona ketersediaan (area fisik) jika ada bencana alam ke area itu yang akan mengganggu mesin fisik.
Michael Bailey
apakah lingkungan virtual memandang mesin fisik sebagai kumpulan sumber daya tunggal? Apakah itu membantu memuaskan layanan mandiri berdasarkan permintaan? Juga apakah vitualisasi membantu memanfaatkan sumber daya? dan terima kasih banyak atas upaya Anda
Sherif
5

Anda benar dengan asumsi Anda bahwa jika mesin fisik gagal juga VM tidak tersedia.

Tetapi openstack dapat mengatasi hal itu dan memulai VMs dari server fisik yang gagal pada server lain atau Anda dapat menggunakan sistem hypervisor yang sudah didistribusikan, saya pikir vsphere dapat melakukan itu.

Anda harus membaca dokumentasi openstack tentang HA untuk informasi lebih lanjut.

Henrik Pingel
sumber
2

Mengenai pertanyaan Anda - ya, Anda akan kehilangan akses untuk semua mesin dalam host fisik ini. Tentu saja, itu tergantung komponen mana yang gagal. Jika itu disk - itu semacam masalah, jika motherboard - itu jauh lebih mudah. Secara umum pemulihan perangkat keras lebih mudah karena hypervisor adalah perangkat keras-agnostik. Pada titik ini ada banyak teknologi khusus vendor yang dapat Anda gunakan untuk memiliki layanan yang sangat tersedia.

Resource Pools (vmware) - TIDAK dapat mengumpulkan beberapa sumber daya host fisik (cpu, memori, dll) seperti seseorang yang disebutkan di atas, jadi jika Anda memiliki 2 host fisik (misalkan 1CPU quad core tanpa hyperthreading - masing-masing 8GBRAM) itu TIDAK akan mungkin untuk memiliki VM 5vCPU-12Gb di sana. Kumpulan sumber daya adalah yang logis, mereka tidak dapat membuat sistem superkomputer. Saat ini, ini adalah cara mengendalikan pemanfaatan sumber daya.

Ketersediaan (vmware) - dimungkinkan untuk menggunakan teknologi seperti Ketersediaan Tinggi (HA) yang memungkinkan Anda untuk memiliki pemulihan otomatis (berdasarkan pengalaman saya dalam 1-2 menit ) dari semua VMs di cluster secara otomatis, JIKA Anda menggunakan Storage Array (NAS, iSCSI, FC) dan simpan semua file VM di sana. Lebih dari HA bekerja hanya dalam kasus CPU, RAM, kegagalan Motherboard, jelas itu tidak akan bekerja dari Storage Array turun. Untuk mencegah kegagalan RAID / Pengontrol orang menggunakan Replikasi, Storage LUNs mirroring dll.

Jika pemulihan dalam 1-2 menit bukanlah suatu pilihan ada teknologi seperti Fault Tolerance (FT) yang memungkinkan untuk mencapai NOL downtime VM jika terjadi kegagalan dengan menjaga bayangan (running) salinan VM yang dikonfigurasi. Tetapi teknologi ini juga memiliki banyak batasan - masalah VM yang toleran terhadap kesalahan dengan beberapa vCPU tidak sepenuhnya terpecahkan.

Secara keseluruhan, setiap solusi tergantung pada tujuan Anda.

Dmitry Savinkov
sumber