คำแนะนำทีละขั้นตอนในการตั้งค่าพยานไฟล์ NFS ด้วย SIOS LifeKeeper บน Linux
เริ่มต้นใช้งาน SIOS Lifekeeper และพยานไฟล์ที่ใช้ NFS
ในการทำคลัสเตอร์ความพร้อมใช้งานสูงพยานมีบทบาทสำคัญในการรับรองความสมบูรณ์และความน่าเชื่อถือของคลัสเตอร์ โดยไม่ต้องโหนดที่ 3อาจเป็นเรื่องยากที่จะบรรลุองค์ประชุมเนื่องจากไม่มีข้อมูลที่จะช่วยทำลายความสัมพันธ์ที่โหนดทั้งสองคิดว่าควรจะใช้งานได้ (ซึ่งเรียกว่าสมองแตก– คุณสามารถแก้ไขปัญหานี้ได้หลายวิธี เช่น โดยการจัดหาเซิร์ฟเวอร์พยานเฉพาะ เส้นทางการจัดเก็บข้อมูลที่ใช้ร่วมกันที่คลัสเตอร์ทั้งหมดเห็น หรือเพียงแค่มีโหนดมากขึ้นในคลัสเตอร์เอง (ขั้นต่ำ 3!) โชคดีที่SIOS ไลฟ์คีปเปอร์นำเสนอโซลูชั่นที่มีประสิทธิภาพสำหรับการตั้งค่าคลัสเตอร์ที่มีความพร้อมใช้งานสูงบนสภาพแวดล้อม Linux และการกำหนดค่าพยานเพื่อปรับปรุงองค์ประชุมถือเป็นคุณสมบัติที่สำคัญ
ในคู่มือนี้ เราจะแนะนำคุณตลอดขั้นตอนในการตั้งค่าพยานไฟล์ที่ใช้ NFS ด้วย SIOS LifeKeeper บน Linux ซึ่งช่วยให้คุณปรับปรุงความพร้อมใช้งานและความยืดหยุ่นของแอปพลิเคชันแบบคลัสเตอร์ของคุณ
เป้าหมาย:
เพื่อให้ได้คลัสเตอร์แบบ 2 โหนดโดยใช้พยานหน่วยเก็บข้อมูลแบบ NFS ดังแสดงในแผนภาพด้านล่าง:
ข้อกำหนดเบื้องต้น: ก่อนที่จะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- เซิร์ฟเวอร์ Linux ได้รับการกำหนดค่าและเชื่อมต่อกับสิทธิ์ผู้ดูแลระบบ (เช่น การเข้าถึงรูท)
- SIOS LifeKeeper ได้รับการติดตั้งหรือดาวน์โหลดและพร้อมที่จะติดตั้งบนแต่ละเซิร์ฟเวอร์
- การแชร์ NFS สามารถเข้าถึงได้โดยเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์
ขั้นตอนที่ 1: ติดตั้ง/แก้ไข SIOS LifeKeeper:
เราจะต้องติดตั้ง LifeKeeper ในขั้นตอนนี้หรือทำการตั้งค่าใหม่เพื่อเพิ่มฟังก์ชันการทำงานของพยาน เว้นแต่คุณจะรวมไว้ก่อนหน้านี้แล้ว
ในกรณีของฉัน ฉันใช้ RHEL8.8 ดังนั้น ฉันจะติดตั้ง ISO ก่อนที่จะรันการตั้งค่าด้วยแพ็คเกจเสริมที่จำเป็นสำหรับ RHEL8.8
[root@server1-LK ~]# เมานต์ /root/sps.img /mnt/loop -t iso9660 -o ลูป
[root@server1-LK ~]# cd /mnt/loop/
[root@server1-LK วนรอบ]# ./setup –addHADR /root/HADR-RHAS-4.18.0-477.10.1.el8_8.x86_64.rpm
ส่วนที่สำคัญสำหรับจุดประสงค์ของเราคือการเปิดใช้งานฟังก์ชันพยานเหมือนในภาพหน้าจอด้านล่าง อย่างไรก็ตาม คุณจะต้องมีไฟล์ลิขสิทธิ์เพิ่มเติม ซึ่งคุณสามารถเพิ่มที่นี่หรือเพิ่มผ่านทางบรรทัดคำสั่งในภายหลังได้ตามดุลยพินิจของคุณ:
มิฉะนั้น ให้กำหนดค่า LifeKeeper ตามวัตถุประสงค์ของคุณ หรือหากกำหนดค่าไว้แล้ว เพียงดำเนินการตั้งค่าต่อเมื่อคุณได้รวมตัวเลือก “ใช้ฟังก์ชันองค์ประชุม / พยาน” แล้ว
หากคุณตัดสินใจที่จะเพิ่มใบอนุญาตผ่านทางบรรทัดคำสั่ง ให้เรียกใช้คำสั่งต่อไปนี้บนแต่ละโหนดในคลัสเตอร์ด้วยเส้นทางที่ถูกต้องไปยังไฟล์ใบอนุญาตของคุณ:
[root@server1-LK ~]# /opt/LifeKeeper/bin/lkkeyins /<path-to-license-file>l/quorum-disk.lic
ขั้นตอนที่ 2: ตั้งค่าและติดตั้งที่เก็บข้อมูลที่ใช้ร่วมกัน:
ตรวจสอบให้แน่ใจว่าคุณมีพื้นที่เก็บข้อมูลที่ใช้ร่วมกันซึ่งสามารถเข้าถึงได้โดยเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์ คุณสามารถตรวจสอบแต่ละเซิร์ฟเวอร์ได้โดยใช้คำสั่ง ‘mount’ หรือด้วย ‘findmnt’ เพื่อตรวจสอบว่าคุณได้ติดตั้งในเครื่องแล้ว:
[root@server1-LK วนซ้ำ]# เมานต์ | grep nfs
sunrpc บน /var/lib/nfs/rpc_pipefs พิมพ์ rpc_pipefs (rw, relatime)
172.16.200.254:/var/nfs/general บน /nfs/ประเภททั่วไป nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans= 2,sec=sys,clientaddr=172.16.205.151,local_lock=none,addr=172.16.200.254)
หรือ
[root@server1-LK ~]# findmnt -l /nfs/general
ตัวเลือก FSTYPE แหล่งที่มาเป้าหมาย
/nfs/ทั่วไป 172.16.200.254:/var/nfs/ทั่วไป nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,ยาก,proto=tcp,timeo=600,retrans=2,วินาที =sys,ไคลเอนต์addr=172.16.205.151,local_lock=none,addr=172.16.200.254
หากคุณยังคงจำเป็นต้องเมานต์การแชร์ด้วยตัวเอง โปรดทำตามขั้นตอนเหล่านี้:
ขั้นแรก ยืนยันว่าคุณสามารถดูการแชร์ NFS บนเซิร์ฟเวอร์โฮสต์ได้
[root@server1-LK ~]# showmount -e 172.16.200.254
รายการส่งออกสำหรับ 172.16.200.254:
/บ้าน 172.16.205.244,172.16.205.151
/var/nfs/ทั่วไป 172.16.205.244,172.16.205.151
ในกรณีของฉัน ฉันต้องการเมานต์การแชร์ ‘/var/nfs/general’
หากต้องการเมานต์การแชร์นี้ ขั้นแรกตรวจสอบให้แน่ใจว่าไดเร็กทอรีของคุณที่คุณวางแผนจะเมานต์นั้นมีอยู่ ถ้าไม่ ให้สร้างมันขึ้นมา:
[root@server1-LK ~]# mkdir -p /nfs/general
ตอนนี้คุณสามารถเมานต์การแชร์ได้ด้วยตนเองโดยใช้คำสั่งต่อไปนี้เพื่อยืนยันว่าคุณสามารถเชื่อมต่อได้ และใช้งานได้:
[root@server1-LK ~]# เมานต์ 172.16.200.254:/var/nfs/general /nfs/general
ท้ายที่สุด เมื่อพอใจแล้ว ให้เพิ่มจุดเมานต์ให้กับไฟล์ /etc/fstab ของคุณ เพื่อที่มันจะเมานต์ตอนบูท:
[root@server1-LK ~]# cat /etc/fstab
–
# /etc/fstab
# สร้างโดย anaconda เมื่อ พฤหัสบดี 25 ม.ค. 12:07:15 2024
–
# โดยการอ้างอิง ระบบไฟล์ที่สามารถเข้าถึงได้นั้นได้รับการดูแลภายใต้ ‘/dev/disk/’
# ดู man page fstab(5), findfs(8), mount(8) และ/หรือ blkid(8) สำหรับข้อมูลเพิ่มเติม
–
# หลังจากแก้ไขไฟล์นี้แล้ว ให้รัน ‘systemctl daemon-reload’ เพื่ออัปเดต systemd
# หน่วยที่สร้างจากไฟล์นี้
–
/dev/mapper/rhel-root / xfs ค่าเริ่มต้น 0 0
UUID=6b22cebf-8f1c-405b-8fa8-8f12e1b6b56c /boot xfs ค่าเริ่มต้น 0 0
/dev/mapper/rhel-swap none swap ค่าเริ่มต้น 0 0
#added สำหรับการแบ่งปัน NFS
172.16.200.254:/var/nfs/general /nfs/general nfs4 ค่าเริ่มต้น 0 0
ตอนนี้คุณสามารถยืนยันได้ว่ามันถูกเมาท์โดยใช้คำสั่ง mount:
[root@server1-LK ~]# mount -l | grep nfs
sunrpc บน /var/lib/nfs/rpc_pipefs พิมพ์ rpc_pipefs (rw, relatime)
172.16.200.254:/var/nfs/general บน /nfs/ประเภททั่วไป nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans= 2,sec=sys,clientaddr=172.16.205.151,local_lock=none,addr=172.16.200.254)
ดังที่คุณเห็นจากข้อความที่ไฮไลต์ด้านบน ตอนนี้ติดตั้งสำเร็จแล้ว ทำซ้ำบนเซิร์ฟเวอร์ทั้งหมดจนกว่าคุณจะแน่ใจว่าเซิร์ฟเวอร์ทั้งหมดมีการติดตั้งร่วมกันก่อนดำเนินการต่อ
ขั้นตอนที่ 4: ตรวจสอบชื่อโฮสต์ของคุณและกำหนดการตั้งค่า /etc/default/LifeKeeper:
คุณสามารถดูชื่อโฮสต์ที่ LifeKeeper ทราบสำหรับแต่ละเซิร์ฟเวอร์ของคุณโดยการรันคำสั่งต่อไปนี้บนแต่ละโหนด:
/opt/LifeKeeper/bin/lcduname
ตัวอย่างการตั้งค่าที่คุณต้องเพิ่มลงในไฟล์ /etc/default/LifeKeeper:
WITNESS_MODE=ที่เก็บข้อมูล
QWK_STORAGE_TYPE=ไฟล์
QWK_STORAGE_HBEATTIME=6
QWK_STORAGE_NUMHBEATS=9
QWK_STORAGE_OBJECT_server1_LK_localdomain=/nfs/ทั่วไป/nodeA
QWK_STORAGE_OBJECT_server2_LK_localdomain=/nfs/ทั่วไป/nodeB
สำหรับ ‘QWK_STORAGE_OBJECT_<server-name>’ คุณต้องประกาศสิ่งนี้สำหรับแต่ละโหนด และสร้างขึ้นโดยใช้ชื่อโฮสต์ของคุณตลอดจนเส้นทาง และตำแหน่งที่ต้องการของไฟล์พยานเอง
ควรสังเกตว่าหากชื่อโฮสต์มี “-” หรือ “.” ให้แทนที่ด้วยเครื่องหมายขีดล่าง “_” (เช่น lksios-1 → lksios_1 หรือ lksios-1.localdomain → lksios_1_localdomain )
ในตัวอย่างของฉัน ฉันมีชื่อโฮสต์ต่อไปนี้:
เซิร์ฟเวอร์1-LK.localdomain
server2-LK.localdomain
ซึ่งหมายถึงการเพิ่มคำจำกัดความ ‘QWK_STORAGE_OBJECT_’ ต่อไปนี้:
QWK_STORAGE_OBJECT_server1_LK_localdomain=/nfs/ทั่วไป/nodeA
QWK_STORAGE_OBJECT_server2_LK_localdomain=/nfs/ทั่วไป/nodeB
นอกจากนี้ เราจะต้องปรับการตั้งค่าอย่างใดอย่างหนึ่งที่มีอยู่ใน /etc/default/LifeKeeper:
QUORUM_MODE=ที่เก็บข้อมูล
เพื่อช่วยให้เข้าใจว่าเหตุใดเราจึงตั้งค่าทั้ง WITNESS_MODE และ QUORUM_MODE เป็นที่เก็บข้อมูล โปรดดูตารางต่อไปนี้:
รองรับการผสมผสานระหว่างโหมดองค์ประชุมและโหมดพยาน
LifeKeeper รองรับการรวมกันดังต่อไปนี้
QUORUM_MODE | |||||
ส่วนใหญ่ | tcp_remote | พื้นที่จัดเก็บ | ไม่มี/ปิด | ||
พยาน_MODE | รีโมท_ยืนยัน | รองรับ 3 โหนดขึ้นไป | รองรับ 3 โหนดขึ้นไป | ไม่รองรับ | รองรับ 3 โหนดขึ้นไป |
พื้นที่จัดเก็บ | ไม่รองรับ | ไม่รองรับ | รองรับระหว่าง 2 และ 4 โหนด | ไม่รองรับ | |
ไม่มี/ปิด | รองรับ 3 โหนดขึ้นไป | รองรับ 2 โหนดขึ้นไป | ไม่รองรับ | ได้รับการสนับสนุน |
เรามีคลัสเตอร์แบบสองโหนดที่ต้องการใช้ที่จัดเก็บข้อมูลภายนอกสำหรับองค์ประชุม ดังนั้นชุดค่าผสมที่รองรับเพียงอย่างเดียวคือ ‘ที่เก็บข้อมูล’ สำหรับทั้งสองค่า อย่างไรก็ตาม คุณสามารถดูได้จากตารางว่าความยืดหยุ่นนี้จะเป็นอย่างไรเมื่อคุณต้องการโหนดมากขึ้น ซึ่งนำเสนอวิธีต่างๆ มากมายในการบรรลุการสื่อสารและจัดเตรียมองค์ประชุม
ขั้นตอนที่ 4: เริ่มต้นไฟล์พยาน:
ในการเริ่มต้นไฟล์พยานและเปิดใช้งาน คุณต้องรันคำสั่งต่อไปนี้บนแต่ละโหนด:
[root@server1-LK ~]# /opt/LifeKeeper/bin/qwk_storage_init
มันจะหยุดชั่วคราวเมื่อรันจนกว่าแต่ละโหนดจะเสร็จสมบูรณ์ ดังนั้นให้รันคำสั่งบนโหนดแรกในคลัสเตอร์ จากนั้นโหนดที่สอง และต่อไปเรื่อยๆ ก่อนที่จะกลับมาตรวจสอบว่าคำสั่งเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด
ตัวอย่าง:
[root@server1-LK ~]# /opt/LifeKeeper/bin/qwk_storage_init
ตกลง: LifeKeeper กำลังทำงานอยู่
ตกลง: ติดตั้งรหัสลิขสิทธิ์ LifeKeeper สำเร็จแล้ว
ตกลง: พารามิเตอร์ QWK ถูกต้อง
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeA ยังไม่พร้อมใช้งาน
/nfs/general/nodeA มีอยู่แล้วเนื่องจากไม่ใช่ QWK_STORAGE_OBJECT: เขียนทับหรือไม่ (ใช่/ไม่ใช่): ใช่
ตกลง: เส้นทางของวัตถุ QWK ถูกต้อง
ตกลง: ลง: /opt/LifeKeeper/etc/service/qwk-storage: 1377s
ตกลง: การเริ่มต้นวัตถุ QWK ของโหนดของตัวเองเสร็จสมบูรณ์
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
อ็อบเจ็กต์ QWK ของ /nfs/general/nodeB ยังไม่พร้อมใช้งาน
ตกลง: ระบบองค์ประชุมพร้อมแล้ว
ตกลง: วิ่ง: /opt/LifeKeeper/etc/service/qwk-storage: (pid 14705) 1 วินาที ปกติจะหยุดทำงาน
ประสบความสำเร็จ.
ขั้นตอนที่ 5: ตรวจสอบการกำหนดค่า:
สามารถตรวจสอบการกำหนดค่าได้โดยการรันคำสั่งต่อไปนี้:
/opt/LifeKeeper/bin/lktest
หากพบข้อผิดพลาดใดๆ ข้อผิดพลาดเหล่านั้นจะถูกพิมพ์ไปที่เครื่องเทอร์มินัลให้คุณ ในตัวอย่างด้านล่าง ฉันไม่ได้เปลี่ยนอักขระพิเศษในชื่อโฮสต์ของฉัน ดังนั้นจึงเน้นว่าไม่พบที่เก็บข้อมูล
[root@server1-LK ~]# /opt/LifeKeeper/bin/lktest
/opt/LifeKeeper/bin/lktest: /etc/default/LifeKeeper[308]: QWK_STORAGE_OBJECT_server1_LK.localdomain=/nfs/general/nodeA: ไม่พบ
/opt/LifeKeeper/bin/lktest: /etc/default/LifeKeeper[309]: QWK_STORAGE_OBJECT_server2_LK.localdomain=/nfs/general/nodeB: ไม่พบ
FS UID PID PPID C CLS PRI NI SZ STIME เวลา CMD
4 สรูท 2348 873 0 TS 39 -20 7656 15:49 00:00:00 lcm
4 S รูท 2388 882 0 TS 39 -20 59959 15:49 00:00:00 ttymonlcm
4 S รูต 2392 872 0 TS 29 -10 10330 15:49 00:00:00 จอแอลซีดี
4 S รูท 8591 8476 0 TS 19 0 7670 15:58 00:00:00 lcdremexec -d server2-LK.localdomain -e — cat /proc/mdstat
คุณยังสามารถยืนยันได้ว่าไฟล์พยานกำลังได้รับการอัปเดตผ่านทางบรรทัดคำสั่งดังนี้:
[root@server1-LK ~]# cat /nfs/general/nodeA
ลายเซ็น=ผู้ช่วยชีวิต_qwk_object
local_node=server1-LK.localdomain
เวลา=พฤ. 15 ก.พ. 14:10:56 น. 2567
ลำดับ=157
โหนด=server2-LK.localdomain
comstat=UP
เช็คซัม=13903688106811808601
พยานการแบ่งปันไฟล์ที่ประสบความสำเร็จโดยใช้ NFS
การตั้งค่าพยานการแชร์ไฟล์โดยใช้ NFS เป็นเรื่องง่าย! อาจมีประสิทธิภาพได้หากคุณถูกจำกัดไว้เพียงสองโหนด แต่ต้องการความยืดหยุ่นที่ดีกว่าในเหตุการณ์แบบแบ่งสมอง โดยเฉพาะอย่างยิ่งในระบบคลาวด์ที่คุณสามารถใช้ประโยชน์จากบางอย่าง เช่น EFS ของ AWS ได้… ส่วนที่สำคัญอีกประการหนึ่งคือการใช้เส้นทางการสื่อสารมากขึ้น แต่นั่นเป็นบล็อกอื่น อย่างไรก็ตาม ด้วยการทำตามขั้นตอนที่ระบุไว้ในคู่มือนี้ คุณจะสามารถเพิ่มความยืดหยุ่นของแอปพลิเคชันแบบคลัสเตอร์ของคุณและลดความเสี่ยงของการหยุดทำงานได้ อ้างถึงเสมอเอกสาร SIOSและแนวทางปฏิบัติที่ดีที่สุดสำหรับคำแนะนำเพิ่มเติมและการเพิ่มประสิทธิภาพการตั้งค่าความพร้อมใช้งานสูงของคุณ เปิดเผยต่อสาธารณะและครอบคลุมอย่างยิ่ง!
SIOS ความพร้อมใช้งานสูงและการกู้คืนความเสียหาย
SIOS เทคโนโลยี คอร์ปอเรชั่น จัดให้ความพร้อมใช้งานสูงและการกู้คืนระบบผลิตภัณฑ์ที่ปกป้องและเพิ่มประสิทธิภาพโครงสร้างพื้นฐานด้านไอทีด้วยการจัดการคลัสเตอร์สำหรับแอปพลิเคชันที่สำคัญที่สุดของคุณติดต่อเราวันนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการและการสนับสนุนอย่างมืออาชีพของเรา
ทำซ้ำโดยได้รับอนุญาตจากSIOS