zoukankan      html  css  js  c++  java
  • Linux存储实验四:NFS的安装与配置

    这周我们继续来做NFS的安装与配置实验:

            NFS(Network File System)被称为网络文件系统。NFS允许一个系统在网络上与他人共享目录或文件,位于网络上的用户就像使用本地文件一样使用远端系统上的文件。说到这里,大家肯定会想到Windows下的一个类似服务:即网上邻居。对了,它和NFS的原理是一样的,只是NFS只针对Linux客户端与服务器。NFS客户机与服务器之间进行通信是通过RPC(Remote Procedure Call Protocol,远程过程调用)协议。

           NFS需要服务器端和客户端,我们需要对它们分别进行配置,由于在机房的时候我只有一台虚拟机,不过有另外机子有没人用的,我就用那台机子上的虚拟机当客户端了,至于怎么设置的到后面我会提到,但是我做的时候是在自己PC机上,有两台的。

            试验环境:Linux RedHat6.2     # 注: Linux 6以上的版本,NFS是系统默认安装的,不用我们再手动下载安装包了;还有portmap已经改名了,改为rpcbind了。 

            # 注: 如下操作中如果出现rpc等不能启动的情况,检查一下现将防火墙关了。

                                RedHat6.2下默认安装的nfs包有:

    [root@compute-0 mnt]# rpm -qa | grep nfs
    nfs-utils-lib-1.1.5-4.el6.x86_64
    nfs-utils-1.2.3-26.el6.x86_64

    实验步骤:

            1. 服务器端操作

                 1> 启动NFS服务                 

    [root@compute-0 mnt]# service nfs restart
    Shutting down NFS daemon:                                  [FAILED]
    Shutting down NFS mountd:                                  [FAILED]
    Shutting down NFS quotas:                                  [FAILED]
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@compute-0 mnt]# 

                2> 创建共享目录

                      我们一般会把/opt来做为共享目录,现在我们在/opt下创建一个我们自己的共享目录

    [root@compute-0 /]# mkdir -p /opt/share
    [root@compute-0 /]# cd /opt/
    [root@compute-0 opt]# pwd
    /opt
    [root@compute-0 opt]# ll
    total 4
    drwxr-xr-x 2 root root 4096 Apr 19 01:40 share
    [root@compute-0 opt]#

               3> 对/etc/exports进行配置,来共享我们的目录

    [root@compute-0 opt]# vi /etc/exports 
    [root@compute-0 opt]# 
    [root@compute-0 opt]# 
    [root@compute-0 opt]# cat /etc/exports 
    /opt/share   *(rw,sync,no_root_squash)
    [root@compute-0 opt]# 

                  这里我们要说一下,我们可以针对局域网内的所有用户共享,也可以单独针局域网内的一台主机共享,如果我们要设置单独针对222.31.64.200这个用户共享,/etc/exports中就改写为:  /opt/share     222.31.64.200(rw,sync,no_root_squash) ,括号里面的东西代表的是客户端对共享的目录拥有什么权限。在这里rw代表读写权限;sync代表不使用缓存,直接同步;no_root_squash代表对root用户不映射为nfsnobody用户,他对共享的目录还是root的权限。(#注:我认为NFS的安装与配置都很简单,实际应用中难的是对权限的控制,所以如何针对具体应用设置合适的权限,还需要我们慢慢总结经验!)

    所有的NFS中的权限列表如下:

                                                       

                   4>  重新启动NFS服务,并查看本机共享的文件目录

    [root@compute-0 opt]# service nfs restart
    Shutting down NFS daemon:                                  [  OK  ]
    Shutting down NFS mountd:                                  [  OK  ]
    Shutting down NFS quotas:                                  [  OK  ]
    Shutting down NFS services:                                [  OK  ]
    Starting NFS services:                                     [  OK  ]
    Starting NFS quotas:                                       [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Stopping RPC idmapd:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    [root@compute-0 opt]# showmount -e localhost
    Export list for localhost:
    /opt/share *
    [root@compute-0 opt]#

                   这里还有一种方式不需要重新启动NFS服务,当以后我们修改了/etc/exports文件之后可以重新停止在重新共享一下

    [root@compute-0 opt]# exportfs -au   # 停止
    [root@compute-0 opt]# showmount -e localhost
    Export list for localhost:
    [root@compute-0 opt]# exportfs -rv   # 重新共享
    exporting *:/opt/share
    [root@compute-0 opt]# showmount -e localhost
    Export list for localhost:
    /opt/share *
    [root@compute-0 opt]# 

           2. 客户端操作

               1> 启动NFS服务

                     service nfs restart

               2> 查看可以挂载的远程主机的目录

    [root@localhost ~]# showmount -e 222.31.64.100
    Export list for 222.31.64.100:
    /opt/share *
    [root@localhost ~]# 

               3> 创建本地挂载目录

    [root@localhost houqd]# mkdir -p /home/houqd/share
    [root@localhost houqd]# pwd
    /home/houqd
    [root@localhost houqd]# ll
    total 4
    drwxr-xr-x. 2 root root 4096 Apr 19 09:05 share
    [root@localhost houqd]#

              4> 将远程主机共享的目录挂载到本地

    [root@localhost houqd]# showmount -e 222.31.64.100
    Export list for 222.31.64.100:
    /opt/share *
    [root@localhost houqd]# mount -t nfs 222.31.64.100:/opt/share  /home/houqd/share/
    [root@localhost houqd]# mount 
    /dev/sda1 on / type ext4 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
    /dev/sda2 on /export type ext4 (rw)
    /dev/sda3 on /var type ext4 (rw)
    none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    222.31.64.100:/opt/share on /home/houqd/share type nfs (rw,vers=4,addr=222.31.64.100,clientaddr=222.31.64.101) # 已成功挂载
    [root@localhost houqd]#

              5> 测试

                   在远程主机的共享目录下创建一个文件,在本地我们就可以看到,从而实现了共享。

             6> 设置为开机自动挂载远程共享目录

    [root@localhost ~]# vi /etc/fstab 
    [root@localhost ~]# 
    [root@localhost ~]# tail -n 1 /etc/fstab 
    222.31.64.100:/opt/share     /home/houqd/share   nfs    defaults        0 0  # 添上这一句
    [root@localhost ~]# 

      在机房用另一台机子做客户端的解决方法:

               将虚拟机设置为桥接模式,这样该虚拟机就可以作为局域网内单独的一台机子了,它和所在主机在局域网内的地位是同等的。在手动设置它的IP(setup),使他们处于同一个网段,当然是和主机都在一个网段,然后相互ping通就可以了。虚拟机真是个伟大的发明。

    That's all .......

  • 相关阅读:
    201521123038 《Java程序设计》 第五周学习总结
    201521123020 《Java程序设计》第4周学习总结
    201521123020 《Java程序设计》第3周学习总结
    201521123020《Java程序设计》第2周学习总结
    Java第十二周学习总结
    Java第十一周学习总结
    Java第十周学习总结
    Java第九周学习总结
    Java第八周学习总结
    Java第七周学习总结
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3031665.html
Copyright © 2011-2022 走看看