1.将服务器端和客户端,查看防火墙状态并关闭防火墙
systemctl status firewalld
systemctl disable firewalld
systemctl stop firewalld
2.将服务器端和客户端安装组件(nfs-utils,rpcbind)
yum install -y nfs-utils rpcbind
3.在服务器端和客户端启动以上两个服务
systemctl status rpcbind
systemctl enable rpcbind
systemctl start rpcbind
systemctl status nfs
systemctl enable nfs
systemctl start nfs
4. 在服务器端创建共享目录,并设置共享目录
mkdir -p /cloud/nfs/data
chmod 777 /cloud/nfs/data
vim /etc/exports
添加以下内容:
/cloud/nfs/data/ *(rw,sync,no_root_squash)
如果出现权限拒绝 mount 改成以下设置
mount.nfs: access denied by server while mounting 10.21.111.12:/cloud/persistence/files
/cloud/persistence/files *(insecure,rw,sync,no_root_squash)
参数说明:
eg: /usr/nfsShare 192.111.134.*(rw,sync,no_root_squash) 【可将IP设置为*】
格式 : NFS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)
/cloud/nfs/data :共享目录
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性,资料会先暂存于内存中,而非直接写入硬盘
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID 都会变成nobody身份
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
/cloud/nfs/data :共享目录
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性,资料会先暂存于内存中,而非直接写入硬盘
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID 都会变成nobody身份
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
1. /cloud/nfs/data 共享的目录
2. * :任何人
3. rw :读写权限
4. sync:资料会先暂存于内存中,而非直接写入硬盘。
5. no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID 都会变成nobody身份。
5.重启服务
systemctl restart nfs
systemctl restart rpcbind
6.在客户端安装好nfs-utils,rpcbind后,启动服务,创建需要挂载到服务器上的目录
mkdir -p /cloud/log
7.挂载目录
mount -t nfs 172.20.3.163:/cloud/nfs/data/log /cloud/log
8.测试
在客户端/cloud/log 下创建一个文件 touch test.log, 在服务器上的共享目录/cloud/nfs/data/log 下就会看到创建的文件
9.分享一个项中的真实例子
192.168.1.9 是nfs服务器端,
192.168.1.10 上传文件系统实例1
192.168.1.11 上传文件系统实例2
上传文件系统部署了两个实例,上传的目录为:/cloud/data/uploadfiles
所以步骤如下:
9.1. 分别在以上三台上安装nfs-utils,rpcbind,启动 ,在192.168.1.9上的/etc/exports配置文件中加上以下:
/cloud/data/uploadfiles *(rw,sync,no_root_squash)
以上先要创建目录
mkdir -p /cloud/data/uploadfiles
9.2 重启nfs ,rpcbind服务
在10 和11文件服务器上分别创建目录
mkdir -p /cloud/data/uploadfiles
再在10,11上都执行以下命令,如下:
mount -t nfs 192.168.1.9:/cloud/data/uploadfiles /cloud/data/uploadfiles
这个时候,在一个机器上的/cloud/data/uploadfiles下添加文件,其他两台的同一个目录 下都会同步存在文件