NFS #
NFS 在 Linux 中会默认安装。
NFS 的主配置文件:/etc/exports。
[root@SGDLITVM0905 ~]# cat /etc/exports
/data/share *(rw,sync,all_squash)
/data/share2 10.222.77.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
/var/vols/itom/core *(rw,sync,anonuid=1999,anongid=1999,root_squash)
...
/data/share2是要共享目录,而且必须要存在。10.222.77.0/24表示允许 IP 在该10.222.77.0/24网段的客户端挂载。设置为*即允许所有客户端挂载,如/home *(ro,sync,insecure,no_root_squash),设置/home目录允许所有客户端只读挂载。- 一个目录可以配置多个 IP 权限,
/data/share 10.0.0.1(rw) 10.0.0.2(ro),表示10.0.0.1访问时是读写权限,10.0.0.2访问时是只读权限,注意 IP 和括号之间不要有空格,否则会当做两个配置。
目录设置:
ro只读访问rw读写访问sync确保数据写入时从内存同步到磁盘async将数据先保存在内存缓冲区中,必要时才写入磁盘securenfs 通过 1024 以下的安全 TCP/IP 端口发送insecurenfs 通过 1024 以上的端口发送root_squash将 root 用户及所属组都映射为匿名用户或用户组(默认设置)no_root_squash与 rootsquash 取反anonuid=xxx将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)anongid=xxx将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx)wdelay检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)no_wdelay若有写操作则立即执行,应与 sync 配合使用hide在 nfs 共享目录中不共享其子目录no_hide共享 nfs 目录的子目录subtree_check如果共享/usr/bin之类的子目录时,强制 nfs 检查父目录的权限(默认)no_subtree_check不检查父目录权限all_squash将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)no_all_squash与all_squash取反(默认设置)
[root@SGDLITVM0905 ~]# showmount -e localhost # 查看指定主机有哪些共享目录
Export list for localhost:
/data/share *
/var/vols/demochart/demochart-db-volume *
/var/vols/demochart/demochart-data-volume *
/var/vols/demochart/demochart-conf-volume *
[root@SGDLITVM0905 ~]# ls /data/share
testnfs
[root@SGDLITVM0905 ~]# mount -t nfs localhost:/data/share /mnt # 挂载指定主机 localhost 下的共享目录 /data/share 到 /mnt
[root@SGDLITVM0905 ~]# ls /mnt
testnfs
[root@SGDLITVM0905 ~]# cd /mnt
[root@SGDLITVM0905 ~]# touch testnfs2