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 layanan sebagai sumber daya yang dipesan. AWS IoT Greengrass V2 Jika instance utama gagal, Pacemaker mempromosikan DRBD instance siaga 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

Verifikasi bahwa Pacemaker 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, untuk instans Amazon fence_aws EC2) untuk mencegah kerusakan otak terbelah dan data.

Lepaskan perangkat DRBD pada instance utama dan turunkan DRBD pada semua instance sehingga Pacemaker memiliki kontrol bersih atas 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 promotable sehingga hanya satu instance yang utama pada satu waktu. Setel clone-max 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 sistem file

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

Buat sumber daya sistem file 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

Menyediakan dan melampirkan AWS IoT Greengrass V2 sumber daya systemd

  1. Ketentuan AWS IoT Greengrass V2. Karena Anda melepas 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 AWSAWS IoTAWS IoT Greengrass V2 Core dengan penyediaan sumber daya otomatis.

    Pastikan AWS IoT Greengrass V2 yang 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 instance siaga. AWS IoT Greengrass V2 memerlukan Java dan dependensi lain yang diinstal oleh 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 instance siaga 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 setiap 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 kendala sumber daya

Buat pengurutan 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 sudah ada.

sudo pcs resource enable fs_greengrass sudo pcs resource enable greengrass

Verifikasi status akhir dari kendala sumber daya.

sudo pcs constraint show

Output harus menunjukkan kendala berikut:

  • Kendala Lokasi — Kelompok greengrass-group sumber daya lebih memilih contoh utama.

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

  • Batasan Pesanan — 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 AWS IoT Greengrass V2 yang berjalan pada instance utama.

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

    sudo pcs node standby primary-node-name
  3. Verifikasi failover. Pada contoh siaga, periksa status cluster. DRBD, sistem file, dan AWS IoT Greengrass V2 sumber daya sekarang harus berjalan pada instance siaga.

    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 siaga. Instance yang dipromosikan selama failover tetap menjadi instance utama.

Pemecahan masalah

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

sudo pcs resource cleanup