NFS服务器的架设

因为NFS支持的功能相当多,而不同的功能会使用不同的程序来启动,每启动一个功能

一、所需软件

1、RPC主程序:prcbind

2、NFS主程序:nfs-utils

查询软件包是否已经安装:

140546828.jpg

从上面已经看到已经安装了软件,若未安装,使用yum install nfs-utils来安装。

服务器端:192.168.1.248 客户端:192.168.1.189

NFS服务器共享部署实例:

例一:

要求:服务器将/tmp共享出去,所有的人都具有读写权限,并且root写入的文件还具有root权限。客户端挂载在/home/public目录下

方案:

服务器端:

140546618.jpg

主机名使用通配符*,上面的意思就是无论来自哪里的客户端都可以使用/tmp这个目录。注意:*(rw,no_root_squash)这个设置值中间是没有空格符的。上面的no_root_squash的意思表示如果你是客户端的root,那么当你mount我这部主机的/tmp之后,你在mount的目录中,将拥有root的权限。

配置好之后,重启服务:

140548491.jpg

客户端:使用root用户,启动网络功能,RPC,NFS服务。

140549654.jpg

140550179.jpg

但是使用showmount命令的时候,出现错误的提示,怎么办?从错误提示中可以看到,说是No route to the host.

ping 一下对方主机:

141210707.jpg

Ping得通,证明网络没问题。那应该是防火墙问题

服务器端把iptables 关闭试一下:

140551781.jpg

客户端再来试验下:

140552274.jpg

OK

下面开始挂载:

140553210.jpg

下面再来看一个需求:

服务器:将公共目录/home/public开放,但是需要限定在局域网内192.168.1.0/24这个网络且加入mygroup的用户才能有读写权限,其他来源的客户只有读权限。

服务器端:

140556359.jpg

对于NFS服务,需要注意的是,要对这个服务的权限问题搞明白!!

配置NFS开机即挂载

1、我们知道开机就挂载的挂载点与相关的参数是写入/etc/fstab文件中的,那么NFS能不能写入/etc/fstab中呢?

分析一下:开机的时候,我们是在本机挂载之后,再启动网络功能的,因此,当我们尝试利用/etc/fstab挂载NFS的时候,系统都还没有启动网络服务,所以,肯定挂载不成功的。那么,该怎么办呢?

写入/etc/rc.d/rc.local即可

来试一下:

140557392.jpg

重启:

140558127.jpg

可以看到,完全OK

开机挂载没问题后,来看一下怎么自动挂载,自动卸载。

使用autofs服务:

步骤一、客户端安装autofs服务

140559653.jpg

步骤二、建立主配置文件/etc/auto.master,并指定检测的特定目录

140559984.jpg

 

步骤三、建立数据对应文件内/etc/auto.nfs的挂载信息与服务器对应的资源

140600649.jpg

重启autofs服务:

140601293.jpg

查看:

140604407.jpg

完全没问题。

下面来一个整体的练习:

服务器端要求如下:

(1)服务器IP:192.168.1.248

(2)/tmp设置成可读写,并且不限制客户身份的方式,共享给192.168.1.0/24这个网段的所有计算机

(3)/home/nfs共享的属性为只读,可提供除了网段内的工作站外,向Internet亦提供数据内容

(4)/home/upload作为192.168.1.0/24这个网段的数据上传目录,其中 /home/upload的目录及其所属的组为nfs-upload这个名字,它的UID和GID均为210.

(5)/home/andy这个目录共享给192.168.1.189这台主机。以供该主机上的andy这个用户来使用,也就是说,andy在192.168.1.189及192.168.1.248上均有账号andy,所以预计开放/home/andy给andy使用它的用户主目录。

服务器端实际演练操作:

[root@Centos ~]# cat /etc/exports 

/tmp 192.168.1.0/24(rw,no_root_squash)

/home/nfs 192.168.1.0/24(ro) *(ro,all_squash)

/home/upload 192.168.1.0/24(rw,all_squash,anonuid=210,anongid=210)

/home/andy 192.168.1.189(rw)

[root@Centos ~]# ll -d /tmp/

drwxrwxrwt. 8 root root 12288 Jan6 14:02 /tmp/

[root@Centos ~]# ls /home/

docotormoLinux_Shellmyuser1nfsanonsshnot2testvird

doctormolost+foundmyuser2publicsshnot3test1vird2

linuxmomyuser3sshnot1studenttestsshxue

[root@Centos ~]# mkdir nfs

You have new mail in /var/spool/mail/root

[root@Centos ~]# chmod -R 755 nfs/

[root@Centos ~]# ll -d nfs/

drwxr-xr-x. 2 root root 4096 Jan6 15:29 nfs/

[root@Centos ~]# groupadd -g 210 nfs-upload

[root@Centos ~]# useradd -g 210 -u 210 -M nfs-upload

You have new mail in /var/spool/mail/root

[root@Centos ~]# ls

anaconda-ks.cfgDownloadsinstall.log.syslogPicturesVideos

Desktopfind1.logMusicPublic

Documentsinstall.lognfsTemplates

You have new mail in /var/spool/mail/root

[root@Centos ~]# mkdir -p /home/upload

You have new mail in /var/spool/mail/root

[root@Centos ~]# ll -d /home/upload/

drwxr-xr-x. 2 root root 4096 Jan6 15:50 /home/upload/

[root@Centos ~]# chown -R nfs-upload:nfs-upload /home/upload/

[root@Centos ~]# ll -d /home/upload/

drwxr-xr-x. 2 nfs-upload nfs-upload 4096 Jan6 15:50 /home/upload/

[root@Centos ~]# useradd andy

You have new mail in /var/spool/mail/root

[root@Centos ~]# ll -d /home/andy/

drwx------. 4 andy andy 4096 Jan6 15:51 /home/andy/

[root@Centos ~]#

140610474.jpg

重启nfs服务

140612198.jpg

客户端:

执行以下这个脚本即可。

140545928.jpg