-
OpenStack High Availability
-
Ketersediaan Tinggi pada Node Kontrol
-
Solusi High Availability untuk Komponen Utama
-
Membangun OpenStack Berkeandalan Tinggi
-
Perlindungan OpenStack yang Ditingkatkan
-
Openstack High Availability FAQs
-
Kesimpulan
OpenStack adalah platform komputasi awan sumber terbuka yang arsitekturnya mencakup layanan komputasi, penyimpanan, dan jaringan, menyediakan kemampuan virtualisasi yang kuat serta fungsi manajemen otomatis. Untuk memastikan ketersediaan tinggi platform OpenStack, diperlukan adopsi solusi arsitektur dan langkah teknis tertentu. Artikel ini akan memperkenalkan beberapa solusi arsitektur ketersediaan tinggi OpenStack yang umum.
OpenStack High Availability
Untuk memahami bagaimana mencapai high availability, penting untuk mengidentifikasi layanan-layanan yang rentan terhadap ketidaktersediaan. Pertama-tama, mari kita memahami terlebih dahulu struktur dasar OpenStack.
OpenStack terdiri dari lima komponen utama: Compute (Nova), Manajemen Identitas (Keystone), Manajemen Gambar (Glance), Manajemen Front-end (Dashboard), dan Penyimpanan Objek (Swift).
Nova adalah komponen inti yang bertanggung jawab atas komputasi dan kontrol. Nova mencakup layanan-layanan seperti nova-compute, nova-scheduler, nova-volume, nova-network, dan nova-api. Seperti kebanyakan sistem terdistribusi lainnya, OpenStack terbagi menjadi dua jenis node, yaitu node kontrol dan node komputasi. Node kontrol menyediakan semua layanan kecuali nova-compute. Komponen dan layanan ini dapat diinstal secara independen, dan kombinasi dapat dipilih sesuai kebutuhan.
Nova-compute berjalan di setiap node komputasi. Untuk saat ini, mari kita asumsikan komponen ini dapat dipercaya; jika tidak, mesin cadangan dapat digunakan untuk failover (meskipun mengkonfigurasi cadangan untuk setiap node komputasi mungkin terlalu mahal jika dibandingkan dengan manfaatnya).
Ketersediaan Tinggi pada Node Kontrol
Memastikan ketersediaan tinggi pada node kontrol merupakan tantangan utama, dan komponen-komponen yang berbeda memiliki kebutuhan dan solusi ketersediaan yang spesifik.
(1) Apa yang terjadi jika Control Node gagal, mengingat hanya ada satu Control Node yang mengelola dan mengendalikan seluruh sistem?
Ini adalah masalah titik kegagalan tunggal (SPoF) yang umum. Ketersediaan tinggi tidak dapat dicapai hanya dengan satu mesin saja. Seringkali, suatu solusi dirancang untuk memastikan pengambilalihan mesin yang gagal secara cepat ketika muncul masalah, meskipun hal ini membutuhkan biaya yang lebih tinggi.
Untuk mengatasi masalah titik tunggal, solusi umumnya adalah menggunakan perangkat redundan atau siaga panas. Karena kegagalan perangkat keras atau kesalahan manusia selalu dapat menyebabkan kegagalan satu atau beberapa node, dan pemeliharaan atau peningkatan kadang memerlukan penghentian sementara beberapa node, sistem yang andal harus mampu menahan penghentian satu atau beberapa node.
Mode deployment umum meliputi: Mode standby aktif-pasif, Mode aktif-aktif dan Mode Kluster
(2) Bagaimana cara membangun node kontrol yang redundan? Atau metode lain apa yang dapat mencapai kontrol yang sangat andal?
Banyak orang mungkin menganggap menerapkan mode aktif-pasif, menggunakan mekanisme heartbeat atau metode serupa untuk cadangan, dan mencapai ketersediaan tinggi melalui failover. OpenStack tidak mendukung secara bawaan beberapa node kontrol, sehingga Pacemaker memerlukan berbagai layanan untuk menerapkan mekanisme cadangan, pemantauan, dan perpindahan sendiri.
Sebuah analisis lebih dekat terhadap layanan yang disediakan oleh node kontrol menunjukkan bahwa layanan tersebut terutama mencakup nova-api, nova-network, nova-scheduler, nova-volume, serta Glance, Keystone, dan basis data MySQL. Layanan-layanan ini disediakan secara terpisah. Nova-api, nova-network, dan Glance dapat berjalan di setiap node komputasi, RabbitMQ dapat beroperasi dalam mode utama-cadangan, dan MySQL dapat menggunakan kluster ketersediaan tinggi yang redundan.
Berikut ini bagian-bagian yang menjelaskan komponen-komponen tersebut.
Solusi High Availability untuk Komponen Utama
1) High Availability nova-api dan nova-scheduler
Setiap node komputasi dapat menjalankan nova-api dan nova-scheduler sendiri, memastikan keseimbangan beban untuk operasi yang benar. Dengan cara ini, ketika node kontrol gagal, nova-api dan layanan terkait di node komputasi tetap berfungsi secara normal.
2) Ketersediaan Tinggi dari nova-volume
Saat ini, belum ada solusi HA yang sempurna untuk nova-volume, dan masih diperlukan lebih banyak pengembangan. Namun demikian, karena nova-volume berjalan dengan iSCSI, integrasinya dengan DRBD atau penggunaan solusi perangkat keras high-availability berbasis iSCSI dapat mencapai High Availability.
3) Ketersediaan Tinggi Layanan Jaringan (nova-network)
OpenStack sudah menyediakan berbagai solusi jaringan high-availability. Pendekatan yang umum digunakan adalah dengan mengaktifkan mode high availability menggunakan opsi “Multi-host”. Solusi umum lainnya termasuk Failover, Multi-nic, Gateway Perangkat Keras, dan Quantum.
4) Ketersediaan Tinggi untuk Glance dan Keystone
OpenStack images dapat disimpan menggunakan Swift, dan Glance dapat dijalankan pada beberapa host. Pacemaker adalah solusi high-availability yang kuat untuk mengelola cluster multi-node, menerapkan perpindahan layanan dan failover, serta dapat digunakan bersama Corosync dan Heartbeat. Pacemaker secara fleksibel mendukung berbagai mode seperti active-passive, N+1, dan N-N. Dengan menginstal agen OCF pada setiap node, Pacemaker dapat menentukan apakah node lainnya menjalankan layanan Glance dan Keystone dengan benar, membantu Pacemaker untuk memulai, menghentikan, dan memantau layanan tersebut.
5) Ketersediaan Tinggi Swift Object Storage
Secara umum, sistem penyimpanan objek terdistribusi OpenStack, Swift, tidak memerlukan konfigurasi HA tambahan. Hal ini disebabkan Swift dirancang dengan arsitektur terdistribusi (tanpa node induk), toleransi kesalahan, mekanisme redundansi, mekanisme pemulihan data, skalabilitas, dan ketersediaan tinggi.
6) Ketersediaan Tinggi Layanan Antrian Pesan (RabbitMQ)
Jika RabbitMQ gagal, pesan dapat hilang. Beberapa mekanisme HA dapat digunakan:
Penerbit memastikan metode memberi pemberitahuan saat data ditulis ke disk dalam kasus terjadi kegagalan.
Mekanisme kluster multi-node dapat digunakan, tetapi kegagalan node tetap dapat menyebabkan kegagalan antrian.
Modus aktif-pasif memastikan failover dalam kasus terjadi kegagalan, tetapi memulai node cadangan mungkin melibatkan keterlambatan atau bahkan kegagalan.
Untuk pemulihan bencana dan ketersediaan, RabbitMQ menyediakan antrian persisten yang menyimpan pesan yang belum diproses di disk jika layanan antrian mengalami kegagalan. Untuk mencegah hilangnya pesan akibat keterlambatan antara mengirim dan menulis pesan, RabbitMQ memperkenalkan mekanisme Konfirmasi Penerbit untuk memastikan pesan benar-benar ditulis ke disk.
Dalam mendukung kluster, RabbitMQ menawarkan mode Active/Passive dan Active/Active. Contohnya, dalam mode Active/Passive, ketika sebuah node gagal, node pasif akan segera diaktifkan dan dengan cepat menggantikan node aktif yang gagal untuk melanjutkan pengiriman pesan.
Membangun OpenStack Berkeandalan Tinggi
Secara umum, ketersediaan tinggi dicapai dengan membangun redundansi dan cadangan. Strategi umum mencakup: Mode kluster. Cadangan saling antarmesin, di mana setiap instans dibuat cadangan beberapa kali tanpa simpul pusat. Contohnya termasuk sistem penyimpanan objek terdistribusi Swift dan mode multi-host dari nova-network.
Modus otonom. Dalam beberapa kasus, SPoF dapat diatasi dengan memungkinkan setiap node beroperasi secara independen, menghilangkan hubungan master-slave untuk mengurangi dampak dari node kontrol yang gagal. Sebagai contoh, nova-api hanya bertanggung jawab terhadap node miliknya sendiri.
Mode aktif-pasif. Model umum ini melibatkan node pasif yang tetap dalam keadaan siaga dan cadangan, beralih saat terjadi kegagalan. Contohnya termasuk kluster MySQL berkeandalan tinggi, serta layanan seperti Glance dan Keystone yang mencapai redundansi melalui Pacemaker dan Heartbeat.
Mode aktif-aktif. Dalam mode ini, node saling mendukung dan melakukan backup satu sama lain. Contohnya, RabbitMQ menggunakan cluster ketersediaan tinggi dengan mode aktif-aktif, di mana node dalam cluster dapat melakukan replikasi antrian. Dari perspektif arsitektur, pendekatan ini menghilangkan kekhawatiran tentang node pasif yang gagal dijalankan atau mengalami keterlambatan berlebihan.
Secara ringkas, optimasi dan peningkatan OpenStack terus berkembang, sementara penerapan dan aplikasinya terus dieksplorasi dan dikembangkan lebih lanjut. Penyesuaian praktis sangat penting—desain dan ide yang baik memerlukan pengujian di dunia nyata untuk memvalidasi keberhasilannya.
Perlindungan OpenStack yang Ditingkatkan
Meskipun OpenStack mengurangi risiko titik kegagalan tunggal dalam sistem melalui arsitektur redundansi dan ketersediaan tinggi, perlindungan data tetap kritis. Untuk memastikan kelangsungan bisnis, solusi cadangan profesional harus diterapkan untuk mencegah kehilangan data dan dampak dari kegagalan yang dahsyat.
Vinchin Backup & Recovery merupakan solusi backup OpenStack yang handal, menawarkan pencadangan tanpa agen yang efisien dengan fitur seperti deduplikasi data, kompresi, pencadangan inkremental, pemulihan level file, dan arsip cloud, serta memastikan pemulihan cepat, integrasi mulus dengan OpenStack, dan keamanan data yang kuat, menjadikannya pilihan ideal untuk mengelola dan melindungi lingkungan cloud.
Selain itu, enkripsi data dan perlindungan ransomware memberikan Anda perlindungan ganda untuk menjaga cadangan VM OpenStack. Anda juga dapat dengan mudah memindahkan data dari host OpenStack ke platform virtual lainnya (seperti VMware, Hyper-V, Proxmox, XenServer, oVirt, AWS EC2...) dan sebaliknya.
Mem-backup mesin virtual OpenStack dengan Vinchin Backup & Recovery hanya memerlukan 4 langkah berikut:
1. Pilih objek cadangan.

