Solusi 1:
Saya lebih suka menggunakan keepalived untuk ketersediaan tinggi. Saya merasa lebih mudah untuk menyiapkan (satu daemon dan konfigurasi) daripada detak jantung dan perusahaan. Satu-satunya kelemahan yang saya temui, adalah keepalived tidak memiliki opsi unicast secara default, dan hanya menggunakan VRRP untuk komunikasi (namun penulis HAProxy telah menulis tambalan unicast untuk keepalived)
Solusi 2:
Saya sebenarnya sedang mengerjakan sesuatu yang sangat mirip dengan apa yang Anda gambarkan (cluster fail-over di EC2), dan setelah mencoba Heartbeat, memilih Corosync sebagai lapisan perpesanan saya. Corosync akan berjalan di banyak server dan mendukung Unicast (UDPU) pada versi 1.3.0 (mulai Nov, 2010). Saya telah menyiapkan dan menguji Corosync di cloud EC2 Amazon (menggunakan AMI Linux Amazon) dan dapat memastikannya 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, tetapi Anda dapat mengubahnya sesuai keinginan).
mis.:
totem {
version: 2
secauth: off
interface {
member {
memberaddr: 10.xxx.xxx.xxx
}
member {
memberaddr: 10.xxx.xxx.xxx
}
ringnumber: 0
bindnetaddr: 10.xxx.xxx.xxx
mcastport: 694
}
transport: udpu
}
(Heartbeat seharusnya mendukung 3+ node cluster di versi 1.2.3+, meskipun, saya belum pernah mencobanya secara pribadi, dan tidak tahu apakah ini akan bekerja dengan Unicast).
Solusi 3:
Maaf, tetapi bagian tentang Alat Pacu Jantung tidak benar. Tes regresi dan pelepasan Alat Pacu menggunakan otomatisasi secara ekstensif.
Untuk mengonfigurasi tanpa kluster aktif, awali semua perintah dengan CIB_file=/var/lib/heartbeat/crm/cib.xml
atau mengaturnya di lingkungan Anda. Pastikan Anda menghapus file .sig sebelum memulai cluster.
Untuk klaster tanpa kuorum, sebagian besar jika tidak semua alat harus mendukung -f
atau --force
yang akan menginstruksikan cluster untuk menerima perubahan tersebut. Jika Anda menemukan alat yang tidak sesuai - harap laporkan bug.
Solusi 4:
Di dunia open source, ada RedHat Cluster Suite. Sudah beberapa tahun sejak saya menerapkan RHCS, jadi saya tidak memiliki banyak hal yang relevan untuk dikatakan tentangnya hari ini.
Secara komersial, ada Veritas Cluster Server. Tidak ada pengalaman dengan itu.
Alat HA yang jauh lebih sederhana dan open source adalah UCARP. UCARP tidak menyediakan jenis "infrastruktur" yang hampir sama dengan Heartbeat/Pacemaker/CoroSync, tetapi Anda dapat membuat solusi HA di sekitarnya.
Anda juga dapat membangun infrastruktur dengan ketersediaan tinggi dengan teknologi virtualisasi, tetapi solusi ini cenderung berfokus pada ketersediaan tingkat host, bukan ketersediaan tingkat aplikasi.