实验01:NFS共享服务

 

 

. 实验目标

 

     RHEL5.9_A:192.168.10.253/24

     RHEL5.9_B:192.168.10.200/24

  1. 将/root 共享给192.168.10.200,可写、同步,允许客户机以root权限访问

  2. 将/usr/src 共享给192.168.10.200/24网段,可写、异步  

  3. 在上一个实验基础上实现客户端上面所有用户身份都映射成nfsnobody

  4. 在客户端实现开机自动挂载NFS服务器共享的/root目录到本地/data/root

     在客户端实现触发挂载NFS服务器共享的/usr/src目录到本地/data/src

 

. 实验步骤

 

一.可写.同步

 

(一)NTFS服务端操作

 

1. 软件包及目录准备。

  [root@dhcpser ~]# rpm -q nfs-utils portmap

   nfs-utils-1.0.9-66.el5

   portmap-4.0-65.2.2.1

[root@dhcpser ~]# mkdir /ptest   //创建共享测试目录

[root@dhcpser ~]# echo "Welcome to NFS station" > /ptest/nfs.txt

                                                //创建测试文件

[root@dhcpser ~]# ls -ld /ptest/          /检查目录的默认权限

drwxr-xr-x 2 root root 4096 09-12 04:17 /ptest/  

 

    2. 配置/etc/exports共享文件并修改权限

[root@dhcpser ~]# vim /etc/exports

  /boot 192.168.10.200(rw,sync,no_root_squash)     

          

3. 启动 portmap 服务

[root@dhcpser ~]# service portmap restart

停止 portmap:                                             [确定]

启动 portmap:                                             [确定]

[root@dhcpser ~]# chkconfig portmap on     //设置portmap自启动

 

4. 启动 nfs服务

[root@dhcpser ~]# service nfs restart//确保启动nfs

关闭 NFS mountd:                        [失败]

关闭 NFS mountd:                                          [确定]

关闭 NFS 守护进程:                                        [确定]

关闭 NFS quotas:                                          [确定]

关闭 NFS 服务:                                            [确定]

启动 NFS 服务:                                            [确定]

关掉 NFS 配额:                                            [确定]

启动 NFS 守护进程:                                        [确定]

启动 NFS mountd:                                          [确定]

Stopping RPC idmapd:                                       [确定]

正在启动 RPC idmapd:                                      [确定]

[root@dhcpser ~]# chkconfig portmap on    //设置portmap自启动

[root@dhcpser ~]# chkconfig nfs on      //设置nfs自启动

[root@dhcpser ~]# service portmap restart  

[root@dhcpser ~]# chkconfig network on    //设置portmap自启动

 

(二)NFS客户端操作

 

1 启动portmap

[root@localhost ~]# service portmap restart

停止 portmap:                                             [确定]

启动 portmap:                                             [确定]

 

2. 查看服务器的NFS共享资源列表

  [root@localhost ~]# showmount -e 192.168.10.253

  Export list for 192.168.10.253:

  /boot 192.168.10.200

 

3. 检查目标服务器的NFS服务状态

   [root@localhost ~]#  rpcinfo -p 192.168.10.200 // 程序版本协议端口   

    100000    2   tcp    111  portmapper

    100000    2   udp    111  portmapper

    100024    1   udp    635  status

    100024    1   tcp    638  status

 

4. 从客户机192.168.10.200挂在/boot共享文件

[root@localhost ~]#  mkdir -p /data/root/    //建文件

[root@localhost ~]# mount 192.168.10.253:/boot/ /data/root/

[root@localhost ~]# df -hT    //检查挂载结果

文件系统      类型    容量  已用 可用 已用% 挂载点

/dev/sda2     ext3     19G   11G  7.2G  61% /

/dev/sda1     ext3     99M   12M   82M  13% /boot

tmpfs        tmpfs    500M     0  500M   0% /dev/shm

/dev/hdc   iso9660    4.1G  4.1G     0 100% /media/RHEL_5.9 x86_64 DVD

192.168.10.253:/boot/

               nfs     99M   12M   82M  13% /data/root

5. 测试读写权限

[root@localhost root]# touch file.txt

[root@localhost root]# ls -l file.txt 

-rw-r--r-- 1 root root 0 09-13 23:54 file.txt

 

二.可写.异步

 

(一)服务端操作

 

1.  配置/etc/exports共享文件并修改权限  