2. Pilih tujuan cadangan.

3. Konfigurasikan strategi cadangan.

4. Tinjau dan kirimkan pekerjaan.

Vinchin Backup & Recovery dipercaya oleh ribuan perusahaan. Mulai uji coba 60 hari dengan fitur lengkap sekarang!
Openstack High Availability FAQs
1. Apa itu zona ketersediaan (availability zone) di OpenStack?
Dalam OpenStack, Availability Zone (AZ) adalah partisi logis dalam lingkungan cloud yang membantu mendistribusikan beban kerja untuk toleransi kesalahan yang lebih baik dan manajemen sumber daya. Setiap AZ merupakan domain kegagalan yang terisolasi, artinya instance dalam AZ berbeda kurang mungkin terpengaruh oleh kegagalan perangkat keras atau jaringan yang sama. AZ biasanya digunakan untuk mengelompokkan node komputasi, sementara layanan penyimpanan dan jaringan juga dapat memiliki zona tersendiri untuk ketahanan dan redundansi yang lebih baik. Pengguna dapat menentukan AZ saat menjalankan instance untuk mengoptimalkan kinerja dan keandalan.
2. Apakah OpenStack merupakan SAAS atau PaaS?
OpenStack terutama merupakan platform IaaS. OpenStack menyediakan sumber daya komputasi, penyimpanan, dan jaringan yang divirtualisasi, memungkinkan pengguna untuk menerapkan dan mengelola infrastruktur cloud. Meskipun OpenStack dapat mendukung solusi PaaS dengan menjalankan layanan seperti Kubernetes atau Cloud Foundry di atasnya, fungsi utamanya adalah menyediakan IaaS, bukan SaaS atau PaaS.
Kesimpulan
Memastikan ketersediaan tinggi dalam OpenStack memerlukan kombinasi strategi arsitektur dan solusi teknis untuk menghilangkan titik tunggal kegagalan serta meningkatkan ketahanan sistem. Dengan menerapkan mode aktif-pasif dan aktif-aktif, memanfaatkan teknik clustering, serta mengoptimalkan komponen kunci seperti Nova, Glance, Keystone, dan RabbitMQ, OpenStack dapat mencapai infrastruktur cloud yang toleran terhadap kesalahan dan sangat andal. Selain itu, solusi penyimpanan terdistribusi seperti Swift secara alami menyediakan redundansi dan ketahanan.
Bagikan di: