文章目录
centos7 搭建NFS
实验环境
NFS服务器 | 192.168.222.136 |
---|---|
客户端1 | 192.168.222.135 |
客户端2 | 192.168.222.134 |
实验目的
在NFS服务器上共享一个目录,客户端可以直接操控NFS服务上的这个共享目录的文件
NFS服务器配置
1. 首先使用yum安装nfs服务:
[root@nfs-server ~]# yum install nfs-utils -y
2. 创建共享目录
[root@nfs-server ~]# mkdir -p /data/share
[root@nfs-server ~]# chmod 755 /data/share
[root@nfs-server ~]#
[root@nfs-server ~]# ll -d /data/share
drwxr-xr-x 2 root root 6 8月 30 20:21 /data/share
[root@nfs-server ~]#
3. 配置NFS
nfs的配置文件是/etc/exports, 在配置文件中加入一行:
[root@nfs-server ~]# vim /etc/exports
/data/share/ 192.168.222.0/24(rw,no_root_squash,no_all_squash,sync)
# 192.168.222.0/24 表示共享的网段
参数说明
权限参数说明
ro :该主机有只读权限
rw :该主机对共享目录有可读可写的权限
all_squash :任何用户访问服务器都是匿名用户访问,相当于使用nobody用户访问该共享目录。
no_all_squash :和all_squash相反,该选项默认设置
root_squash :将root用户及所属组都映射为匿名用户或用户组,为默认设置
no_root_squash :与root_squash相反
anonuid :将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户
anongid :将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户
sync :将数据同步写入内存缓冲区与磁盘中,效率底,但可以保证数据的一致性
async :将数据先保存在内存缓冲区中,必要时才写入磁盘
注:权限参数说明来自《CentOS7系统管理与运维实战》
4. 使用exportfs -r
命令是NFS配置生效
[root@nfs-server ~]# exportfs -r
[root@nfs-server ~]#
5. 使用 systemctl start nfs-server
命令启动NFS
[root@nfs-server ~]# systemctl start nfs-server
设置开机自启
[root@nfs-server share]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@nfs-server share]#
6. 使用 rpcinfo -p 命令确认NFS是否已经启动
[root@nfs-server ~]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 52359 status
100024 1 tcp 35319 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 42306 nlockmgr
100021 3 udp 42306 nlockmgr
100021 4 udp 42306 nlockmgr
100021 1 tcp 37242 nlockmgr
100021 3 tcp 37242 nlockmgr
100021 4 tcp 37242 nlockmgr
7.可以看出NFS服务已经启动,可以使用showmount -e 127.0.0.1
查看本机共享的路径
[root@nfs-server ~]# showmount -e 127.0.0.1
Export list for 127.0.0.1:
/data/share 192.168.222.0/24
[root@nfs-server ~]#
showmount - show mount information for an NFS server 展示网络文件系统服务的挂载信息
客户端配置
1.安装软件
[root@nfs-cli ~]# yum install nfs-utils -y
2.挂载远程nfs文件系统
[root@nfs-cli ~]# mkdir /nfs-web
[root@nfs-cli ~]# mount 192.168.222.136:/data/share /nfs-web
如果要接触改在,可执行命令:
umount /nfs-web
3.开机自动挂载
如果按本文上面的部分配置好,NFS即部署好了,但是如果你重启客户端系统,发现不能随机器一起挂载,需要再次手动操作挂载,这样操作比较麻烦,因此我们需要设置开机自动挂载。我们不要把挂载项写到/etc/fstab文件中,因为开机时先挂载本机磁盘再启动网络,而NFS是需要网络启动后才能挂载的,所以我们把挂载命令写入到/etc/rc.d/rc.local文件中即可。
[root@localhost ~]# vim /etc/rc.d/rc.local
#在文件最后添加一行:
mount -t nfs 192.168.11.34:/data/share /nfs-web/ -o nolock,nfsvers=3,vers=3
4. 测试验证
[root@nfs-cli ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 898M 0 898M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 9.6M 901M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 5.5G 12G 33% /
/dev/sda1 xfs 1014M 151M 864M 15% /boot
tmpfs tmpfs 182M 0 182M 0% /run/user/0
192.168.222.136:/data/share nfs4 17G 7.2G 9.9G 43% /nfs-web
看到最后一行了没,说明已经挂载成功了。接下来就可以在客户端上进入目录/nfs-web下,新建/删除文件,然后在服务端的目录/data/share查看是不是有效果了,同样反过来在服务端操作在客户端对应的目录下看效果。