View a markdown version of this page

Active/passive penyeimbang beban - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Active/passive penyeimbang beban

Dalam pengaturan ini, Anda menjalankan HAProxy sebagai penyeimbang beban pada satu instance pada satu waktu. File konfigurasi HAProxy disimpan di DRBD-replicated penyimpanan sehingga ketika Pacemaker gagal ke instance siaga, konfigurasi segera tersedia.

penting

Selesaikan semua langkah Prasyarat dan pengaturan cluster sebelum melanjutkan.

Awas

Jalankan perintah berikut pada instance utama saja, kecuali dinyatakan lain.

Instal HAProxy di semua instance

Instal HAProxy dan nonaktifkan layanan sehingga Pacemaker dapat mengelolanya. Jalankan ini pada setiap contoh.

sudo apt install -y haproxy sudo systemctl disable haproxy sudo systemctl stop haproxy

Konfigurasikan mount DRBD untuk HAProxy

Pasang perangkat DRBD ke direktori untuk penyeimbang beban.

Buat direktori mount point. Jalankan ini pada setiap contoh.

sudo mkdir -p /drbd/loadbalancer/

Pasang perangkat DRBD pada instance utama. Pertama lepaskan titik pemasangan sebelumnya dari prasyarat.

sudo umount /greengrass/v2 sudo mount /dev/drbd0 /drbd/loadbalancer/

Verifikasi mount denganlsblk. Anda harus melihat drbd0 dipasang di/drbd/loadbalancer.

Konfigurasikan HAProxy

File konfigurasi harus berada di direktori mount DRBD sehingga direplikasi ke instance failover.

  1. Salin konfigurasi HAProxy ke direktori mount DRBD.

    sudo mkdir -p /drbd/loadbalancer/etc/haproxy/ sudo cp /etc/haproxy/haproxy.cfg /drbd/loadbalancer/etc/haproxy/haproxy.cfg
  2. Edit file unit systemd HAProxy untuk menggunakan konfigurasi dari jalur pemasangan DRBD. Jalankan ini pada setiap contoh.

    sudo systemctl edit haproxy

    Tambahkan baris berikut untuk memperbarui jalur file konfigurasi ke jalur pemasangan DRBD.

    [Service] Environment="CONFIG=/drbd/loadbalancer/etc/haproxy/haproxy.cfg"
  3. Muat ulang systemd. Jalankan ini pada setiap contoh.

    sudo systemctl daemon-reload

Lampirkan sumber daya DRBD

Lepaskan perangkat DRBD dan turunkan DRBD sehingga Pacemaker dapat mengelolanya. Jalankan unmount pada instance utama dan drbdadm down pada semua instance.

# On the primary instance only sudo umount /drbd/loadbalancer # On all instances sudo drbdadm down greengrass
sudo pcs resource create drbd-greengrass \ ocf:linbit:drbd drbd_resource=greengrass \ op monitor interval=15s role=Promoted \ op monitor interval=30s role=Unpromoted
sudo pcs resource promotable drbd-greengrass \ promoted-max=1 promoted-node-max=1 clone-max=2 clone-node-max=1 notify=true

Lampirkan sumber daya sistem file

sudo pcs resource create fs_loadbalancer Filesystem \ device="/dev/drbd0" \ directory="/drbd/loadbalancer" \ fstype="ext4" \ op start timeout=15s \ op stop timeout=15s \ --disabled

Lampirkan sumber daya systemd HAProxy

sudo pcs resource create haproxy systemd:haproxy \ op monitor interval=10s \ op start timeout=60s \ op stop timeout=60s \ --disabled

Buat kendala sumber daya

sudo pcs constraint colocation add haproxy with fs_loadbalancer sudo pcs constraint order fs_loadbalancer then start haproxy sudo pcs constraint colocation add fs_loadbalancer with Promoted drbd-greengrass-clone sudo pcs constraint order promote drbd-greengrass-clone then start fs_loadbalancer

Aktifkan sumber daya sekarang karena kendala sudah ada.

sudo pcs resource enable fs_loadbalancer sudo pcs resource enable haproxy

Nonaktifkan STONITH untuk pengaturan tutorial ini.

sudo pcs property set stonith-enabled=false
Awas

STONITH dinonaktifkan di sini untuk menyederhanakan tutorial ini. Dalam lingkungan produksi, Anda harus mengaktifkan STONITH dan mengonfigurasi agen pagar (misalnya, untuk instans Amazon fence_aws EC2) untuk mencegah kerusakan otak terbelah dan data.

Verifikasi failover

  1. Periksa keadaan awal. Verifikasi bahwa HAProxy berjalan pada instance utama.

    sudo pcs status
  2. Simulasikan failover. Letakkan simpul utama dalam mode siaga untuk memaksa semua sumber daya keluar dari simpul utama.

    sudo pcs node standby primary-node-name
  3. Verifikasi failover. Pada contoh siaga, periksa status cluster. Sumber daya DRBD, sistem file, dan HAProxy sekarang harus berjalan pada instance siaga dengan file konfigurasi terbaru.

    sudo pcs status

    Ketika instance yang gagal pulih, layanan penyeimbang beban tetap berada di instance siaga kecuali Anda mengonfigurasi Pacemaker untuk memigrasinya.

  4. Bawa node kembali online.

    sudo pcs node unstandby primary-node-name