Masalah pertama saya adalah saya tidak tahu bagaimana cara mempromosikan budak menjadi master secara manual?
Anda dapat memerintahkan salah satu mesin untuk mendemosikan dirinya sendiri dari MASTER ke SLAVE dengan melakukan:
killall -USR2 ucarp
pada MASTER.
Saya menggunakan keepalived dan tidak tahu banyak tentang ucarp tapi saya selalu menonaktifkan antarmuka master. Itu memaksa budak untuk mengambil alih. Jika saya ingin menjadikan budak sebagai master, saya mengkonfigurasi ulang dan memulai kembali layanan. Saya kemudian mengonfigurasi ulang master lama menjadi budak, memulai ulang layanan, dan mengaktifkan antarmuka.
Teks kutipan berikut mungkin membantu menjelaskan apa yang dilakukan parameter advskew.
"advskew:Parameter opsional ini menentukan berapa banyak advbase yang harus dimiringkan saat mengirimkan iklan CARP. Dengan memanipulasi advskew, host CARP master dapat dipilih. Semakin tinggi angkanya, semakin kurang disukai host ketika memilih master. Standarnya adalah 0. Nilai yang dapat diterima adalah dari 0 hingga 254." - http://www.openbsd.org/faq/pf/carp.html
"... untuk mengetahui waktu hingga simpul CARP mengira itu master, hitung 3 * (advbase + (advskew / 255))" - http://kerneltrap.org/node/5607
Jadi jika Anda memiliki tiga host, satu master dan dua budak dan budak dikonfigurasi seperti ini:
slave1 - 3 * 1 + (10/255) =3,117 detik
slave2 - 3 * 1 + (20/255) =3,235 detik
Maka slave1 akan selalu menjadi master sebelum slave2 karena lebih sering beriklan. Jika karena alasan tertentu slave1 down, slave2 akan menjadi master.