1.NFS服务端安装配置
①在服务器端安装nfs-utils以及rpcbind包
[root@test_01 ~]# yum install -y nfs-utils rpcbind
②在客户端安装nfs-utils包
[root@test_02 ~]# yum install -y nfs-utils
③编辑配置文件/etc/exports,并在其中加入如下内容
配置文件内由空格分隔开成两端内容,第一段表示需要共享出去的路径
第二段表示客户端缩在网段以及相关权限设置
/home/nfstestdir 192.168.231.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
NFS配置选项解释:
rw/ro:读写/只读
sync:同步模式,内存数据实时写入磁盘
async:非同步模式,相隔固定时间将数据从内存写入磁盘
no_root_squash :客户端挂载NFS共享目录后,root用户不受约束,权限很大
root_squash:与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
all_squash:客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
anonuid/anongid:和上面几个选项搭配使用,定义被限定用户的uid和gid
④保存配置后,创建/home/nfstestdir文件夹,并将权限设置为777
/home/nfstestdir
⑤启动nfs服务
[root@test_01 ~]# systemctl start nfs [root@test_01 ~]# ps aux |grep nfs root 11813 0.0 0.0 0 0 ? S< 19:12 0:00 nfsd4_callbacks] root 11819 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11820 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11821 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11822 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11823 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11824 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11825 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11826 0.0 0.0 0 0 ? S 19:12 0:00 nfsd] root 11830 0.0 0.0 112680 976 pts/0 S+ 19:12 0:00 grep --color=auto nfs
⑥如果需要nfs服务开机启动,则需要执行如下命令
[root@test_01 ~]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
⑦在服务端查看挂载的目录
[root@test_01 ~]# showmount -e 192.168.231.128 Export list for 192.168.231.128: /home/nfstestdir 192.168.231.0/24
⑧将nfs共享文件夹挂载至本地/mnt/目录
[root@test_01 ~]# mount -t nfs 192.168.231.128:/home/nfstestdir/ /mnt [root@test_01 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 28G 4.3G 24G 16% / devtmpfs 903M 0 903M 0% /dev tmpfs 912M 0 912M 0% /dev/shm tmpfs 912M 8.7M 904M 1% /run tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda1 197M 109M 88M 56% /boot tmpfs 183M 0 183M 0% /run/user/0 192.168.231.128:/home/nfstestdir 28G 4.3G 24G 16% /mnt
2.exportfs命令使用方法
exportfs命令用于管理NFS共享的文件系统列表。
选项:
-a 打开或取消所有目录共享。
-o options,...指定一列共享选项,与 exports(5) 中讲到的类似。
-i 忽略 /etc/exports 文件,从而只使用默认的和命令行指定的选项。
-r 重新共享所有目录。它使 /var/lib/nfs/xtab 和 /etc/exports 同步。 它将 /etc/exports 中已删除的条目从 /var/lib/nfs/xtab 中删除,将内核共享表中任何不再有效的条目移除。
-u 取消一个或多个目录的共享。
-f 在“新”模式下,刷新内核共享表之外的任何东西。 任何活动的客户程序将在它们的下次请求中得到 mountd添加的新的共享条目。
-v 输出详细信息。当共享或者取消共享时,显示在做什么。 显示当前共享列表的时候,同时显示共享的选项。
例:
①编辑配置文件/etc/exports,加入新的共享文件夹
/home/nfstestdir 192.168.231.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) /tmp 192.168.231.129(rw,sync,no_root_squash,anonuid=1000,anogid=1000)
②在服务器端使用exportfs命令重新共享目录
[root@test_01 ~]# exportfs -arv exporting 192.168.231.129:/tmp exporting 192.168.231.0/24:/home/nfstestdir
③在客户端查看可用共享目录
[root@test_02 ~]# showmount -e 192.168.231.128 Export list for 192.168.231.128: /home/nfstestdir 192.168.231.0/24 /tmp 192.168.231.129
※在NFS 4版本中有可能会出现挂载目录下文件的属主shu属组为nobody的情况。
针对这一状况,在挂载目录的时候,加上-o选项并使用参数?nfsvers=3来指定nfs版本为3即可解决