07月16, 2018

Centos7安装配置NFS服务和挂载

一、安装 NFS 服务器所需的软件包:

yum install -y nfs-utils


二、编辑exports文件,添加从机

vim /etc/exports

添加:

/data 192.168.0.100(rw,sync,no_subtree_check,fsid=0)  192.168.0.101(rw,sync,no_subtree_check,fsid=0)

192.168.0.100 和192.168.0.101两台机器可以挂载NFS服务器上的/data目录到自己的文件系统中

rw表示可读写;sync表示同步写,fsid=0表示将/data找个目录包装成根目录

或者

/data 192.168.0.100(rw,sync,no_root_squash,no_subtree_check) 192.168.0.101(rw,sync,no_root_squash,no_subtree_check)

参数:

ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
insecure:允许从这台机器过来的非授权访问
subtree_check:如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check:和上面相对,不检查父目录权限
wdelay:如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide:在NFS共享目录中不共享其子目录
no_hide:共享NFS目录的子目录
secure:NFS通过1024以下的安全TCP/IP端口发送
insecure:NFS通过1024以上的端口发送


三、启动nfs服务

先为rpcbind和nfs做开机启动:

systemctl enable rpcbind.service
systemctl enable nfs-server.service

然后分别启动rpcbind和nfs服务:

systemctl start rpcbind.service
systemctl start nfs-server.service

确认NFS服务器启动成功:

rpcinfo -p


检查 NFS 服务器是否挂载我们想共享的目录 /data:

exportfs

可以查看到已经ok:

/data           192.168.0.100
/data           192.168.0.101


四、在从机上安装NFS 客户端

首先是安裝nfs,同上,然后启动rpcbind服务,先为rpcbind做开机启动:

systemctl enable rpcbind.service

然后启动rpcbind服务:

systemctl start rpcbind.service

注意:客户端不需要启动nfs服务


检查 NFS 服务器端是否有目录共享:

showmount -e nfs服务器的IP

在从机上使用 mount 挂载服务器端的目录/data到客户端某个目录下:

mkdir /data
mount -t nfs4 nfs服务器IP:/    /data

查看是否挂载成功:

df -h

想在客户机上实现开机挂载,则需要编辑/etc/fstab:

vim /etc/fstab

加上:

nfs服务器IP:/   /data  nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0

客户端挂载后,写文件时可能会报一个权限问题:Permission denied。解决这个问题可以修改nfs主服务器/etc/exports文件,改成如下內容:

vim /etc/exports

xx请根据下面替换

/data  192.168.0.100(rw,sync,fsid=0,anonuid=xx,anongid=xx) 192.168.0.101(rw,sync,fsid=0,anonuid=xx,anongid=xx)

查看服务器uid

# id root 
uid=0(root) gid=0(root) groups=0(root)

将xx改成65534


重新读取NFS配置文件:

exportfs -rv

可使用如下命令查看配置:

exportfs -v


本文链接:https://lxyit.com/article/show/128.html

-- EOF --