在服务器上安装nfs服务,并将该服务器的/data目录进行共享。
服务端配置
安装nfs组件,并检查安装状态
yum install nfs-utils rpcbind
rpm -qa nfs-utils rpcbind
编辑NFS配置文件/etc/exports,配置格式如下 :
<输出目录> 客户端(选项:访问权限,用户映射,其他]
输出目录是指NFS系统中所定义的共享给客户端使用的文件系统
客户端是定义网络中可以访问这个NFS共享目录的IP地址或网段或域名等
客户端常用的指定方式
指定ip地址的主机:192.168.100.1
指定一个子网:192.168.100.0/ 也可以写成:192.168.100.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机:*.bsmart.cn
所有主机:*
选项用来设置输出目录的访问权限、用户映射等。
NFS主要有3类选项:
设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
我们做简单配置
/data *(async,insecure,no_root_squash,no_subtree_check,rw) /data:与nfs服务客户端共享的目录
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
async:资料同步写入内存和硬盘
no_root_squash:root用户具有对根目录的完全管理访问权限。
no_subtree_check:不检查父目录的权限。
为目录授权(重要)
chown -R nfsnobody.nfsnobody /data
设置服务开机启动并立即启动服务
systemctl enable rpcbind.service
systemctl enable nfs-server.service systemctl start rpcbind.service
systemctl start nfs-server.service
检验
showmount -e 172.18.100.84
配置客户端
可以先用scp将原始文件先传递到共享目录中
scp -r /upfile root@265.201.68.104:/data/upfile
安装nfs,客户端不需要服务,但需要对应的命令
yum install nfs-utils
进行挂载,分解将目录挂载到各个共享点
mkdir -p /opt/citystudy-dev/deploy/www/uploadFiles
mount -t nfs 172.18.100.84:/data/uploadFiles /opt/citystudy-dev/deploy/www/uploadFiles
mkdir -p /opt/citystudy-dev/deploy/www/study/uploadResources
mount -t nfs 172.18.100.84:/data/uploadFiles /opt/citystudy-dev/deploy/www/study/uploadResources
mkdir -p /opt/citystudy-dev/deploy/www/monitor/uploadResources
mount -t nfs 172.18.100.84:/data/uploadFiles /opt/citystudy-dev/deploy/www/monitor/uploadResources