首页 > 其他 > 详细

NFS

时间:2019-05-31 12:34:45      阅读:164      评论:0      收藏:0      [点我收藏+]

一,软件及软件结构

要设定好 NFS 服务器我们必须要有两个软件才行,分别是:

    • RPC 主程序:rpcbind
      就如同刚刚提的到,我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)
    • NFS 主程序:nfs-utils
      就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!
  • 主要配置文件:/etc/exports
    这个档案就是 NFS 的主要配置文件了!不过,系统并没有默认值,所以这个档案『 不一定会存在』,你可能必须要使用 vim 主动的建立起这个档案喔!
  • NFS 文件系统维护指令:/usr/sbin/exportfs
    这个是维护 NFS 分享资源的指令,我们可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享等等,这个指令是 NFS 系统里面相当重要的一个文件目录
  • 分享资源的登录档:/var/lib/nfs/*tab
    在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。
  • 客户端查询服务器分享资源的指令:/usr/sbin/showmount
    这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。这个 showmount 可以用来察看 NFS 分享出来的目录资源喔!

二、系统环境

系统CentOS6.5

IP 192.168.1.100

四、安装NFS服务

1、查看系统是否已安装NFS

[root@bogon ~]# rpm -qa | grep nfs
[root@bogon ~]# rpm -qa | grep rpcbind
[root@bogon ~]# 

2、安装NFS

技术分享图片
[root@bogon ~]# yum -y install nfs-utils rpcbind
已加载插件:fastestmirror
设置安装进程
Loading mirror speeds from cached hostfile
... ...
已安装:
  nfs-utils.x86_64 1:1.2.3-70.el6_8.2                           rpcbind.x86_64 0:0.2.0-12.el6                          

作为依赖被安装:
  keyutils.x86_64 0:1.4-5.el6         libevent.x86_64 0:1.4.13-4.el6         libgssglue.x86_64 0:0.1-11.el6           
  libtirpc.x86_64 0:0.2.1-11.el6_8    nfs-utils-lib.x86_64 0:1.1.5-11.el6    python-argparse.noarch 0:1.2.1-2.1.el6   

完毕!
技术分享图片

五、服务端配置

 

在NFS服务端上创建共享目录/data/lys并设置权限

[root@bogon ~]# mkdir -p /data/lys
[root@bogon ~]# ll /data/
总用量 4
drwxr-xr-x. 2 root root 4096 10月 21 18:10 lys
[root@bogon ~]# chmod 666 /data/lys/

编辑export文件

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

/data/lys 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync)
技术分享图片
常见的参数则有:

参数值    内容说明
rw  ro    该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync  async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
no_root_squash  root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行!
all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦!
anonuid  anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。
技术分享图片

配置生效

[root@bogon lys]# exportfs -r

启动rpcbind、nfs服务

技术分享图片
[root@bogon lys]# service rpcbind start
正在启动 rpcbind:                                         [确定]
[root@bogon lys]# service nfs start
启动 NFS 服务:                                            [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]
技术分享图片

查看 RPC 服务的注册状况

技术分享图片
[root@bogon lys]# rpcinfo -p localhost
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  49979  mountd
    100005    1   tcp  58393  mountd
    100005    2   udp  45516  mountd
    100005    2   tcp  37792  mountd
    100005    3   udp  32997  mountd
    100005    3   tcp  39937  mountd
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100021    1   udp  51112  nlockmgr
    100021    3   udp  51112  nlockmgr
    100021    4   udp  51112  nlockmgr
    100021    1   tcp  43271  nlockmgr
    100021    3   tcp  43271  nlockmgr
    100021    4   tcp  43271  nlockmgr
技术分享图片
选项与参数:
-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;

在你的 NFS 服务器设定妥当之后,我们可以在 server 端先自我测试一下是否可以联机喔!就是利用 showmount 这个指令来查阅!

[root@bogon lys]# showmount -e localhost
Export list for localhost:
/data/lys 192.168.1.0/24
选项与参数:
-a :显示目前主机与客户端的 NFS 联机分享的状态;
-e :显示某部主机的 /etc/exports 所分享的目录数据。

六、客户端配置

安装nfs-utils客户端

技术分享图片
[root@bogon ~]# yum -y install nfs-utils
已安装:
  nfs-utils.x86_64 1:1.2.3-70.el6_8.2                                                                                  

作为依赖被安装:
  keyutils.x86_64 0:1.4-5.el6         libevent.x86_64 0:1.4.13-4.el6         libgssglue.x86_64 0:0.1-11.el6           
  libtirpc.x86_64 0:0.2.1-11.el6_8    nfs-utils-lib.x86_64 0:1.1.5-11.el6    python-argparse.noarch 0:1.2.1-2.1.el6   
  rpcbind.x86_64 0:0.2.0-12.el6      

完毕!
技术分享图片

 

创建挂载目录

[root@bogon ~]# mkdir /lys

查看服务器抛出的共享目录信息

[root@bogon ~]# showmount -e 192.168.1.100
Export list for 192.168.1.100:
/data/lys 192.168.1.0/24

为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议

[root@bogon ~]# mount -t nfs 192.168.1.100:/data/lys /lys -o proto=tcp -o nolock

七、测试结果

查看挂载结果

技术分享图片
[root@bogon ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  1.1G   16G   7% /
tmpfs                 112M     0  112M   0% /dev/shm
/dev/sda1             477M   54M  398M  12% /boot
192.168.2.203:/data/lys
                       18G  1.1G   16G   7% /lys
技术分享图片

服务端

[root@bogon lys]# echo "test" > test.txt

客户端

[root@bogon ~]# cat /lys/test.txt 
test
[root@bogon ~]# echo "204" >> /lys/test.txt 

服务端

[root@bogon lys]# cat /data/lys/test.txt 
test
204

卸载已挂在的NFS

技术分享图片
[root@bogon ~]# umount /lys/
[root@bogon ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       18G  1.1G   16G   7% /
tmpfs                 112M     0  112M   0% /dev/shm
/dev/sda1             477M   54M  398M  12% /boot
技术分享图片

到此结束

 

NFS

原文:https://www.cnblogs.com/zhangan/p/10954441.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!