Date: April 6, 2024
Panduan Langkah demi Langkah untuk Menyiapkan Saksi File NFS dengan SIOS LifeKeeper di Linux
Memulai SIOS Lifekeeper dan File Witness Berbasis NFS
Di dalampengelompokan ketersediaan tinggi, seorang saksi memainkan peran penting dalam memastikan integritas dan keandalan cluster. Tanpa sebuahsimpul ke-3, mungkin sulit untuk mencapai kuorum karena tidak ada data yang dapat membantu memutuskan hubungan di mana kedua node berpikir mereka harus ditayangkan (Ini dikenal sebagaiotak yang terbelah). Anda dapat mengatasi masalah ini dengan banyak cara, misalnya dengan menyediakan server saksi khusus, jalur penyimpanan bersama yang dapat dilihat oleh seluruh cluster, atau hanya dengan memiliki lebih banyak node di cluster itu sendiri (minimal 3!). Syukurlah,Penjaga Kehidupan SIOSmenawarkan solusi tangguh untuk menyiapkan cluster ketersediaan tinggi di lingkungan Linux, dan mengonfigurasi saksi untuk meningkatkan kuorum adalah fitur penting.
Dalam panduan ini, kami akan memandu Anda melalui langkah-langkah untuk menyiapkan saksi file berbasis NFS dengan SIOS LifeKeeper di Linux, membantu Anda meningkatkan ketersediaan dan ketahanan aplikasi cluster Anda.
Sasaran:
Untuk mencapai cluster 2-node menggunakan saksi penyimpanan berbasis NFS seperti yang ditunjukkan pada diagram di bawah ini:
Prasyarat: Sebelum memulai, pastikan Anda memiliki yang berikut:
- Server Linux dikonfigurasi dan dihubungkan dengan hak administratif (yaitu, akses root).
- SIOS LifeKeeper sudah diinstal atau diunduh dan siap diinstal di setiap server.
- Berbagi NFS dapat diakses oleh semua server di cluster.
Langkah 1: Instal/Modifikasi SIOS LifeKeeper:
Kita perlu menginstal LifeKeeper pada tahap ini atau menjalankan kembali pengaturan untuk menambahkan fungsionalitas Witness kecuali Anda sudah memasukkannya sebelumnya.
Dalam kasus saya, saya menggunakan RHEL8.8, jadi saya akan memasang ISO sebelum menjalankan pengaturan dengan paket tambahan yang diperlukan untuk RHEL8.8.
[root@server1-LK ~]# mount /root/sps.img /mnt/loop -t iso9660 -o loop
[root@server1-LK ~]# cd /mnt/loop/
[root@server1-LK loop]# ./setup –addHADR /root/HADR-RHAS-4.18.0-477.10.1.el8_8.x86_64.rpm
Di sini bagian penting untuk tujuan kita adalah mengaktifkan fungsi saksi seperti pada gambar di bawah. Namun, Anda juga memerlukan file lisensi tambahan, yang dapat Anda tambahkan di sini atau tambahkan melalui baris perintah nanti sesuai kebijaksanaan Anda:
Jika tidak, konfigurasikan LifeKeeper sesuai tujuan Anda, atau jika sudah dikonfigurasi, cukup lanjutkan pengaturan setelah Anda menyertakan opsi “Gunakan Fungsi Kuorum / Saksi”.
Jika Anda memutuskan untuk menambahkan lisensi melalui baris perintah, jalankan juga perintah berikut pada setiap node di klaster dengan jalur yang benar ke file lisensi Anda:
[root@server1-LK ~]# /opt/LifeKeeper/bin/lkkeyins /<path-to-license-file>l/quorum-disk.lic
Langkah 2: Siapkan dan pasang penyimpanan bersama:
Pastikan Anda memiliki penyimpanan bersama yang dapat diakses oleh semua server di cluster. Anda dapat memeriksa setiap server menggunakan perintah ‘mount’ atau dengan ‘findmnt’ untuk memverifikasi bahwa Anda telah memasangnya secara lokal:
[root@server1-LK loop]# pemasangan | grep nfs
sunrpc di /var/lib/nfs/rpc_pipefs ketik rpc_pipefs (rw,relatime)
172.16.200.254:/var/nfs/general pada /nfs/general type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans= 2,detik=sistem,tambahan klien=172.16.205.151,kunci_lokal=tidak ada,tambahan=172.16.200.254)
atau
[root@server1-LK ~]# findmnt -l /nfs/general
OPSI FSTYPE SUMBER TARGET
/nfs/general 172.16.200.254:/var/nfs/general nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,detik =sys,clientaddr=172.16.205.151,local_lock=none,addr=172.16.200.254
Jika Anda masih perlu memasang share sendiri, ikuti langkah-langkah berikut:
Pertama, konfirmasikan bahwa Anda dapat melihat share NFS di server host.
[root@server1-LK ~]# showmount -e 172.16.200.254
Daftar ekspor untuk 172.16.200.254:
/rumah 172.16.205.244,172.16.205.151
/var/nfs/umum 172.16.205.244,172.16.205.151
Dalam kasus saya, saya ingin me-mount share ‘/var/nfs/general’.
Untuk memasang share ini, pertama-tama, pastikan direktori yang Anda rencanakan untuk memasangnya ada. Jika tidak, buatlah:
[root@server1-LK ~]# mkdir -p /nfs/general
Sekarang Anda dapat memasang share secara manual menggunakan perintah berikut untuk mengonfirmasi bahwa Anda dapat terhubung, dan itu berfungsi:
[root@server1-LK ~]# mount 172.16.200.254:/var/nfs/general /nfs/general
Terakhir, setelah puas, tambahkan titik mount ke file /etc/fstab Anda sehingga akan dipasang saat boot:
[root@server1-LK ~]# cat /etc/fstab
#
# /etc/fstab
# Dibuat oleh anaconda pada Kam 25 Jan 12:07:15 2024
#
# Sistem file yang dapat diakses, dengan referensi, dikelola di bawah ‘/dev/disk/’.
# Lihat halaman manual fstab(5), findfs(8), mount(8) dan/atau blkid(8) untuk info lebih lanjut.
#
# Setelah mengedit file ini, jalankan ‘systemctl daemon-reload’ untuk memperbarui systemd
# unit dihasilkan dari file ini.
#
/dev/mapper/rhel-root / xfs default 0 0
UUID=6b22cebf-8f1c-405b-8fa8-8f12e1b6b56c /boot xfs default 0 0
/dev/mapper/rhel-swap tidak ada swap default 0 0
#ditambahkan untuk berbagi NFS
172.16.200.254:/var/nfs/umum /nfs/umum nfs4 default 0 0
Sekarang, Anda dapat mengonfirmasi bahwa itu sudah terpasang menggunakan perintah mount:
[root@server1-LK ~]# mount -l | grep nfs
sunrpc di /var/lib/nfs/rpc_pipefs ketik rpc_pipefs (rw,relatime)
172.16.200.254:/var/nfs/general pada /nfs/general type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,
proto=tcp,timeo=600,retrans= 2,detik=sistem,tambahan klien=172.16.205.151,
kunci_lokal=tidak ada,tambahan=172.16.200.254)
Seperti yang Anda lihat dari teks yang disorot di atas, sekarang telah berhasil dipasang. Ulangi di semua server sampai Anda yakin semua server telah memasang share sebelum melanjutkan.
Langkah 4: Periksa nama host Anda dan konfigurasikan pengaturan /etc/default/LifeKeeper:
Anda dapat melihat nama host yang diketahui LifeKeeper untuk setiap server Anda dengan menjalankan perintah berikut pada setiap node:
/opt/LifeKeeper/bin/lcduname
Contoh pengaturan yang perlu Anda tambahkan ke file /etc/default/LifeKeeper:
WITNESS_MODE=penyimpanan
QWK_STORAGE_TYPE=berkas
QWK_STORAGE_HBEATTIME=6
QWK_STORAGE_NUMHBEATS=9
QWK_STORAGE_OBJECT_server1_LK_localdomain=/nfs/umum/nodeA
QWK_STORAGE_OBJECT_server2_LK_localdomain=/nfs/umum/nodeB
Untuk ‘QWK_STORAGE_OBJECT_<nama-server>’, Anda perlu mendeklarasikannya untuk setiap node, dan ini dibentuk menggunakan nama host Anda serta jalurnya, dan lokasi yang diinginkan dari file saksi itu sendiri.
Perlu dicatat bahwa jika nama host mengandung “-” atau “.”, gantilah dengan garis bawah “_”
(misalnya, lksios-1 → lksios_1 atau lksios-1.localdomain → lksios_1_localdomain ).
Dalam contoh saya, saya memiliki nama host berikut:
server1-LK.domain lokal
server2-LK.domain lokal
Artinya menambahkan definisi ‘QWK_STORAGE_OBJECT_’ berikut:
QWK_STORAGE_OBJECT_server1_LK_localdomain=/nfs/umum/nodeA
QWK_STORAGE_OBJECT_server2_LK_localdomain=/nfs/umum/nodeB
Selain itu, kita perlu menyesuaikan salah satu pengaturan yang ada di /etc/default/LifeKeeper:
QUORUM_MODE=penyimpanan
Untuk membantu memahami mengapa kami menetapkan WITNESS_MODE dan QUORUM_MODE ke penyimpanan, lihat tabel berikut:
Kombinasi Mode Kuorum dan Mode Saksi yang Didukung
LifeKeeper mendukung kombinasi berikut.
QUORUM_MODE | |||||
mayoritas | tcp_remote | penyimpanan | tidak ada/mati | ||
SAKSI_MODE | remote_verifikasi | Didukung 3 node atau lebih | Didukung 3 node atau lebih | Tidak didukung | Didukung 3 node atau lebih |
penyimpanan | Tidak didukung | Tidak didukung | DidukungAntara 2 dan 4 node | Tidak didukung | |
tidak ada/mati | Didukung 3 node atau lebih | Didukung 2 node atau lebih | Tidak didukung | Didukung |
Kami memiliki cluster dua node yang ingin menggunakan penyimpanan eksternal untuk kuorum, sehingga satu-satunya kombinasi yang didukung adalah ‘penyimpanan’ untuk kedua nilai. Namun, Anda dapat melihat dari tabel betapa fleksibelnya hal ini ketika Anda memerlukan lebih banyak node, menawarkan banyak cara untuk mencapai komunikasi dan menyediakan kuorum.
Langkah 4: Inisialisasi file Saksi:
Untuk menginisialisasi file saksi dan mengaktifkan penggunaannya, Anda harus menjalankan perintah berikut pada setiap node:
[root@server1-LK ~]# /opt/LifeKeeper/bin/qwk_storage_init
Ini akan berhenti ketika dijalankan hingga setiap node selesai, jadi jalankan perintah pada node pertama di cluster, lalu node kedua, dan seterusnya sebelum kembali untuk memeriksa bahwa perintah telah selesai tanpa kesalahan.
Contoh:
[root@server1-LK ~]# /opt/LifeKeeper/bin/qwk_storage_init
oke: LifeKeeper sedang berjalan.
ok: Kunci lisensi LifeKeeper berhasil diinstal.
oke: Parameter QWK valid.
Objek QWK dari /nfs/general/nodeA belum tersedia.
/nfs/general/nodeA sudah ada karena bukan QWK_STORAGE_OBJECT: timpa? (y/t): kamu
ok: Jalur objek QWK valid.
oke: turun: /opt/LifeKeeper/etc/service/qwk-storage: 1377s
ok: Inisialisasi objek QWK dari node sendiri selesai.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
Objek QWK dari /nfs/general/nodeB belum tersedia.
oke: sistem kuorum sudah siap.
ok: jalankan: /opt/LifeKeeper/etc/service/qwk-storage: (pid 14705) 1s, biasanya down
Berhasil.
Langkah 5: Validasi Konfigurasi:
Konfigurasi dapat divalidasi dengan menjalankan perintah berikut:
/opt/Penjaga Kehidupan/bin/lktest
Jika ditemukan kesalahan, kesalahan tersebut akan dicetak ke terminal untuk Anda. Pada contoh di bawah, saya belum mengganti karakter khusus di nama host saya sehingga disorot bahwa penyimpanan tidak dapat ditemukan.
[root@server1-LK ~]# /opt/LifeKeeper/bin/lktest
/opt/LifeKeeper/bin/lktest: /etc/default/LifeKeeper[308]: QWK_STORAGE_OBJECT_server1_LK.localdomain=/nfs/general/nodeA: tidak ditemukan
/opt/LifeKeeper/bin/lktest: /etc/default/LifeKeeper[309]: QWK_STORAGE_OBJECT_server2_LK.localdomain=/nfs/general/nodeB: tidak ditemukan
FS UID PID PPID C CLS PRI NI SZ WAKTU WAKTU CMD
Akar 4 S 2348 873 0 TS 39 -20 7656 15:49 00:00:00 lcm
Akar 4 S 2388 882 0 TS 39 -20 59959 15:49 00:00:00 ttymonlcm
Akar 4 S 2392 872 0 TS 29 -10 10330 15:49 00:00:00 layar
4 S root 8591 8476 0 TS 19 0 7670 15:58 00:00:00 lcdremexec -d server2-LK.localdomain -e — cat /proc/mdstat
Anda juga dapat mengonfirmasi bahwa file saksi sedang diperbarui melalui baris perintah seperti:
[root@server1-LK ~]# cat /nfs/general/nodeA
tanda tangan=penjaga kehidupan_qwk_object
local_node=server1-LK.domain lokal
waktu=Kam 15 Februari 14:10:56 2024
urutan=157
simpul=server2-LK.domain lokal
commstat=ATAS
jumlah periksa=13903688106811808601
Saksi Berbagi File yang Berhasil Menggunakan NFS
Menyiapkan saksi berbagi file menggunakan NFS itu mudah! Ini bisa menjadi sangat berguna jika Anda dibatasi pada dua node namun memerlukan ketahanan yang lebih baik terhadap peristiwa-peristiwa yang terjadi di otak yang terbelah, terutama di cloud tempat Anda dapat memanfaatkan sesuatu seperti EFS AWS… Bagian penting lainnya adalah memanfaatkan lebih banyak jalur komunikasi, tetapi itu adalah blog yang berbeda. Namun, dengan mengikuti langkah-langkah yang diuraikan dalam panduan ini, Anda dapat meningkatkan ketahanan aplikasi terklaster dan meminimalkan risiko waktu henti. Selalu rujuk kedokumentasi SIOSdan praktik terbaik untuk panduan lebih lanjut dan pengoptimalan penyiapan ketersediaan tinggi Anda. Ini tersedia untuk umum dan sangat komprehensif!
Ketersediaan Tinggi SIOS dan Pemulihan Bencana
SIOS Technology Corporation menyediakanketersediaan tinggiDanPemulihan bencanaproduk yang melindungi & mengoptimalkan infrastruktur TI dengan manajemen cluster untuk aplikasi terpenting Anda. Hubungi kami hari iniuntuk informasi lebih lanjut tentang layanan dan dukungan profesional kami.
Direproduksi dengan izin dariSIOS