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
-
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/v2Penyediaan 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/v2direktori ( DRBD-mounted jalur). Setelah penyediaan, lepaskan perangkat dan nonaktifkan mode pemeliharaan:sudo umount /greengrass/v2 sudo pcs property set maintenance-mode=false -
Nonaktifkan AWS IoT Greengrass V2 layanan sehingga Pacemaker dapat mengelolanya alih-alih systemd.
sudo systemctl disable greengrass sudo systemctl stop greengrass -
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.
-
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 greengrassSalin 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 -
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 prefersinstance1=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-groupsumber daya lebih memilih contoh utama. -
Kendala Kolokasi —
fs_greengrassberjalan dengan yang dipromosikandrbd-greengrass-clone, dan berjalan dengan.greengrassfs_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.
-
Periksa keadaan awal. Verifikasi AWS IoT Greengrass V2 yang berjalan pada instance utama.
sudo pcs status -
Simulasikan kegagalan instance primer. Letakkan simpul utama dalam mode siaga untuk memicu migrasi sumber daya.
sudo pcs node standbyprimary-node-name -
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 -
Pulihkan instance yang gagal.
sudo pcs node unstandbyprimary-node-nameKetika 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