Apakah ada alternatif utama untuk failover otomatis di Linux selain kombinasi Heartbeat / Pacemaker / CoroSync yang khas? Secara khusus, saya menyiapkan failover pada instance EC2, yang hanya mendukung unicast - tidak ada multicast atau siaran. Saya secara khusus mencoba menangani beberapa perangkat lunak yang kami miliki yang belum memiliki failover otomatis dan tidak mendukung lingkungan multi-master. Ini termasuk alat-alat seperti HAProxy dan Solr.
Saya memiliki Heartbeat + Pacemaker bekerja, tetapi saya tidak senang dengan itu. Inilah beberapa masalah saya:
- Detak Jantung - Dengan sendirinya, terbatas pada dua node. Saya ingin memiliki 3+.
- Alat pacu jantung - Tidak mungkin untuk mengkonfigurasi secara otomatis. Cluster harus berjalan dengan kuorum dan kemudian masih membutuhkan konfigurasi manual.
- CoroSync - Tidak mendukung unicast.
Alat pacu jantung bekerja dengan sangat baik, meskipun kekuatannya membuat pengaturan sulit. Masalah sebenarnya dengan alat pacu jantung adalah bahwa tidak ada cara mudah untuk mengotomatisasi konfigurasi. Saya benar-benar ingin meluncurkan instance EC2, menginstal Chef / Puppet dan memiliki seluruh peluncuran cluster tanpa campur tangan saya.
Saya benar-benar mengerjakan sesuatu yang sangat mirip dengan apa yang Anda gambarkan (gagal-gugus pada EC2), dan setelah mencoba Heartbeat, memilih Corosync sebagai lapisan olahpesan saya. Corosync akan berjalan di beberapa server dan mendukung Unicast (UDPU) pada versi 1.3.0 (mulai November 2010). Saya telah menyiapkan dan menguji Corosync di cloud EC2 Amazon (menggunakan AMI Linux Amazon) dan dapat mengonfirmasi bahwa itu berfungsi tanpa masalah.
Contoh file udpu diinstal ke / etc / corosync.
Tambahkan satu blok anggota ke bagian antarmuka untuk setiap node, dan tentukan transport sebagai updu. (Saya telah menggunakan port yang sama dengan detak jantung pada contoh di bawah ini, tetapi Anda dapat mengubahnya sesuai keinginan).
misalnya:
(Detak jantung seharusnya mendukung 3+ kluster simpul di versi 1.2.3+, walaupun, saya belum pernah mencobanya secara pribadi, dan tidak tahu apakah itu akan bekerja dengan Unicast).
sumber
Maaf, tetapi bagian tentang alat pacu jantung tidak benar. Uji regresi dan rilis alat pacu jantung menggunakan otomasi secara ekstensif.
Untuk mengonfigurasi tanpa cluster aktif, awali semua perintah dengan
CIB_file=/var/lib/heartbeat/crm/cib.xml
atau atur di lingkungan Anda. Pastikan Anda menghapus file .sig sebelum memulai cluster.Untuk cluster tanpa kuorum, sebagian besar jika tidak semua alat harus mendukung
-f
atau--force
yang akan memerintahkan cluster untuk menerima perubahan. Jika Anda menemukan alat yang tidak - silakan ajukan bug.sumber
Di dunia open source, ada RedHat Cluster Suite . Sudah beberapa tahun sejak saya menerapkan RHCS jadi saya tidak punya banyak hal yang relevan untuk dikatakan tentang hal itu hari ini.
Secara komersial, ada Veritas Cluster Server . Tidak ada pengalaman dengannya.
Alat HA sumber yang jauh lebih sederhana dan open source adalah UCARP . UCARP tidak menyediakan "infrastruktur" yang hampir sama dengan Heartbeat / Pacemaker / CoroSync tetapi Anda dapat membangun solusi HA di sekitarnya.
Anda juga dapat membangun infrastruktur yang sangat tersedia dengan teknologi virtualisasi tetapi solusi ini cenderung berfokus pada ketersediaan di tingkat host dibandingkan dengan ketersediaan di tingkat aplikasi.
sumber
Ada Oracle Clusterware untuk Oracle Unbreakable Linux, meskipun saya belum menggunakannya.
sumber
Jika Anda sudah menggunakan EC2, mengapa tidak menggunakan Elastic Load Balancing ? Ini akan memungkinkan Anda mencapai ketersediaan tingkat aplikasi tanpa harus mengkonfigurasi failover sendiri.
sumber
Veritas Cluster sangat bagus (dibandingkan dengan Linux-Heartbeat, AIX-hacmp, HP-Serviceguard dan Sun cluster), tetapi membutuhkan banyak uang. Terakhir kali saya melihatnya harga didasarkan pada cpu-core cluster. Vendor Saat Ini d ...
sumber
Saya menulis manajer kluster failover di posix shell: https://github.com/nackstein/back-to-work
lihat itu, saya mencari seseorang yang ingin mencobanya dan membantu dalam pengembangan.
sumber
opensvc ( https://www.opensvc.com ) mendukung beberapa driver detak jantung:
dan juga memiliki mekanisme kuorum jika otak terpecah.
Saya berhasil secara otomatis menyiapkan 4 node cluster yang terbuat dari 2 google cloud instance + 2 amazon instance dengan terraform + ansible.
sumber