NFS全称是network file system,NFS容许一个系统在网络上与他人共享目录和文件。经过使用NFS,用户和程序能够像访问本地文件同样访问远端系统上的文件。 假若有三台机器A, B, C,它们须要访问同一个目录,目录中都是图片,传统的作法是把这些图片分别放到A, B, C. 可是使用NFS只须要放到A上,而后A共享给B和C便可。访问的时候,B和C是经过网络的方式去访问A上的那个目录的。 vim
废话很少说,搭建走着。。。。。centos
首先先声明的是搭建环境为centos6.4安全
服务端ip:192.168.0.120服务器
客户端ip:192.168.0.121网络
一、须要安装两个包(nfs-utils和rpcbind):async
yum install -y nfs-utils rpcbindide
二、提供nfs服务的机器上 vim /etc/exports //内容以下:ui
/home/ 192.168.0.0/24(rw,sync,all_squash,anonuid=501,anongid=501)图片
(解释下这个:共分为三部分,第一部分就是本地要共享出去的目录,第二部分为容许访问的主机(能够是一个IP也能够是一个IP段)第三部分就是小括号里面的,为一些权限选项。它表示:共享的目录为/home,信任的主机为192.168.0.0/24这个网段,权限为读写,同步,限定全部使用者,而且限定的uid和gid都为501。ip
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不一样步,把内存中数据按期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操做同样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:无论使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid,包括客户端。)
三、启动 /etc/init.d/rpcbind start; /etc/init.d/nfs start
(注意先启动rpcbind,不然会报错)
四、客户端一样安装:yum install -y nfs-utils
查看服务器端都共享了哪些目录:showmount -e 192.168.0.120
在客户端上挂载服务端的nfs:
mount -t nfs 192.168.0.120:/home/ /mnt/
df -h 查看挂载的状况
五、小技巧:
a)改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs便可,如:exportfs -arv
-a :所有挂载或者卸载;
-r :从新挂载;
-u :卸载某一个目录;
-v :显示共享的目录。
b)客户端在使用nfs时,经常使用一个选项就是 -o nolock,如:
mount -t nfs -o nolock 192.168.0.120:/home/text /mnt/
意思指挂载的时候指定这个文件不加锁。
c)客户端开机加载这个文件能够在/etc/rc.local加入:
mount -t nfs -o nolock 192.168.0.120:/home/text /mnt/
疑问:服务端设置/home/text 192.168.0.0/24(rw,sync,no_root_squash)时,客户端写的时候容易卡