Tôi đang cố gắng triển khai Kiến trúc cụm HA NFS với PCS trên Rocky Linux 8.5. Các phiên bản gói liên quan đến hạt nhân và nfs hiện tại, cấu hình máy tính được hiển thị chi tiết bên dưới.
Tôi không thể khai báo IP cụ thể cho các phiên bản NFSD (rpc.statd, rpc.mountd, v.v.) để liên kết. Dù tôi làm gì, các dịch vụ vẫn ràng buộc 0.0.0.0:$default-port
.
Tôi muốn khởi tạo "ocf:Hearthbeat:nfsserver" khác với tài nguyên VirtualIP cụ thể cho mỗi nhóm tài nguyên (khối) NFS của tôi. Khi tôi khai báo nhóm tài nguyên chia sẻ NFS thứ hai trên cùng một nút của cụm (nơi tôi dự định có nhiều NFS hơn kích thước cụm), các tài nguyên "ocf:Hearthbeat:nfsserver" sẽ chặn lẫn nhau và một tài nguyên chiến thắng và tài nguyên kia được đưa vào sang trạng thái "bị chặn".
[root@node1 ~]# uname -a
Linux node1.local 4.18.0-348.12.2.el8_5.x86_64 #1 SMP Thứ tư ngày 19 tháng 1 17:53:40 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@node1 ~]# rpm -qa nfs* rpc*
nfs-utils-2.3.3-46.el8.x86_64
rpcbind-1.2.5-8.el8.x86_64
[root@node1 ~]#
Trạng thái cụm PCS
[root@node1 ~]# trạng thái chiếc
Tên cụm: cụm01
Tóm tắt cụm:
* Ngăn xếp: corosync
* DC hiện tại: node5 (phiên bản 2.1.0-8.el8-7c3f660707) - phân vùng có đại biểu
* Cập nhật lần cuối: Thứ 5 ngày 24 tháng 3 13:10:09 2022
* Thay đổi lần cuối: Thứ Năm ngày 24 tháng 3 13:03:48 2022 bởi root thông qua crm_resource trên nút3
* 5 nút được cấu hình
* 5 phiên bản tài nguyên được định cấu hình
Danh sách nút:
* Trực tuyến: [ nút1 nút2 nút3 nút4 nút5 ]
Danh sách đầy đủ các tài nguyên:
* Nhóm tài nguyên: Group_SHARE:
* ROOT-FS_SHARE (ocf::heartbeat:Filesystem): Bắt đầu node2
* NFSD_SHARE (ocf::heartbeat:nfsserver): Bắt đầu node2
* NFS_SHARE (ocf::heartbeat:exportfs): Bắt đầu node2
* NFS-IP_SHARE (ocf::heartbeat:IPaddr2): Bắt đầu nút2
* NFS-NOTIFY_SHARE (ocf::heartbeat:nfsnotify): Bắt đầu nút2
Trạng thái daemon:
corosync: đang hoạt động/đã bật
máy tạo nhịp tim: đang hoạt động/đã bật
pcsd: đang hoạt động/đã bật
[root@node1 ~]#
Đầu ra cấu hình tài nguyên PCS
[root@node2 ~]# cấu hình tài nguyên chiếc
Nhóm: Nhóm_SHARE
Tài nguyên: ROOT-FS_SHARE (lớp=ocf nhà cung cấp=loại nhịp tim=Hệ thống tệp)
Thuộc tính: device=/dev/disk/by-id/wwn-0x6001405ce6b7033688d497a91aa23547 directory=/srv/block/SHARE fstype=xfs
Hoạt động: khoảng thời gian màn hình = thời gian chờ 20 giây = 40 giây (ROOT-FS_SHARE-monitor-interval-20s)
khoảng thời gian bắt đầu = thời gian chờ 0 giây = 60 giây (ROOT-FS_SHARE-start-interval-0s)
khoảng thời gian dừng = thời gian chờ 0 giây = 60 giây (ROOT-FS_SHARE-stop-interval-0s)
Tài nguyên: NFSD_SHARE (lớp=ocf nhà cung cấp=loại nhịp tim=nfsserver)
Thuộc tính: nfs_ip=10.1.31.100 nfs_no_notify=true nfs_shared_infodir=/srv/block/SHARE/nfsinfo/
Hoạt động: khoảng thời gian theo dõi=10s thời gian chờ=20s (NFSD_SHARE-monitor-interval-10s)
khoảng thời gian bắt đầu=0s hết thời gian=40s (NFSD_SHARE-start-interval-0s)
khoảng thời gian dừng = thời gian chờ 0 giây = 20 giây (NFSD_SHARE-stop-interval-0s)
Tài nguyên: NFS_SHARE (class=ocf nhà cung cấp=heartbeat type=exportfs)
Thuộc tính: clientspec=10.1.31.0/255.255.255.0 thư mục=/srv/block/SHARE/SHARE fsid=0 options=rw,sync,no_root_squash
Hoạt động: khoảng thời gian theo dõi=10s thời gian chờ=20s (NFS_SHARE-monitor-interval-10s)
khoảng thời gian bắt đầu = thời gian chờ 0 giây = 40 giây (NFS_SHARE-khoảng thời gian bắt đầu-0 giây)
khoảng thời gian dừng = thời gian chờ 0 giây = 120 giây (NFS_SHARE-stop-interval-0s)
Tài nguyên: NFS-IP_SHARE (lớp=ocf nhà cung cấp=loại nhịp tim=IPaddr2)
Thuộc tính: cidr_netmask=24 ip=10.1.31.100 nic=team31
Hoạt động: khoảng thời gian theo dõi=30s (NFS-IP_SHARE-monitor-interval-30s)
khoảng thời gian bắt đầu=0s hết thời gian=20s (NFS-IP_SHARE-start-interval-0s)
khoảng thời gian dừng = thời gian chờ 0 giây = 20 giây (NFS-IP_SHARE-stop-interval-0s)
Tài nguyên: NFS-NOTIFY_SHARE (lớp=ocf nhà cung cấp=loại nhịp tim=nfsnotify)
Thuộc tính: source_host=SHARE.local
Hoạt động: khoảng thời gian theo dõi=thời gian chờ 30 giây=90 giây (NFS-NOTIFY_SHARE-monitor-interval-30s)
khoảng thời gian tải lại=thời gian chờ 0 giây=90 giây (NFS-NOTIFY_SHARE-reload-interval-0s)
khoảng thời gian bắt đầu = thời gian chờ 0 giây = 90 giây (NFS-NOTIFY_SHARE-start-interval-0s)
khoảng thời gian dừng = thời gian chờ 0 giây = 90 giây (NFS-NOTIFY_SHARE-stop-interval-0s)
[root@node2 ~]#
IP ảo được liên kết thành công trên node2
[root@node2 ~]# ip -4 addr show team31
6: team31: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 trạng thái qdisc noqueue UP nhóm mặc định qlen 1000
inet 10.1.31.2/24 brd 10.1.31.255 phạm vi toàn cầu noprefixroute team31
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet 10.1.31.100/24 brd 10.1.31.255 phạm vi nhóm phụ toàn cầu31
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
[root@node2 ~]#
TCP NGHE Ràng buộc
[root@node2 ~]# netstat -punta | grep NGHE
tcp 0 0 0.0.0.0:2049 0.0.0.0:* NGHE -
tcp 0 0 127.0.0.1:44321 0.0.0.0:* NGHE 1803/pmcd
tcp 0 0 0.0.0.0:34661 0.0.0.0:* NGHE 630273/rpc.statd
tcp 0 0 127.0.0.1:199 0.0.0.0:* NGHE 1257/snmpd
tcp 0 0 127.0.0.1:4330 0.0.0.0:* NGHE 2834/pmlogger
tcp 0 0 10.20.101.136:2379 0.0.0.0:* NGHE 3285/etcd
tcp 0 0 10.20.101.136:2380 0.0.0.0:* NGHE 3285/etcd
tcp 0 0 0.0.0.0:111 0.0.0.0:* NGHE 1/systemd
tcp 0 0 0.0.0.0:20048 0.0.0.0:* NGHE 630282/rpc.mountd
tcp 0 0 0.0.0.0:80 0.0.0.0:* NGHE 317707/nginx: maste
tcp 0 0 0.0.0.0:2224 0.0.0.0:* NGHE 3725/platform-pytho
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 1170/sshd
tcp 0 0 0.0.0.0:41017 0.0.0.0:* NGHE -
tcp 0 0 0.0.0.0:443 0.0.0.0:* NGHE 317707/nginx: maste
tcp 0 0 0.0.0.0:35261 0.0.0.0:* NGHE -
tcp6 0 0 :::2049 :::* NGHE -
tcp6 0 0 ::1:44321 :::* NGHE 1803/pmcd
tcp6 0 0 ::1:4330 :::* NGHE 2834/pmlogger
tcp6 0 0 :::111 :::* NGHE 1/systemd
tcp6 0 0 :::20048 :::* NGHE 630282/rpc.mountd
tcp6 0 0 :::2224 :::* NGHE 3725/platform-pytho
tcp6 0 0 :::37329 :::* NGHE -
tcp6 0 0 :::22 :::* NGHE 1170/sshd
tcp6 0 0 :::41179 :::* NGHE 630273/rpc.statd
tcp6 0 0 :::43487 :::* NGHE -
[root@node2 ~]#
Tài nguyên cụm PCS (định dạng cib.xml, trong trường hợp bạn cần tìm hiểu sâu)
<resources>
<group id="Group_SHARE">
<primitive class="ocf" id="ROOT-FS_SHARE" provider="heartbeat" type="Filesystem">
<instance_attributes id="ROOT-FS_SHARE-instance_attributes">
<nvpair id="ROOT-FS_SHARE-instance_attributes-device" name="device" value="/dev/disk/by-id/wwn-0x6001405ce6b7033688d497a91aa23547"/>
<nvpair id="ROOT-FS_SHARE-instance_attributes-directory" name="directory" value="/srv/block/SHARE"/>
<nvpair id="ROOT-FS_SHARE-instance_attributes-fstype" name="fstype" value="xfs"/>
</instance_attributes>
<operations>
<op id="ROOT-FS_SHARE-monitor-interval-20s" interval="20s" name="monitor" timeout="40s"/>
<op id="ROOT-FS_SHARE-start-interval-0s" interval="0s" name="start" timeout="60s"/>
<op id="ROOT-FS_SHARE-stop-interval-0s" interval="0s" name="stop" timeout="60s"/>
</operations>
</primitive>
<primitive class="ocf" id="NFSD_SHARE" provider="heartbeat" type="nfsserver">
<instance_attributes id="NFSD_SHARE-instance_attributes">
<nvpair id="NFSD_SHARE-instance_attributes-nfs_ip" name="nfs_ip" value="10.1.31.100"/>
<nvpair id="NFSD_SHARE-instance_attributes-nfs_no_notify" name="nfs_no_notify" value="true"/>
<nvpair id="NFSD_SHARE-instance_attributes-nfs_shared_infodir" name="nfs_shared_infodir" value="/srv/block/SHARE/nfsinfo/"/>
</instance_attributes>
<operations>
<op id="NFSD_SHARE-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
<op id="NFSD_SHARE-start-interval-0s" interval="0s" name="start" timeout="40s"/>
<op id="NFSD_SHARE-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
</operations>
</primitive>
<primitive class="ocf" id="NFS_SHARE" provider="heartbeat" type="exportfs">
<instance_attributes id="NFS_SHARE-instance_attributes">
<nvpair id="NFS_SHARE-instance_attributes-clientspec" name="clientspec" value="10.1.31.0/255.255.255.0"/>
<nvpair id="NFS_SHARE-instance_attributes-directory" name="directory" value="/srv/block/SHARE/SHARE"/>
<nvpair id="NFS_SHARE-instance_attributes-fsid" name="fsid" value="0"/>
<nvpair id="NFS_SHARE-instance_attributes-options" name="options" value="rw,sync,no_root_squash"/>
</instance_attributes>
<operations>
<op id="NFS_SHARE-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
<op id="NFS_SHARE-start-interval-0s" interval="0s" name="start" timeout="40s"/>
<op id="NFS_SHARE-stop-interval-0s" interval="0s" name="stop" timeout="120s"/>
</operations>
</primitive>
<primitive class="ocf" id="NFS-IP_SHARE" provider="heartbeat" type="IPaddr2">
<instance_attributes id="NFS-IP_SHARE-instance_attributes">
<nvpair id="NFS-IP_SHARE-instance_attributes-cidr_netmask" name="cidr_netmask" value="24"/>
<nvpair id="NFS-IP_SHARE-instance_attributes-ip" name="ip" value="10.1.31.100"/>
<nvpair id="NFS-IP_SHARE-instance_attributes-nic" name="nic" value="team31"/>
</instance_attributes>
<operations>
<op id="NFS-IP_SHARE-monitor-interval-30s" interval="30s" name="monitor"/>
<op id="NFS-IP_SHARE-start-interval-0s" interval="0s" name="start" timeout="20s"/>
<op id="NFS-IP_SHARE-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
</operations>
</primitive>
<primitive class="ocf" id="NFS-NOTIFY_SHARE" provider="heartbeat" type="nfsnotify">
<instance_attributes id="NFS-NOTIFY_SHARE-instance_attributes">
<nvpair id="NFS-NOTIFY_SHARE-instance_attributes-source_host" name="source_host" value="SHARE.local"/>
</instance_attributes>
<operations>
<op id="NFS-NOTIFY_SHARE-monitor-interval-30s" interval="30s" name="monitor" timeout="90s"/>
<op id="NFS-NOTIFY_SHARE-reload-interval-0s" interval="0s" name="reload" timeout="90s"/>
<op id="NFS-NOTIFY_SHARE-start-interval-0s" interval="0s" name="start" timeout="90s"/>
<op id="NFS-NOTIFY_SHARE-stop-interval-0s" interval="0s" name="stop" timeout="90s"/>
</operations>
</primitive>
</group>
</resources>
CHỈNH SỬA-1
Dường như OpenClusterFramework - tài nguyên nfsserver hoàn toàn không sử dụng trường nfs_ip cho "rpc.nfsd -H $nfs_ip". Trên RockyLinux 8.5, tài nguyên này cũng không cho phép chúng tôi ghi đè hành vi mặc định hỗ trợ từng phiên bản NFS. RockyLinux 8.5 sử dụng các gói sau resource-agents-4.1.1-98.el8_5.2.x86_64.
Tôi sẽ cố gắng giải quyết vấn đề của mình bằng cách chỉ định tài nguyên hệ thống máy tính tùy chỉnh cho [email protected]