在CentOS7上开启和挂载NFS共享
NFS:Network File System 网络文件系统,可以让电脑在本地直接管理远端的硬盘。依赖RPC.
RPC:Remote Procedure Call 远程过程调用,计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
服务端
关闭防火墙和selinux
1 2 3 4 5 6 7 8 9 10
| yum install -y rpc-bind nfs-utils
cat /etc/exports /share (rw,no_root_squash)
systemctl start nfs systemctl start rpcbind
|
exports
的文件格式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <输出目录> 客户端(选项:访问权限,用户映射,其他] 输出目录是指NFS系统中所定义的共享给客户端使用的文件系统
客户端是定义网络中可以访问这个NFS共享目录的IP地址或网段或域名等 客户端常用的指定方式 指定ip地址的主机:192.168.100.1 指定一个子网:192.168.100.0/24 也可以写成: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服务器也不检查其父目录的权限,这样可以提高效率;
|
客户端
客户端如果不按照nfs的话默认是识别不了nfs的:
1 2 3 4 5 6 7 8
| [root@CentOS7-copy ~]# mount 10.211.55.21:/share /home/media/ mount: 文件系统类型错误、选项错误、10.211.55.21:/share 上有坏超级块、 缺少代码页或助手程序,或其他错误 (对某些文件系统(如 nfs、cifs) 您可能需要 一款 /sbin/mount.<类型> 助手程序)
有些情况下在 syslog 中可以找到一些有用信息- 请尝试 dmesg | tail 这样的命令看看。
|
所以需要先安装yum -y install nfs-utils
经过测试,并不需要启动服务,装上就行
挂载测试
1 2 3 4 5 6 7 8 9 10
| [root@CentOS7-copy ~]# mount 10.211.55.21:/share /home/media/ [root@CentOS7-copy ~]# dd if=/dev/zero of=/home/media/file2 bs=1M count=10 记录了10+0 的读入 记录了10+0 的写出 10485760字节(10 MB)已复制,0.0422486 秒,248 MB/秒 [root@CentOS7-copy ~]# ll /home/media/ 总用量 20484 -rw-r--r-- 1 root root 10485760 6月 26 14:35 file1 -rw-r--r-- 1 root root 10485760 6月 26 14:42 file2 drwxr-xr-x 2 root root 4096 6月 26 14:33 sixsixsix
|
参考:
在CentOS7上实现NFS共享