NFS服务器的架设
因为NFS支持的功能相当多,而不同的功能会使用不同的程序来启动,每启动一个功能
一、所需软件
1、RPC主程序:prcbind
2、NFS主程序:nfs-utils
查询软件包是否已经安装:
从上面已经看到已经安装了软件,若未安装,使用yum install nfs-utils来安装。
服务器端:192.168.1.248 客户端:192.168.1.189
NFS服务器共享部署实例:
例一:
要求:服务器将/tmp共享出去,所有的人都具有读写权限,并且root写入的文件还具有root权限。客户端挂载在/home/public目录下
方案:
服务器端:
主机名使用通配符*,上面的意思就是无论来自哪里的客户端都可以使用/tmp这个目录。注意:*(rw,no_root_squash)这个设置值中间是没有空格符的。上面的no_root_squash的意思表示如果你是客户端的root,那么当你mount我这部主机的/tmp之后,你在mount的目录中,将拥有root的权限。
配置好之后,重启服务:
客户端:使用root用户,启动网络功能,RPC,NFS服务。
但是使用showmount命令的时候,出现错误的提示,怎么办?从错误提示中可以看到,说是No route to the host.
ping 一下对方主机:
Ping得通,证明网络没问题。那应该是防火墙问题
服务器端把iptables 关闭试一下:
客户端再来试验下:
OK!
下面开始挂载:
下面再来看一个需求:
服务器:将公共目录/home/public开放,但是需要限定在局域网内192.168.1.0/24这个网络且加入mygroup的用户才能有读写权限,其他来源的客户只有读权限。
服务器端:
对于NFS服务,需要注意的是,要对这个服务的权限问题搞明白!!
配置NFS开机即挂载
1、我们知道开机就挂载的挂载点与相关的参数是写入/etc/fstab文件中的,那么NFS能不能写入/etc/fstab中呢?
分析一下:开机的时候,我们是在本机挂载之后,再启动网络功能的,因此,当我们尝试利用/etc/fstab挂载NFS的时候,系统都还没有启动网络服务,所以,肯定挂载不成功的。那么,该怎么办呢?
写入/etc/rc.d/rc.local即可
来试一下:
重启:
可以看到,完全OK!
开机挂载没问题后,来看一下怎么自动挂载,自动卸载。
使用autofs服务:
步骤一、客户端安装autofs服务
步骤二、建立主配置文件/etc/auto.master,并指定检测的特定目录
步骤三、建立数据对应文件内/etc/auto.nfs的挂载信息与服务器对应的资源
重启autofs服务:
查看:
完全没问题。
下面来一个整体的练习:
服务器端要求如下:
(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 ~]#
重启nfs服务
客户端:
执行以下这个脚本即可。