怎样更高效的快速分享多台linux系统的资源?说到windows资源共享大家可以很容易想到在网络邻居里面找。linux系统间也有类似windows网络邻居的服务功能,就是nfs;linux系统和windows系统间也有类似的功能叫samba。现在讨论nfs。
nfs是Network File System的缩写,最早由sun公司发展出来,nfs最大的功能就是让数据透过网络,使得不同的主机能够共享文件,这里说的主机指的是类unix系统。nfs主要用来管理共享出来的目录,而RPC用来处理数据的传输。
安装nfs功能步骤很简单,在安装nfs软件包的时候要安装portmap。portmap的功能是:当client连接RPC server所提供的服务时,client需要一个连接端口,portmap会自动将自己管理的端口分配给向自己请求端口的client,这样服务就建立了。默认情况下,linux套件已经安装了nfs和portmap软件包,不过默认情况下nfs和portmap没有自启动。
为了实验的完整性,我从头到尾走一遍,本实验用的系统为linux5.6,需要的软件从系统盘获取。实验中nfs服务器地址为192.168.65.129,客户机ip地址为192.168.65.151
实验过程:
#rpm -Uvh nfs-utils-1.0.9-50.el5.i386.rpm portmap-4.0-65.2.2.1.i386.rpm
# cat /etc/exports
/nfsshare192.168.65.0/24(rw,no_root_squash) ###配置主配置文件,/etc/exports为nfs的主配置文件,有的linux系统没有这一主配置文件,需要在此手动添加。
#mkdir /nfsshare
#touch /nfsshare/a.txt
#service nfs start
到这里,nfs服务器已经配置完成,下面到客户机共享。
#mount -t nfs 192.168.65.129:/nfsshare /mnt ###在任意一台客户机上面操作,将nfs服务器共享的目录挂载到客户机的/mnt目录。
#cd /mnt
#touch b.txt d.txt
#echo hello,this is second upload > d.txt
#
# ls /mnt
a.txt b.txt d.txt
到这里,nfs服务器搭建成功。实验过程,我关掉了selinux和iptables。
***********************************************************************
nfs常用文件和命令
/etc/exports
NFS的主配置文件。有的linux版本中默认不存在需要手动建立。
/usr/sbin/exportfs
维护NFS共享资源的命令。
/usr/sbin/showmount
在client来查看NFS共享的资源(exportfs用在server端)。
/var/lib/nfs/ etab(rmtab)
NFS的记录文件。
****************************************************************************
exports配置文件
设置参数
ro只读权限rw可读写的权限
root_squash如果登陆者是root用户就id映射成匿名用户。
no_root_squash关闭上面的功能,登录者对于共享目录有root的权限。
all_squash不论登陆者是谁他的id都会映射成匿名用户。
anonuid指定映射成的用户id。UID必须在/etc/passwd中存在。
anongid功能同上,就是设定gid。
sync 资料同步写入内存和硬盘。
async资料先写入内存,再写到硬盘。
本文出自 “个人感受” 博客,谢绝转载!