本文主要是介绍centos9 stream安装nfs服务器并实现windows客户端挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
NFS是Network File System的简写,即网络文件系统. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS服务是C/S架构的服务。
以下为通用的安装步骤:
1、服务端软件安装
服务端需要nfs-utils和rpcbind两个软件
安装命令如下所示:
yum -y install nfs-utils rpcbind
对于开启了防火墙的服务器,需要开启对应的端口放行才能正常使用相关服务,可参照其他文档资料,这里不再详述。
2、检查和启动服务:
nfs服务运行需要保证rpcbind.service和nfs-server.service两个服务是正常运行状态
使用以下两条命令查看服务的运行状态
systemctl status rpcbind.service
systemctl status nfs-server.service
使用以下两条命令启动和开机启动服务
systemctl enable rpcbind && systemctl start rpcbind
systemctl enable nfs-server && systemctl start nfs-server
3、创建共享目录并修改配置文件
以下是创建共享目录命令
mkdir -p /data/nfs
chmod 777 /data/nfs
为了避免windows系统客户端连接时出现的问题,可以给共享目录赋予777权限(在公开网络中不建议使用)
接下来编辑配置文件,加入对应共享目录等配置,命令及相关说明如下所示:
vim /etc/exports /data/nfs 172.17.111.0/24(rw,no_root_squash,no_all_squash,sync)常见的参数则有:
参数值 内容说明
rw ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
no_root_squash root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
anonuid anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。
使用下面的命令使配置生效
exportfs -r
使用下面的命令查看RPC服务的注册情况
rpcinfo -p localhost
以下是演示服务器显示内容
program vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper100000 2 tcp 111 portmapper100000 4 udp 111 portmapper100000 3 udp 111 portmapper100000 2 udp 111 portmapper100005 1 udp 20048 mountd100005 1 tcp 20048 mountd100005 2 udp 20048 mountd100005 2 tcp 20048 mountd100005 3 udp 20048 mountd100005 3 tcp 20048 mountd100024 1 udp 58344 status100024 1 tcp 46691 status100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100227 3 tcp 2049 nfs_acl100021 1 udp 54893 nlockmgr100021 3 udp 54893 nlockmgr100021 4 udp 54893 nlockmgr100021 1 tcp 39389 nlockmgr100021 3 tcp 39389 nlockmgr100021 4 tcp 39389 nlockmgr
可以使用以下命令来查看服务是否已经正常运行
showmount -e localhost
以下是演示服务器显示内容及相关参数说明
Export list for localhost:
/data/nfsdir 10.168.186.0/24选项与参数:
-a :显示目前主机与客户端的 NFS 联机分享的状态;
-e :显示某部主机的 /etc/exports 所分享的目录数据。
4、linux客户端相关配置
安装相关客户端软件
centos系统使用如下命令:
yum -y install nfs-utils
ubuntu系统使用如下命令:
sudo apt install nfs-common
创建挂载目录、查看挂载对象、挂载共享盘
以下是对应的命令:
mkdir /data/testnfs #创建挂载目录
showmount -e 10.168.188.226 #显示可挂载的目录
mount -t nfs 10.168.188.226:/data/nfs /data/testnfs #挂载对应目录
df -h #查看挂载结果
umount /data/testnfs #卸载已经挂载的目录
以下是测试服务器的相关测试数据:
showmount -e 10.168.188.226
Export list for 10.168.188.226:
/data/nfsdir 10.168.188.0/24,10.168.186.0/24df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 3.9G 0 3.9G 0% /dev
tmpfs 788M 3.4M 785M 1% /run
/dev/sda1 116G 28G 82G 26% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop4 56M 56M 0 100% /snap/core18/2560
/dev/loop3 219M 219M 0 100% /snap/gnome-3-34-1804/77
/dev/loop7 62M 62M 0 100% /snap/core20/1611
/dev/loop8 219M 219M 0 100% /snap/gnome-3-34-1804/72
/dev/loop9 401M 401M 0 100% /snap/gnome-3-38-2004/112
/dev/loop10 347M 347M 0 100% /snap/gnome-3-38-2004/115
/dev/loop12 82M 82M 0 100% /snap/gtk-common-themes/1534
/dev/loop14 92M 92M 0 100% /snap/gtk-common-themes/1535
tmpfs 788M 16K 788M 1% /run/user/124
/dev/loop15 64M 64M 0 100% /snap/core20/1623
/dev/loop5 46M 46M 0 100% /snap/snap-store/592
/dev/loop13 56M 56M 0 100% /snap/core18/2566
/dev/loop6 115M 115M 0 100% /snap/core/13741
/dev/loop1 46M 46M 0 100% /snap/snap-store/599
/dev/loop11 115M 115M 0 100% /snap/core/13886
tmpfs 788M 4.0K 788M 1% /run/user/1000
10.168.188.226:/data/nfsdir 9.1T 5.8T 3.4T 63% /home/fd-ubt1910/myavs/testnfs
5、windows客户端相关配置
首页安装nfs客户端,如下图所示:
然后添加网盘
添加成功后在“我的电脑”中显示对应盘符
6、解决在windows中创建的文件linux服务器中显示的用户名和组名是数字的问题
由于windows的nfs客户端的默认uid和gid为-2,而在linux系统中并不存在,所以会显示为数字,可以通过在windows系统中修改注册表的方式来解决此问题,以下是注册表文件adduid.reg内容
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default]
"AnonymousUid"=dword:00000000
"AnonymousGid"=dword:00000000
运行脚本以后,重启系统即可修复问题。
以上为Centos系统下NFS服务器的搭建过程,并已测试正常运行。
这篇关于centos9 stream安装nfs服务器并实现windows客户端挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!