NFS 共享存储服务 您所在的位置:网站首页 showmount命令报错 NFS 共享存储服务

NFS 共享存储服务

2023-12-10 05:47| 来源: 网络整理| 查看: 265

NFS 共享存储服务

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用 NFS 协议来共享数据存储是比较常见的做法,NFS 也是 NAS 存储设备必然支持的一种协议

使用 NFS 发布共享资源

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。 1.安装 nfs-utils、rpcbind 软件包 提供 RPC 支持的服务为 rpcbind,提供 NFS 共享的服务为 nfs,完成安装以后建议调整这两个服务的自启动状态,以便每次开机后自动启用。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

[root@localhost ~]# yum -y install nfs-utils rpcbind [root@localhost ~]# systemctl enable nfs [root@localhost ~]# systemctl enable rpcbind 设置共享目录

NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享)。在 exports 文件中设置共享资源时,记录格式为“目录位置 客户机地址(权限选项)”。

[root@localhost ~]# mkdir -p /opt/wwwroot [root@localhost ~]# vi /etc/exports /opt/wwwroot 20.0.0.40(rw,sync,no_root_squash) 其

中客户机地址可以是主机名、IP 地址、网段地址,允许使用*、?通配符;权限选项中的 rw 表示允许读写(ro 为只读),sync 表示同步写入,no_root_squash 表示当客户机以 root 身份访问时赋予本地 root 权限(默认是 root_squash,将作为 nfsnobody 用户降权对待)。 当需要将同一个目录共享给不同的客户机,且分配不同的权限时,只要以空格分隔指定多个“客户机(权限选项)”即可。例如,以下操作将/var/ftp/public 目录共享给两个客户机, 并分别给予只读、读写权限。

[root@localhost ~]# vi /etc/exports /var/ftp/pub 20.0.0.10(ro) 20.0.0.100(rw) 启动 NFS 服务程序 [root@localhost ~]# systemctl start rpcbind [root@localhost ~]# systemctl start nfs [root@localhost ~]# netstat -anpt | grep rpc tcp 0 0 0.0.0.0:200480.0.0.0:* LISTEN 10508/rpc.mountd tcp 0 0 0.0.0.0:527320.0.0.0:* LISTEN 10495/rpc.statd tcp6 0 0 :::20048 :::* LISTEN 10508/rpc.mountd tcp6 0 0 :::47669 :::* LISTEN 10495/rpc.statd 4.查 看本机发布的 NFS 共享目录 [root@localhost ~]# showmount -e Export list for localhost.localdomain: /opt/wwwroot 192.168.7.0/24 /var/ftp/pub 192.168.4.110,192.168.4.11 客户机中访问 NFS 共享资源

NFS 协议的目标是提供一种网络文件系统,因此对 NFS 共享的访问也使用 mount 命令来进行挂载,对应的文件系统类型为 nfs。既可以手动挂载,也可以加入 fstab 配置文件来实现开机自动挂载。 1.安装并启动 rpcbind 若要正常访问 NFS 共享资源,客户机中也需要安装 rpcbind 软件包,并启动 rpcbind 系统服务。另外,为了使用 showmount 查询工具,建议将 nfs-utils 软件包也一并装上。

[root@localhost ~]# yum -y install rpcbind nfs-utils [root@localhost ~]# systemctl enable rpcbind [root@localhost ~]# systemctl start rpcbind

如果已经安装了 nfs-utils 软件包,则客户机也可以使用 showmount 查看 NFS 服务器端共享了哪些目录,查询格式为“showmount -e 服务器地址”。

[root@localhost ~]# showmount -e 192.168.7.250 Export list for 192.168.7.250: /opt/wwwroot 192.168.7.0/24 /var/ftp/pub 192.168.4.110,192.168.4.11 2. 手动挂载 NFS 共享目录

以 root 用户身份执行 mount 操作,将 NFS 服务器共享的/opt/wwwroot 目录挂载到本地目录/var/www/html。与挂载本地文件系统不同的是,设备位置处应指出服务器地址。

[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html [root@localhost ~]# tail -1 /etc/mtab //确认挂载结果192.168.7.250:/opt/wwwroot /var/www/html nfs4 rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=6 00,retrans=2,sec=sys,clientaddr=192.168.7.21,local_lock=none,addr=192.168.7.250 0 0 [root@localhost ~]# vim /var/www/html/index.html //在客户机创建测试文件 Real Web Server Document 完

成挂载以后,访问客户机的/var/www/html 文件夹,实际上就相当于访问 NFS 服务器中的/opt/wwwroot 文件夹,其中的网络映射过程对于用户程序来说是透明的。例如,上述操作中创建的 index.html 测试文件,会立刻出现在服务器的/opt/wwwroot/目录下。 3.fstab 自动挂载设置 修改/etc/fstab 配置文件,加入 NFS 共享目录的挂载设置。注意将文件系统类型设为nfs,挂载参数建议添加_netdev(设备需要网络);若添加 soft、intr 参数可以实现软挂载,允许在网络中断时放弃挂载。这样客户机就可以在每次开机后自动挂载 NFS 共享资源了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有