• 售前

  • 售后

热门帖子
入门百科

CentOS 7中搭建NFS文件共享存储服务的完备步骤

[复制链接]
yhzdmb342 显示全部楼层 发表于 2021-10-25 19:41:33 |阅读模式 打印 上一主题 下一主题
媒介
NFS(Network File System)意为网络文件体系,它最大的功能就是可以通过网络,让不同的呆板不同的使用体系可以共享彼此的文件。简单的讲就是可以挂载长途主机的共享目次到本地,就像使用本地磁盘一样,非常方便的使用长途文件。
本文将给各人讲解怎样在CentOS7上安装和配置NFS服务器。
下面话不多说了,来一起看看详细的先容吧
准备

我们必要两台CentOS7呆板,我们用假造机做测试,分别做NFS服务器和客户端,配置如下:
NFS服务器ip:192.168.11.31。
客户端ip:192.168.11.34。
我们要实现的目标是:在NFS服务器上共享一个目次,在客户端上可以直接使用NFS服务器上的这个共享目次下的文件。
NFS服务器配置

1.安装NFS服务

首先使用yum安装nfs服务:
  1. yum -y install rpcbind nfs-utils
复制代码
2.创建共享目次

在服务器上创建共享目次,并设置权限。
  1. mkdir /data/share/
  2. chmod 755 -R /data/share/
复制代码
3.配置NFS

nfs的配置文件是 /etc/exports ,在配置文件中加入一行:
  1. /data/share/ 192.168.11.34(rw,no_root_squash,no_all_squash,sync)
复制代码
这行代码的意思是把共享目次/data/share/共享给192.168.11.34这个客户端ip,后面括号里的内容是权限参数,其中:
rw 表现设置目次可读写。
sync 表现数据会同步写入到内存和硬盘中,相反 rsync 表现数据会先暂存于内存中,而非直接写入到硬盘中。
no_root_squash NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目次来说,也拥有root权限。
no_all_squash 岂论NFS客户端连接服务端时使用什么用户,对服务端分享的目次来说都不会拥有匿名用户权限。
如果有多个共享目次配置,则使用多行,一行一个配置。生存好配置文件后,必要实行以下下令使配置立刻生效:
  1. exportfs -r
复制代码
4.设置防火墙

如果你的体系没有开启防火墙,那么该步骤可以省略。
NFS的防火墙特殊难搞,因为除了固定的port111、2049外,另有其他服务如rpc.mounted等开启的不固定的端口,这样对防火墙来说就比力麻烦了。为了办理这个问题,我们可以设置NFS服务的端口配置文件。
修改/etc/sysconfig/nfs文件,将下列内容的注释去掉,如果没有则添加:
  1. RQUOTAD_PORT=1001
  2. LOCKD_TCPPORT=30001
  3. LOCKD_UDPPORT=30002
  4. MOUNTD_PORT=1002
复制代码
生存好后,将端口加入到防火墙允许计谋中。实行:
  1. firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent
  2. firewall-cmd --reload
复制代码
5.启动服务

按顺序启动rpcbind和nfs服务:
  1. systemctl start rpcbind
  2. systemctl start nfs
复制代码
加入开机启动:
  1. systemctl enable rpcbind
  2. systemctl enable nfs
复制代码
nfs服务启动后,可以使用下令 rpcinfo -p 检察端口是否生效。
服务器的后,我们可以使用 showmount 下令来检察服务端(本机)是否可连接:
  1. [root@localhost ~]# showmount -e localhost
  2. Export list for localhost:
  3. /data/share 192.168.11.34
复制代码
出现上面效果表明NFS服务端配置正常。
客户端配置

1.安装rpcbind服务

客户端只必要安装rpcbind服务即可,无需安装nfs或开启nfs服务。
  1. yum -y install rpcbind
复制代码
2.挂载长途nfs文件体系

检察服务端已共享的目次:
  1. [root@localhost ~]# showmount -e 192.168.11.31
  2. Export list for 192.168.11.31:
  3. /data/share 192.168.11.34
复制代码
建立挂载目次,实行挂载下令:
  1. mkdir -p /mnt/share
  2. mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3
复制代码
如果不加 -onolock,nfsvers=3 则在挂载目次下的文件属主和组都是nobody,如果指定nfsvers=3则体现root。
如果要打扫挂载,可实行下令:
  1. umount /mnt/share
复制代码
3.开机主动挂载

如果按本文上面的部分配置好,NFS即摆设好了,但是如果你重启客户端体系,发现不能随呆板一起挂载,必要再次手动使用挂载,这样使用比力麻烦,因此我们必要设置开机主动挂载。我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是必要网络启动后才气挂载的,以是我们把挂载下令写入到/etc/rc.d/rc.local文件中即可。
  1. [root@localhost ~]# vim /etc/rc.d/rc.local
  2. #在文件最后添加一行:
  3. mount -t nfs 192.168.11.34:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3
复制代码
生存并重启呆板看看。
测试验证

检察挂载效果,在客户端输入 df -h
  1. 文件系统    容量 已用 可用 已用% 挂载点
  2. /dev/mapper/centos-root   18G 5.0G 13G 29% /
  3. devtmpfs      904M  0 904M 0% /dev
  4. tmpfs       916M  0 916M 0% /dev/shm
  5. tmpfs       916M 9.3M 906M 2% /run
  6. tmpfs       916M  0 916M 0% /sys/fs/cgroup
  7. /dev/sda1      497M 164M 334M 33% /boot
  8. tmpfs       184M  0 184M 0% /run/user/0
  9. 192.168.11.31:/data/share  18G 1.7G 16G 10% /mnt/share
复制代码
看到最后一行了没,说明已经挂载乐成了。接下来就可以在客户端上进入目次/mnt/share下,新建/删除文件,然后在服务端的目次/data/share检察是不是有效果了,同样反过来在服务端使用在客户端对应的目次下看效果。
总结
以上就是这篇文章的全部内容了,盼望本文的内容对各人的学习或者工作具有一定的参考学习价值,如果有疑问各人可以留言交流,谢谢各人对脚本之家的支持。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作