Kembali
Fitur Ketersediaan Tinggi (HA)
Fungsi Ketersediaan Tinggi adalah fungsi yang secara otomatis “memulai ulang” (disebut failover) mesin virtual di host lain yang berfungsi normal ketika host fisik gagal. Oleh karena itu, perlu membuat pengaturan terlebih dahulu di dalam sistem operasi tamu mesin virtual agar sistem dapat dipulihkan secara otomatis.
Apa syarat untuk menggunakan HA?
Untuk menggunakan HA dengan versi HRPC KVM, syarat-syarat berikut harus dipenuhi:
- Pusat data virtual yang terdiri dari tiga atau lebih node yang dikonfigurasi secara identik.
- Harus bertipe HCI atau tipe 3-tier, karena penyimpanan bersama (Ceph, ESF dengan ES) diperlukan.
- Harus ada kapasitas cadangan yang cukup (terutama memori) pada peralatan. Penting bahwa setidaknya memori sebesar satu node tersedia secara total.
*Misalnya, dalam kasus pusat data virtual yang terdiri dari tiga node, hanya memori dari dua node yang boleh digunakan secara total. - Pastikan cadangan mesin virtual telah diambil.
Kami sangat menyarankan Anda menandatangani kontrak dengan Penyimpanan Cadangan atau sejenisnya dan mengatur cadangan rutin untuk mesin virtual Anda.
Bagaimana cara mengaktifkan fungsi HA?
Jika Anda ingin mengaktifkan fungsi HA, pertama pilih pusat data di panel kiri, buka HA di panel tengah, dan klik Grup.
Klik tombol Buat di panel kanan, buat ID grup HA, dan centang host yang terkait dengan HA. Saat membuat mesin virtual di host yang terkait dengan HA, Anda harus menyiapkan setidaknya memori cadangan sebesar satu host fisik. Jika Anda berpartisipasi dalam HA dengan total empat HRPC yang dilengkapi dengan memori 768GB, tiga mesin yang tersisa akan membutuhkan 768GB memori kosong agar perangkat lain dapat terus beroperasi meskipun satu HRPC mengalami kegagalan fisik. Jika Anda tidak mencentang grup HA, itu akan diabaikan sebagai target HA meskipun berada di pusat data yang sama.
Jika sebuah host sengaja dihapus dari grup HA, dan pengaturan grup HA “terbatas” dicentang, mesin virtual yang termasuk dalam grup HA tersebut tidak dapat dimulai di host yang dihapus.
Jika opsi nofailback dicentang, ketika node fisik yang gagal reboot dan kembali, mesin virtual tidak akan dipulihkan tetapi akan terus berjalan di tujuan. Jika nofailback tidak dicentang, mereka akan dikembalikan ke node asli melalui migrasi langsung, memungkinkan pengelolaan ketat terhadap penempatan host node dan mesin virtual. Namun, jika node fisik menjadi tidak stabil dan berulang kali reboot, HA akan diaktifkan lagi dan mesin virtual akan berulang kali dimulai ulang. Untuk alasan ini, kami merekomendasikan untuk mencentang nofailback.
Juga, meskipun migrasi langsung adalah fitur yang jarang gagal, ada gangguan internal sesaat yang dapat menyebabkan masalah pada perangkat lunak real-time.
Bagaimana cara mengaktifkan HA untuk mesin virtual?
HA Proxmox tidak akan berlaku kecuali mesin virtual berada di bawah manajemen HA.
Untuk menempatkan mesin virtual di bawah manajemen HA, pilih mesin virtual dan pilih “Kelola HA” dari menu tarik-turun “Lainnya▼” di kanan atas. Pilih ID grup HA yang Anda konfigurasikan di atas dari grup, atur status yang diinginkan ke “dimulai”, lalu klik tombol Tambah.
Mesin virtual ini sekarang berada di bawah kendali HA.
Ruang lingkup operasi HA bervariasi tergantung pada hypervisor. Di VMware, ketika HA diaktifkan di pusat data virtual, itu memengaruhi semua mesin virtual di pusat data virtual, sedangkan di XenOrchestra, itu hanya memengaruhi mesin virtual di pool yang telah mengaktifkan HA dan memiliki pengaturan “mulai ulang”.
Hubungan antara restart pemeliharaan node (host) dalam grup HA dan mesin virtual
Ketika node yang merupakan bagian dari grup HA di-reboot untuk pemeliharaan (bukan karena kegagalan tak terduga), perilaku mesin virtual akan berbeda tergantung pada apakah mereka berada di bawah manajemen HA atau tidak.
Mesin virtual di bawah manajemen HA | Migrasi langsung ke mesin lain |
---|---|
Mesin virtual yang tidak dikelola oleh HA | Matikan secara otomatis dan tetap mati setelah reboot |
Kolom
Keterbatasan fungsi HA
Fungsi HA memiliki keterbatasan, dan ada masalah yang dapat terjadi saat menggunakan HA.
- Pemulaian ulang mesin virtual yang tidak terduga
- Kerusakan data mesin virtual
Sederhananya, HA adalah kemampuan untuk memulai mesin virtual dari node lain ketika node gagal, tetapi ini adalah cara kerjanya dari perspektif mata Tuhan, dan logika perangkat lunak yang sebenarnya harus diimplementasikan dengan cara yang sama sekali berbeda.
Pertama, tidak mungkin untuk secara ketat mendefinisikan apa yang dianggap sebagai “kegagalan” pada node tertentu di antara ketiga node (yaitu node A, node B, dan node C). HA dicapai dengan membuat setiap node bekerja sama dengan yang lain.
Ketika node A kehilangan komunikasi dengan node B, tidak jelas apakah kegagalan telah terjadi pada node B, atau apakah komunikasi hanya terputus antara node A dan node B. Jika node A dapat berkomunikasi dengan node C dari perspektifnya, dapat dibayangkan bahwa kegagalan mungkin telah terjadi pada node B.
Namun—if data dari mesin virtual yang di-host di Node B terus diperbarui di penyimpanan bersama, Node B mungkin benar-benar terisolasi.
Dalam contoh di atas, jika node A dan C berkomunikasi, ada kemungkinan besar bahwa node B telah gagal. Oleh karena itu, node A dan C akan mencoba untuk mem-boot mesin virtual yang di-host di node B sendiri.
Namun, node B mungkin tidak gagal, tetapi hanya terisolasi. Jika sebuah node menentukan bahwa ia terisolasi, ia akan segera mematikan VM yang di-host-nya untuk mempersiapkan node A dan C untuk mungkin memulai, yang menyebabkan reboot tak terduga yang disebutkan di atas.
Jadi apa yang terjadi jika node B tidak dimatikan?
Jika mesin virtual yang sama berjalan di dua tempat, node B dan node lain, disk virtual dari mesin virtual akan rusak dalam sekejap, yang akan menyebabkan kehancuran data mesin virtual yang disebutkan di atas.
Jadi pilihan Anda adalah reboot atau menghancurkan data Anda.
HA perlu berkoordinasi antar setiap node untuk menentukan apakah itu mati, hanya kehilangan komunikasi, atau lambat.
Jika kedua kegagalan di atas saling eksklusif, yang ingin Anda hindari adalah kerusakan data, jadi matikan segera.
Keputusan ini dibuat pada interval tertentu, dan Proxmox melakukannya setiap 2 menit. Jika tidak ada respons selama 2 menit, ditentukan bahwa “host telah gagal.” Oleh karena itu, setidaknya, waktu henti akan menjadi 2 menit + waktu yang dibutuhkan untuk mem-boot mesin virtual (pada kenyataannya, akan lebih lama).
Namun, jika kecepatan node melambat, memori ditukar keluar, pemulihan memori oleh driver ballooning menyebabkan perlambatan sementara, atau penulisan penyimpanan melambat, dua menit dapat berlalu dengan cepat dan shutdown mungkin tidak dapat dilakukan tepat waktu. Karena yang harus dilindungi adalah data, sistem secara otomatis menggunakan WatchDog Timer atau sejenisnya, dan cloud pribadi berjalan pada perangkat keras yang dilengkapi dengan perangkat yang dapat secara otomatis memulai ulang kernel bahkan jika kernel host berhenti merespons.