View a markdown version of this page

Active/passive AWS IoT Greengrass V2 layanan - 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 AWS IoT Greengrass V2 layanan

Dalam pengaturan ini, Anda menjalankan AWS IoT Greengrass V2 sebagai layanan systemd pada satu instance pada satu waktu. Pacemaker mengelola replikasi DRBD, pemasangan sistem file, dan AWS IoT Greengrass V2 layanan sebagai sumber daya yang dipesan. Jika instance utama gagal, Pacemaker mempromosikan DRBD instans standby ke primer, memasang sistem file, dan memulai. AWS IoT Greengrass V2

penting

Selesaikan semua langkah Prasyarat dan pengaturan cluster sebelum melanjutkan.

Awas

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

Lampirkan sumber daya DRBD

Pastikan alat pacu jantung berjalan sebelum melanjutkan.

sudo systemctl status pacemaker

Nonaktifkan STONITH sebelum membuat sumber daya apa pun. Tanpa perangkat pagar yang dikonfigurasi, Pacemaker akan menolak untuk memulai sumber daya jika STONITH diaktifkan (default).

sudo pcs property set stonith-enabled=false
Awas

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

Lepaskan perangkat DRBD pada instans utama dan turunkan DRBD pada semua instans sehingga Pacemaker memiliki kontrol bersih terhadap siklus hidup DRBD.

# On the primary instance only sudo umount /greengrass/v2 # On all instances sudo drbdadm down greengrass

Buat sumber daya DRBD di Pacemaker.

sudo pcs resource create drbd-greengrass \ ocf:linbit:drbd drbd_resource=greengrass \ op monitor interval=15s role=Promoted \ op monitor interval=30s role=Unpromoted

Konfigurasikan sumber daya sebagai dapat dipromosikan sehingga hanya satu instance yang utama pada satu waktu. Set clone-max el ke jumlah instance di cluster Anda.

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 filesystem

Semua AWS IoT Greengrass V2 sumber daya disimpan di bawah/greengrass/v2. Langkah ini memberitahu Pacemaker untuk memasang perangkat DRBD di jalur tersebut pada instance yang dipromosikan. Ini memastikan direktori AWS IoT Greengrass V2 data direplikasi dan tersedia selama failover.

Buat sumber daya filesystem dalam keadaan dinonaktifkan. Anda akan mengaktifkannya setelah semua kendala ada.

sudo pcs resource create fs_greengrass Filesystem \ device="/dev/drbd0" \ directory="/greengrass/v2" \ fstype="ext4" \ op start timeout=15s \ op stop timeout=15s \ --disabled

Verifikasi sumber daya

Verifikasi bahwa sumber daya dibuat dan disebarkan ke semua instance.

sudo pcs status

Penyediaan dan lampirkan AWS IoT Greengrass V2 sumber daya systemd

  1. Ketentuan AWS IoT Greengrass V2. Karena Anda melepaskan perangkat DRBD sebelumnya, aktifkan mode pemeliharaan dan pasang kembali untuk penyediaan:

    # Enable maintenance mode to prevent Pacemaker from interfering sudo pcs property set maintenance-mode=true # Check which node Pacemaker promoted to Primary sudo pcs status | grep drbd-greengrass # On the Promoted node, mount the DRBD device sudo mount /dev/drbd0 /greengrass/v2

    Penyediaan AWS IoT Greengrass V2 pada instance utama menggunakan penyediaan otomatis. Ikuti petunjuk di Instal perangkat lunak AWS IoT Greengrass V2 Core dengan penyediaan sumber daya otomatis.

    Pastikan AWS IoT Greengrass V2 itu diinstal ke /greengrass/v2 direktori ( DRBD-mounted jalur). Setelah penyediaan, lepaskan perangkat dan nonaktifkan mode pemeliharaan:

    sudo umount /greengrass/v2 sudo pcs property set maintenance-mode=false
  2. Nonaktifkan AWS IoT Greengrass V2 layanan sehingga Pacemaker dapat mengelolanya alih-alih systemd.

    sudo systemctl disable greengrass sudo systemctl stop greengrass
  3. Instal prasyarat runtime pada semua instans siaga. AWS IoT Greengrass V2 membutuhkan Java dan dependensi lain yang diinstal penyedia otomatis di luar direktori DRBD-replicated . Instal versi JDK yang sama pada setiap instance siaga. Lihat AWS IoT Greengrass V2 persyaratan untuk daftar lengkap prasyarat.

  4. Buat file unit systemd pada instance lain. Salin file unit AWS IoT Greengrass V2 systemd ke instans standby sehingga Pacemaker dapat memulai layanan pada instance apa pun selama failover.

    # On the primary instance, view the unit file location systemctl show -p FragmentPath greengrass

    Salin file itu ke jalur yang sama pada satu contoh lainnya. Kemudian muat ulang systemd pada setiap instance siaga sehingga mengenali file unit baru.

    # On each standby instance sudo systemctl daemon-reload
  5. Lampirkan AWS IoT Greengrass V2 sumber daya.

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

Buat batasan sumber daya

Buat urutan kendala sehingga Pacemaker mengelola sumber daya dalam urutan yang benar selama failover.

sudo pcs constraint order promote drbd-greengrass-clone then start fs_greengrass sudo pcs constraint colocation add fs_greengrass with Promoted drbd-greengrass-clone score=INFINITY sudo pcs resource group add greengrass-group fs_greengrass greengrass sudo pcs constraint location greengrass-group prefers instance1=200

Aktifkan sumber daya sekarang karena kendala ada.

sudo pcs resource enable fs_greengrass sudo pcs resource enable greengrass

Verifikasi keadaan akhir dari batasan sumber daya.

sudo pcs constraint show

Output harus menunjukkan kendala berikut:

  • Batasan Lokasi — Grup greengrass-group sumber daya lebih memilih instance utama.

  • Kendala Kolokasi — fs_greengrass berjalan dengan yang dipromosikandrbd-greengrass-clone, dan greengrass berjalan denganfs_greengrass.

  • Batasan Pes anan — DRBD mempromosikan sebelum sistem file dimulai, dan sistem file dimulai sebelumnya. AWS IoT Greengrass V2

Verifikasi failover

Simulasikan failover untuk memverifikasi bahwa pengaturan berfungsi.

  1. Periksa keadaan awal. Verifikasi bahwa AWS IoT Greengrass V2 sedang berjalan pada instance utama.

    sudo pcs status
  2. Simulasikan kegagalan instance utama. Letakkan node utama dalam mode siaga untuk memicu migrasi sumber daya.

    sudo pcs node standby primary-node-name
  3. Verifikasi failover. Pada instance standby, periksa status cluster. DRBD, filesystem, dan AWS IoT Greengrass V2 resource sekarang harus berjalan pada instance standby.

    sudo pcs status
  4. Pulihkan instance yang gagal.

    sudo pcs node unstandby primary-node-name

    Ketika node dibawa kembali online, ia bergabung kembali dengan cluster sebagai instance standby. Instans yang dipromosikan selama failover tetap menjadi instance utama.

Pemecahan masalah

Jika sumber daya memasuki keadaan gagal, Anda dapat membersihkan dan memulai ulang dengan perintah berikut.

sudo pcs resource cleanup