1.规划节点
节点 主机名 ip NFS服务节点 nfs-server 192.168.200.10 NFS客户端节点 nfs-client 192.168.200.20
2.基础配置
修改主机名
192.168.200.10
# hostnamectl set-hostname nfs-server
192.168.200.20
# hostnamectl set-hostname nfs-client
3. 配置网络
具体配置参考
Linux网络配置
4. 配置yum源
4.1 nfs-server
nfs-server使用本地yum源
具体配置参考
配置本地yum源
使用nfs-server提供ftp服务,开放目录/opt/
具体配置参考
搭建ftp服务
4.2 nfs-client
nfs-client使用nfs-server提供的ftp服务作为yum源
具体配置参考
搭建主从数据库3.2中mysql2的yum源配置
5. 安装NFS服务
注意:因为安装NFS服务必须要依赖RPC,所以运行NFS就必须要安装RPC nfs-server节点
nfs-server # yum install nfs-utils rpcbind
nfs-client节点
nfs-client # yum install nfs-utils rpcbind
6. NFS服务的使用
在nfs-server节点创建一个用于共享的目录
nfs-server # mkdir /mnt/test
编辑NFS服务的配置文件/etc/exports,在配置文件中加入一行代码
nfs-server # vi /etc/exports # 编辑nfs配置文件 /mnt/test 192.168.200.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) nfs-server # exportfs -r # 使配置生效
配置文件说明
- /mnt/test:为共享目录(若没有这个目录需要新建一个)
- 192.168.200.0/24:可以是一个网段,一个IP,也可以是域名。域名支持通配符。
- rw:read-write,可读写。
- ro:read-only,只读。
- sync:文件同时写入硬盘和内存。
- async:文件暂存与内存,而不是直接写入内存。
- wdelay:延迟写操作。
- no_root_squash:nfs连接服务端时,如果使用的是root,那么对服务端共享的目录来说,也拥有root权限。
- root_squash:nfs连接服务端时,如果使用的是root,那么对服务端共享的目录来说,拥有匿名用户权限,通常它将使用nobody或nfsnobody身份。
- all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端共享的目录来说,都拥有匿名用户权限。
- anonuid:匿名用户的UID(User Identification,用户身份证明)值,可以在此处自行设定。
- anongid:匿名用户的GID(Group Identification,共享资源系统使用者的群体身份)值。
nfs-server端启动nfs服务
nfs-server # systemctl start rpcbind nfs-server # systemctl start nfs
nfs-server端查看可挂载的目录
nfs-server # showmount -e 192.168.200.10 # -e or --exports,查看该服务器共享的目录
在nfs-client节点,进行NFS共享目录的挂载
nfs-client # mount -t nfs 192.168.200.10:/mnt/test /mnt/
无提示信息则表示成功,查看挂载情况
nfs-client # df -h ... ... 192.168.200.10:/mnt/test 5.8G 20M 5.5G 1% /mnt
可以看到nfs-server节点的/mnt/test目录已挂载到nfs-client节点的/mnt目录下
7.验证NFS共享存储
在nfs-client节点的/mnt目录下创建一个文件test.txt同时计算MD5值
nfs-client # cd /mnt/ nfs-client # touch test.txt nfs-client # md5sum text.txt d41d8cd98f00b204e9800998ecf8427e test.txt
回到nfs-server节点进行验证
nfs-server # cd /mnt/test/ nfs-server # ll -rw-r--r--. 1 root root 0 Jun 4 20:27 test.txt nfs-server # md5sum test.txt d41d8cd98f00b204e9800998ecf8427e test.txt
可以发现,在client节点创建的文件和server节点的文件是一样的
NFS实验完成!