[root@dhcpser ~]# vim /etc/exports 

    /boot 192.168.10.200(rw,sync,no_root_squash)

    /usr/src        192.168.10.0/24(rw,async)

 

2. 输出共享文件 

[root@dhcpser ~]# exportfs -rv

exporting 192.168.10.0/24:/usr/src

exporting 192.168.10.200:/boot

 

  3. 客户端权限都降为nfsnobody

[root@dhcpser ~]# setfacl -m u:nfsnobody:rwx /usr/src/

 

(二)客户端操作

 

 1.  查看服务器的NFS共享资源列表

[root@localhost ~]# mkdir /data/src/

[root@localhost ~]# showmount -e 192.168.10.253

Export list for 192.168.10.253:

/boot    192.168.10.200

/usr/src 192.168.10.0/24

 

    2. 从客户机挂载共享文件

 [root@localhost ~]# mount 192.168.10.253:/usr/src/ /data/src/

 

    3. 测试读写权限

[root@localhost ~]# cd /data/src/

   [root@localhost src]# touch filel.txt

[root@localhost src]# ls -l filel.txt 

-rw-r--r-- 1 nfsnobody nfsnobody 0 09-14 00:36 filel.txt       

  

三.映射

 

(一)客户端配置

 

 1. 添加文件夹权限

    [root@dhcpser ~]#  chmod o+w /usr/src/   

 

2. 改NFS主配置文件

  [root@dhcpser ~]# vim /etc/exports 

   /boot 192.168.10.200(rw,sync,no_root_squash)

   /usr/src        192.168.10.0/24(rw,async,all_squash)  

 

3.  查看  

  [root@dhcpser ~]# exportfs -rv

   exporting 192.168.10.0/24:/usr/src

   exporting 192.168.10.200:/boot

 

(二)NFS客户端操作  

 

    1. 检测文件夹权限

[root@localhost ~]# useradd tom

[root@localhost ~]# su - tom

[tom@localhost ~]$ cd /data/src/

[tom@localhost src]$ touch toml.txt

[tom@localhost src]$ ls -l toml.txt 

-rw-rw-r-- 1 tom tom 0 09-14 00:45 toml.txt    

 

     2. 测试读写权限

   [tom@localhost src]$ touch tom2.txt

   [tom@localhost src]$ ls -l tom2.txt 

   -rw-rw-r-- 1 nfsnobody nfsnobody 0 09-14 00:56 tom2.txt

 

四.开机自动挂载与触发挂载

 

(一)在客户端实现开机自动挂载NFS共享资源  

   

1. 添加NFS挂载设置

 [root@localhost ~]# vim /etc/fstab 

 192.168.10.253:/root /data/root  nfs   defaults,_netdev    0 0

 

2. 查看挂载结果

 [root@localhost ~]# grep /data/root /etc/fstab 

 192.168.10.253:/root  /data/root nfs  defaults,_netdev   0 0

 

3. 自动挂载主目录

 [root@localhost ~]# vim  /etc/auto.master

 /mnt   /etc/auto.data  

 [root@localhost ~]# grep mnt /etc/auto.master

/mnt   /etc/auto.data

 

4. 启动服务

 [root@localhost ~]# service autofs restart

  启动 automount:                                           [确定]

 [root@localhost ~]# chkconfig autofs on

 

(二)在客户端实现触发挂载NFS共享资源

 

    1. 添加自动挂载NFS设置

 [root@localhost ~]# vim /etc/auto.data

  src     -fstype=nfs,rw  192.168.10.253:/usr/src

 [root@localhost ~]# cat /etc/auto.data

  src     -fstype=nfs,rw  192.168.10.253:/usr/src

 

     2. 启动服务

 [root@localhost ~]# service autofs restart

  启动 automount:                                           [确定]

 [root@localhost ~]# chkconfig autofs on

 

.  问题和经验总结

 

故障现象:挂载失败,目标主机不可达

 [root@localhost ~]# mount 192.168.10.253:/root/ /data/root/

mount: 192.168.10.253:/root/ failed, reason given by server:  

Permission denied

 

解决办法:目录写错/root/-/boot/

[root@localhost ~]# mount 192.168.10.253:/boot/ /data/root/

mount: 192.168.10.253:/root/ failed, reason given by server: Permission denied

 

解决办法:目录权限

     [root@localhost ~]# chmod 755 /boot