配置NFS服务


NFS(network file system),即网络文件系统;它用于在网络上共享存储。

这次试验准备两台虚拟机,一个作为服务端,一个为客户端。服务端共享一个目录,然后客户端挂载这个目录就可以实现共享存储了。


1、服务端配置NFS

首先需要安装两个包nfs-utils和rpcbind(用于服务端和客户端之间的通信,CentOS6版本以前都是安装portmap包,实际上是同一个东西)

[root@tpp ~]# yum install -y nfs-utils rpcbind

编辑配置文件

[root@tpp ~]# vim /etc/exports                   //写入以下内容
/mnt 192.168.0.104(rw,sync,all_squash,anonuid=502,anongid=502)

注:这里是共享出根目录下的mnt目录;指定只有192.168.0.104才能访问(我们也可以指定一个网段192.168.0.104/24);rw为可读写(ro只读);sync为同步模式(async非同步模式);不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;anonuid/anongid指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

启动NFS服务:

[root@tpp ~]# /etc/init.d/rpcbind start
[root@tpp ~]# /etc/init.d/nfs start

注:后期要是修改了/etc/exports这个配置文件,可以使用exportfs命令挂载不需要重启NFS服务。

[root@tpp ~]# exportfs -arv


2、客户端挂载NFS

客户端也要安装nfs-utils和rpcbind两个包

[root@tpp ~]# yum install -y nfs-utils rpcbind

在挂载之前,我们先查看共享了哪些目录

[root@tpp ~]# showmount -e 192.168.0.109      //此为服务端IP
Export list for 192.168.0.109:
/mnt 192.168.0.104

注:要关闭服务端的防火墙,要不然客户端查看不到该共享,会报如下的错:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

然后挂载NFS

[root@tpp ~]# mount -t nfs -onolock,nfsvers=3 192.168.0.109:/mnt /opt

注:-o nolock为不加锁;nfsers=3指定为版本3,不加会默认为4;192.168.0.109:/mnt /opt为从服务端/mnt目录挂载到客户端/opt目录。

我们可以查看到增加了一个/opt分区,它就是NFS共享的目录了

[root@tpp ~]# df -h

wKioL1Xz882jsywrAAERcaAcbm0555.jpg

然后我们在/opt在新建文件

[root@tpp ~]# cd /opt/
[root@tpp opt]# touch 1.txt        
[root@tpp opt]# mkdir 111
[root@tpp opt]# ls -l
总用量 4
drwxr-xr-x. 2 502 502 4096 9月  13 01:24 111
-rw-r--r--. 1 502 502    0 9月  13 01:20 1.txt

注:

(1)若报新建文件没有权限,我们还需去服务端,把/mnt目录权限改为任何人都可操作

[root@tpp ~]# chmod 777 /mnt

(2)这里显示对的uid和gid都是我们之前指定的502。若客户端/etc/passwd下id为502有对应的用户,则会显示用户名,而不是ID号。



3、加入到开机启动
我们把要挂载的NFS目录写到客户端的/etc/fstab

[root@tpp opt]# vim /etc/fstab      //添加下面一行
192.168.0.109:/mnt/     /opt      nfs     nolock     0 0

wKiom1Xz-Dzho8R3AAHz4hHI9UA726.jpg

因为刚我们挂载了NFS,所以先卸载

[root@tpp opt]# cd
[root@tpp ~]# umount /opt/

然后重新挂载,只要执行如下命令即可

[root@tpp ~]# mount -a

这样操作后,以后开机都会自动挂载NFS。



4、后记

若想把新建的文件都设置为root用户。

我们在服务端配置/etc/exports文件如下:

[root@tpp ~]# vim /etc/exports
/mnt 192.168.0.104(rw,sync,no_root_squash)
[root@tpp ~]# exportfs -arv                //重新加载NFS服务
exporting 192.168.0.104:/mnt


在客户端/opt目录下新建文件

[root@tpp opt]# touch 1.txt
[root@tpp opt]# touch 123
[root@tpp opt]# ls -l
总用量 0
-rw-r--r--. 1 root root 0 9月  13 02:05 123
-rw-r--r--. 1 root root 0 9月  13 02:05 1.txt

由上可知文件所属主和所属组都为root




你可能感兴趣的:(nfs)