linux上nfs配置
1、服务端部署
1)检查系统版本及NFS服务nfs-utils 和rpcbind有没有安装
[root@service ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@service ~]# rpm -qa nfs-utils rpcbind
2)安装NFS服务nfs-untils和rpcbind
[root@service ~]# yum install nfs-utils rpcbind -y
3)启动rpcbind服务(一定要先启动rpcbind服务再启动nfs服务)
查看rpcbind服务状态
[root@service ~]# systemctl status rpcbind.service
启动rpcbind服务
[root@service ~]# systemctl start rpcbind.service
查看rpc
[root@service ~]# lsof -i :111 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd 1 root 33u IPv6 25136 0t0 TCP *:sunrpc (LISTEN) systemd 1 root 38u IPv4 25137 0t0 TCP *:sunrpc (LISTEN) rpcbind 9227 rpc 4u IPv6 25136 0t0 TCP *:sunrpc (LISTEN) rpcbind 9227 rpc 5u IPv4 25137 0t0 TCP *:sunrpc (LISTEN) rpcbind 9227 rpc 8u IPv4 33497 0t0 UDP *:sunrpc rpcbind 9227 rpc 10u IPv6 33499 0t0 UDP *:sunrpc [root@service ~]# netstat -lntup|grep rpcbindudp 0 0 0.0.0.0:922 0.0.0.0:* 9227/rpcbind udp 0 0 0.0.0.0:111 0.0.0.0:* 9227/rpcbind udp6 0 0 :::922 :::* 9227/rpcbind udp6 0 0 :::111 :::* 9227/rpcbind
查看nfs服务向rpc注册的端 口信息
[root@service ~]# rpcinfo -p localhost program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper
把rpcbind另入开机自启动
[root@service ~]# systemctl enable rpcbind.service [root@service ~]# systemctl list-unit-files|grep enabled|grep rpcbind rpcbind.socket enabled
4)启动NFS服务并查看其状态
[root@service ~]# systemctl start nfs.service [root@service ~]# systemctl status nfs.service
把NFS服务加入开机自启动并查看其状态
[root@service ~]# systemctl enable nfs.service [root@service ~]# systemctl list-unit-files|grep nfs
5)授权nfsnobody于/data/bbs让客户端挂载后可写可读
[root@service /]# chown nfsnobody:nfsnobody /data/bbs
6)创建测试目录及文件
[root@service ~]# mkdir /data/bbs -p [root@service ~]# mkdir /data/bbs/test.txt
7)配置NFS服务的export文件
[root@service ~]# echo "/data/bbs/ 192.168.10.1/24(rw,sync,root_squash)">>/etc/exports
重新加载nfs配置文件
[root@service ~]# exportfs -rv exporting 192.168.10.1/24:/data/bbs
查看nfs服务器挂载情况
[root@service ~]# showmount -e localhost Export list for localhost: /data/bbs 192.168.10.1/24
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:将远程访问的所有用户组都映射为匿名用户组账户
2、客户端配置
[root@localhost ~]# yum install nfs-utils rpcbind
把rpcbind加入开机自启动
[root@localhost bbs]# systemctl enable rpcbind.service
创建测试目录文件
[root@localhost ~]# mkdir /data/bbs/ -p
扫描NFS服务器的文件共享列表
[root@localhost bbs]# showmount -e 192.168.10.150 Export list for 192.168.10.150: /data/bbs 192.168.10.1/24
把服务器的目录挂载到客户端 的目录下
[root@localhost ~]# mount -t nfs 192.168.10.150:/data/bbs /data/bbs [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 1004M 17G 6% / devtmpfs 479M 0 479M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.8M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 497M 112M 385M 23% /boot tmpfs 98M 0 98M 0% /run/user/0 192.168.10.150:/data/bbs 18G 1006M 17G 6% /data/bbs
3、数据测试
服务端
[root@service /]# cd /data/bbs [root@service bbs]# touch a.txt
客户端
[root@localhost ~]# ls /data/bbsa.txt
提示: 1.配置NFS服务端后,不用重启NFS服务,只要使用exportfs -rv 2.rpc主程序Centos5.8下为portmap 、Centos6.4和Centos7下为rpcbind 3.NFS共享目录不要授权于777权限,可以改所属主和组为nfsnobody,因为nfsnobody权限不是很大,也不能登陆
2019-09-14 00:03:36
共有0条评论!