Centos7.4 搭建NFS网络文件系统服务

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下添加文件,其他两台的同一个目录 下都会同步存在文件

 

你可能感兴趣的:(Linux,运维部署,NFS)