linux系统之间共享文件(CentOS6.5)
CentOS6.5做为服务端
CentOS6.8做为客户端
#1、查看服务端系统是否已安装NFS
rpm -qa | grep rpc
rpm -qa | grep nfs
#没有的话,就安装
yum -y install nfs* rpcbind
#2、NFS服务端然后启动服务
#特别注意:因为在6.0的系统里,portmap已经改名了。在Redhat或CentOS5中可以使用 service portmap start启动服务,然后在启动nfs服务,实现挂载。6里面可是试试 service rpcbind start启动
service rpcbind start
service nfs start
#可以查看NFS服务端服务状态
service rpcbind status
service nfs status
#3、设置NFS服务端nfs服务自启动,不然要共享文件每次都要启动一下服务很麻烦
chkconfig --list rpcbind
chkconfig --level 35 rpcbind on
chkconfig --list nfs
chkconfig --level 35 nfs on
--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
#4、接下来就是要共享文件,比如共享/home/sharedFolders目录下的文件、编写要共享的机器名
vi /etc/exports
#内容填写如下:
/home/sharedFolders 172.31.93.1(ro)
/home/share/是要共享的文件夹 后面接的是ip+网段,括号里面的表示客户机对该目录下的文件的操作权限,r表示可读,w表示可写,x表示可执行
#客户端常用的指定方式
指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主机:david.bsmart.cn
指定域中的所有主机:*.bsmart.cn
所有主机:*
#访问权限选项
设置输出目录只读: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服务器也不检查其父目录的权限,这样可以提高效率;
#5、重启NFS服务端rpcbind 和nfs 服务
service rpcbind restart
service nfs restart
#6、查看NFS服务端的共享状态与查看客户端连接信息(注:要客户端连接之后才有)
exportfs
showmount -e
#如果报错:clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused),则修改下选项
vi /etc/exports
/home/sharedFolders 172.31.93.1(rw,async,insecure,no_root_squash)
#然后
exportfs -rv
service nfs restart
#7、在客户端上面挂载NFS服务器中的共享目录 ,格式:mount NFS服务器ip:共享目录 本地目录
mount 172.31.93.0:/home/sharedFolders /mnt/
#8、查看客户端是否共享挂载成功
mount |grep nfs
#如果客户端报错报错:mount: wrong fs type, bad option, bad superblock on 172.31.93.0:/home/sharedFolders,
yum install nfs-utils
#然后在客户端上再次挂载
mount 172.31.93.0:/home/sharedFolders /mnt/
#注意,如果提示报错:mount.nfs: /mnt is busy or already mounted,则需要卸载已挂载点。然后再次挂载并查看
umount /mnt
mount 172.31.93.0:/home/sharedFolders /mnt/
mount |grep nfs
#最后到在客户端上/mnt/目录中查看是否有共享目录