我正在尝试部署 PNFS 设置。已设置客户端正在与之通信的 MDS。/proc/self/mountstats 显示挂载已启用 pnfs。我找不到有关如何在 MDS 上配置数据服务器 (DS) 列表的任何文档。我想在与 MDS 不同的机器上运行 DS。我如何向 MDS 提供 DS ip 地址和存储路径?我已看到以下链接,但那里没有此信息:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/storage_administration_guide/ch09s02 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/nfs-pnfs
过时的设置步骤 -https://wiki.linux-nfs.org/wiki/index.php?title=PNFS_Setup_Instructions&oldid=5568
到目前为止我有以下设置 - 我使用 Ubuntu 18.04 作为元数据服务器(MDS)。
root@ubuntu1804:/etc# uname -a
Linux ubuntu1804 4.15.0-45-generic
我已经通过使用“pnfs”导出根文件系统来配置它使用 pnfs。
root@ubuntu1804:/etc# cat /etc/exports
/srv *(rw,sync,fsid=0,no_subtree_check,no_root_squash,pnfs)
支持 FlexFile 布局作为 NFS v4.1 客户端的 centos 7.5 系统。我将导出的文件系统挂载为 -
# mount -t nfs -o v4.1 -o rw <nfs-server-ip>:/ /mnt/
mountstats 显示 pnfs 已启用
# cat /proc/self/mountstats
device nfsd mounted on /proc/fs/nfsd with fstype nfsd device <server-ip>:/ mounted on /mnt with fstype nfs4
statvers=1.1
opts: rw,vers=4.1,rsize=524288,wsize=524288,namlen=255,acregmin=3,acregmax=60,acdirmin=30,acdirmax=60,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.122.5,local_lock=none
age: 45
impl_id: name='',domain='',date='0,0'
caps: caps=0x3ffdf,wtmult=512,dtsize=32768,bsize=0,namlen=255
nfsv4: bm0=0xfdffbfff,bm1=0x40f9be3e,bm2=0x803,acl=0x3,sessions,pnfs=LAYOUT_FLEX_FILES
答案1
我查看了 linux-nfs 邮件列表,他们确认使用 flexfile 布局无法实现这一点。上游 linux knfsd 服务器目前仅支持非常简单的 flexfiles 布局,其中 MDS 和 DS 是同一台服务器,因此无法(从 4.20 内核版本开始)配置 knfsd 以提供指向其他 DS 服务器的 flexfiles 布局。