NFS 是一种基于 TCP/IP 传输的网络文件系统协议, 最初由 SUN 公司开发. 通过使用 NFS 协议客户机可以向访问本地目录一样访问远程服务器中的共享资源. 对大多数复制均衡群集来说, 使用 NFS 协议来共享数据存储比较适用.
NFS 服务的实现依赖于 RPC(remote process call, 远端过程调用) 机制, 以完成远程到本地的映射过程, 在 centos6 中, 需要安装 nfs-utils,rpcbind 软件包来提供 NFS 共享服务, 前者用于 NFS 共享发布和访问, 后者用于 RPC 支持.
l 安装部署:
l 安装 nfs-utils,rpcbind, 提供 NFS 共享的服务为 nfs, 完成安装以后建议调整两个服务的自启动状态, 以便每次开机后自动启动. 手动加载 NFS 共享服务时, 应该先启动 rpcbind, 然后在启动 nfs.
- yum -y install nfs-utils rpcbind
- chkconfig nfs on
- chkconfig rpcbind on
l 设置共享目录
NFS 的配置文件为 / etc/exports, 文件内容默认为空 (无任何共享), 在 exports 文件中设置共享资源时, 记录格式为:"目录位置 客户机地址 (权限选项)". 例如要将文件夹
/usr/local/nginx/html 共享给 192.168.152.0 网段使用, 允许读写操作.
- vi /etc/exports
- /usr/local/nginx/html/ 192.168.152.0/24(rw,sync,no_root_squash)
解释一下:
其中客户机地址可以是主机名, ip 地址, 允许使用 "*" 等通配符, 多个时空格隔开即可; 权限选项中的 rw 表示允许读写; ro 为只读; sync 表示同步写入, no_root_squash 表示当客户机以 root 身份访问时赋予本地 root 权限 (默认是 root_squash, 将作为 nfsnobody 用户降权对待).
l 启动 NFS 服务:
- service rpcbind start
- service nfs start
- netstat -anpt | grep rpcbind
查看本机 NFS 共享目录:
showmount -e
l 在客户机中访问 NFS 共享资源:
NFS 协议的目标是提供一种网络文件系统, 因此对 NFS 共享的访问也使用 mount 命令来进行挂载, 对应得文件系统类型为 nfs.
若要正常访问 NFS 共享资源, 客户机中也需要安装 rpcbind 软件包, 并启动 rpcbind 服务, 另外为了使用 showmount 查询工具, 最好将 nfs-utils 软件包也装上.
安装部署客户机端:
- yum -y install rpcbind nfs-utils
- chkconfig rpcbind on
- service rpcbind start
l 查看 NFS 服务器端共享目录:
showmount -e 192.168.152.130
l 手动挂载 NFS 共享目录:
以 root 用户身份执行 mount 操作, 将 NFS 服务器共享的 / usr/local/nginx/html 目录挂载到本地目录的 / var/www/html/. 与挂载不同的是, 设备位置应该指出服务器地址.
mount 192.168.152.130:/usr/local/nginx/html /user/local/nginx/html
l 查看挂载结果:
tail -1 /etc/mtab(前面的 - 1, 是数字 1)
完成挂载以后, 访问客户机的 / usr/local/nginx/html 文件夹, 实际上就相当于访问 NFS 服务器中的 / usr/local/nginx/html 文件夹. 其中的网络映射过程对于用户来说是透明的.
来源: http://www.bubuko.com/infodetail-2720082.html