Dự án

Tổng quan

Hồ sơ

Task #999

Cập nhật bởi Tùng Nguyễn cách đây 4 tháng

Mục tiêu: Test tính năng NFs multipath cho cephfs, test khả năng HA khi kết nối multipath xem client có read/write data bình thường khi 1 NFS GW bị lỗi. 
 Tài liệu tham khảo: 
 https://jtlayton.wordpress.com/2018/12/10/deploying-an-active-active-nfs-cluster-over-cephfs/ 

 Mô hình: 
 https://app.diagrams.net/#G1X_YO4-27NhNHR6IFqTAFhIKc6HIDmilN#%7B%22pageId%22%3A%22QqLJz_UdY43cYynGRTPI%22%7D 

 ==== 
 Cấu hình NFS-GW 
 OS: Ubuntu 22.04 
 package: nfs-ganesha nfs-ganesha-ceph nfs-ganesha-rados-grace version 3.5 

 === 
 Kết quả: 
 Cấu hình tạo rados_kv với 3 server nfs-ganesha, recovery pool sử dụng chung pool cephfs_metadata_12t 
 ![](clipboard-202407301730-6skzm.png) 

 Test thử stop service nfs-ganesha trên nfs-ganesha7 thì các GW khác chuyển về trạng thái IN GRACE và gắn flag Enforcing sẽ reject hết tất cả request của client làm treo client kết nối.  
 ![](clipboard-202407301732-ezo8b.png) 

 Khi start lại service nfs-ganesha7 thì client kết nối lại bình thường. 

 === 
 Thực hiện test lại với version 4.3-1 nhưng vẫn chưa được 
 ![](clipboard-202408010932-avlcb.png) 

 === 
 1/8 thử test trên OS Fedora 40 nfs-ganesha 5.9 nhưng chưa được 
 === 
 2/8  
 Với mô hình active-active cephfs thì có thể sử dụng RecoveryBackend = rados_cluster, khai báo 1 pool ceph lưu thông tin IO của client kết nối đến 1 NFS Ganesha GW. Hiện sử dụng mode active-active sẽ không tận dụng được tính năng HA. Khi 1 NFS-GW bị down thì các GW khác sẽ reject request của tất cả client nhưng sau 90s thì thoát khỏi Grace Period state nên khiến treo Client. 
 - Chuyển qua sử dụng mode Active-Standby (RecoveryBackend = rados_ng;), sau 90s NFs-GW down, sẽ có 1 GW khác reclaim lại connection trước đó với client để tiếp tục sử dụng. 
 ![](clipboard-202408050849-gzna0.png) 

Quay lại