nfs
Posted shiina-ringo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nfs相关的知识,希望对你有一定的参考价值。
nfs实现linux文件共享
1.环境
系统:centos6.8
服务端:192.168.6.30
客户端:192.168.6.38
2.关闭selinux和iptables
3.服务端下载nfs
[[email protected] ~]# yum install rpcbind nfs-utils
4.配置nfs文件
[[email protected] ~]# vim /etc/exports
/todd 192.168.6.0/24(rw,all_squash) //#1
5.创造共享文件夹
[[email protected] ~]# mkdir /todd
6.更改目录属主
[[email protected] ~]# chown nfsnobody:nfsnobody /todd //#2
7.启动服务
[[email protected] ~]# service rpcbind start
[[email protected] ~]# service nfs start
8.客户端配置
下载nfs,可使用showmount查看共享
[[email protected] ~]# yum install nfs-utils -y
9.挂载共享目录
[[email protected] ~]# root mkdir /toddtodd
[[email protected] ~]# showmount -e 192.168.6.30
Export list for 192.168.6.30:
/todd 192.168.6.0/24
[[email protected] ~]# mount -t nfs 192.168.6.30:/todd /toddtodd
10.写入测试
客户端写入文件
[[email protected] ~]# echo "this is toddtodd" > /toddtodd/nfss.txt
[[email protected] ~]# cd /toddtodd/
[[email protected] toddtodd]# ll
total 12
drwx------ 2 nobody nobody 4096 Oct 16 15:31 ftp
-rw-r--r-- 1 nfsnobody nfsnobody 17 Oct 16 15:40 nfss.txt
[[email protected] toddtodd]# cat nfss.txt
this is toddtodd
服务端写入(/todd),客户端一样看得到
###############################################################
注解
配置说明:
rw:可读写的权限;
ro: 只读的权限;
no_root_squash:客户机用root访问nfs共享文件夹时,保持root权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。
sync: 资料同步写入存储器中。
async:资料会先暂时存放在内存中,不会直接写入硬盘。
其中:
客户端常用的指定方式
指定ip地址的主机:192.168.6.38,如果是一个目录共享给多台客户机,那么就配置多行
指定子网中的所有主机:192.168.0.0/24
指定域名的主机:a.todd.com
指定域中的所有主机:*.todd.com
所有主机:*
访问权限选项
设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组,通常也就是nobody(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);比如(rw,sync,all_squash,anonuid=65534,anongid=65534)
anongid=xxx:将远程访问的所有用户组都映射为匿名用 户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
可以使用showmount命令查看远程客户机上的共享目录情况,这个命令需要root权限。
它有三个选项,记住这三个选项代表的含义:
showmount –a IP :显示指定NFS服务器的客户端以及服务器端在客户端的挂载点
showmount –d IP :显示指定NFS服务器在客户端的挂载点
showmount –e IP :显示指定NFS服务器上的共享目录列表(或者叫输出列表)
以上是关于nfs的主要内容,如果未能解决你的问题,请参考以下文章