ฉันใช้ระบบไฟล์ Spectrum Scale บน RHEL8 ที่ส่งออกผ่าน NFSv3 ส่วน HA ดำเนินการโดย ctdb โดยใช้ 4 โหนด (แอคทีฟ-แอคทีฟ) ตามคำแนะนำการกำหนดค่านี้โดยผู้ใช้ samba/ctdb: https://wiki.samba.org/index.php/Setting_up_CTDB_for_Clustered_NFS.
ใน nfs.conf มีเส้นทางไดเร็กทอรีสถานะสำหรับ statd ซึ่งชี้ไปยังไดเร็กทอรีบนระบบไฟล์ Spectrum Scale ที่ใช้ร่วมกัน:
state-directory-path=/shared/.hadata/nfs/statd
ตอนนี้ ในส่วน mountd มีพารามิเตอร์ไดเร็กทอรีสถานะด้วย แต่มันถูกแสดงความคิดเห็น/ไม่ได้ใช้:
#state-directory-path=/var/lib/nfs
คน rpc.mountd
รัฐ:
-s, --state-directory-path ไดเร็กทอรี
ระบุไดเร็กทอรีที่จะวางข้อมูลสถานะ (etab และ rmtab) หากไม่ได้ระบุอ็อพชันนี้ ค่าดีฟอลต์ของ /var/lib/nfs จะถูกใช้
พารามิเตอร์นี้คือ ไม่ ตั้งค่าสร้างไดเร็กทอรีในเครื่อง /var/lib/nfs
ใช้สำหรับไฟล์เหล่านั้น ฉันสงสัยว่าทำไม จากความเข้าใจของฉัน การมีไฟล์ทั้งสองไฟล์ในที่เก็บข้อมูลที่ใช้ร่วมกันจะช่วยรักษา rmtab ที่สะอาด (เอ้อ) และป้องกันไม่ให้โหนดมีการส่งออกที่ไม่สอดคล้องกัน
สำหรับการอ้างอิง nfs.conf ที่สมบูรณ์ของฉัน:
[ทั่วไป]
[ส่งออก]
[gssd]
ใช้-gss-proxy=1
[ล็อค]
พอร์ต=55599
udp-พอร์ต=55599
[เมาท์]
จัดการ-gids=1
พอร์ต=55597
เธรด = 40
[nfsdcld]
[nfsdcltrack]
[nfsd]
เธรด = 768
vers3=y
vers4=น
vers4.0=น
vers4.1=น
vers4.2=น
[สถานะ]
พอร์ต=55595
ขาออกพอร์ต = 55596
ชื่อ = myfs
state-directory-path=/shared/.hadata/nfs/statd
ha-callout=/etc/ctdb/statd-callout
[sm-แจ้งเตือน]