如何实现 CentOS 7 服务器之间使用 NFS 共享目录

NFS 即 (Network File System) 的缩写,最大的功能就是能够经过网络,让不一样的机器、不一样的操做系统实现共享彼此的文件。html

NFS 服务端可让客户端将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是本身的一个磁盘分区同样,在使用上至关便利。linux

NFS 通常用来存储共享视频,图片,文件等静态数据。web

准备条件

  • 192.168.1.101 ,系统为 CentOS 7 ,NFS 服务端
  • 192.168.1.102 ,系统为 CentOS 7(固然也能够是其余类Unix系统),NFS 客户端

安装 NFS 服务

步骤1、安装 NFS 和 PRC 软件shell

若是要实现NFS共享目录,首先咱们要在一台 CentOS 7 上安装 NFS 服务,安装过程当中须要安装两个软件分别是rpcbindnfs-utils,安装命令以下:安全

yum install -y rpc-bind nfs-utils #安装nfs服务
yum install -y rpcbind #安装rpc服务

步骤2、启动服务并设置为开机自启动服务器

启动服务的过程须要注意,先启动 RPC 服务,再启动 NFS 服务,启动命令以下:网络

systemctl start rpcbind #启动rpc服务
systemctl enable rpcbind   #设置rpc服务开机启动
systemctl start nfs-server nfs-secure-server #启动nfs服务和nfs安全传输服务
systemctl enable nfs-server nfs-secure-server #设置nfs服务和nfs安全传输服务开机启动

若是开启了防火墙 Firewall,能够经过如下命令让防火墙放行 nfs 服务。app

firewall-cmd --permanent --zone=public --add-service=nfs   #配置防火墙放行nfs服务
firewall-cmd  --reload #配置修改后,在不改变状态的条件下从新加载防火墙使修改生效

步骤3、配置共享目录webapp

在服务端建立或使用已有的目录做为共享目录,并配置 /etc/exports 文件指明能够访问的客户端 IP 及权限。本例子中,咱们建立共享目录/home/linux265/webapp,经过 vi 编辑器来编辑 /etc/exports 文件,添加添加对应内容:async

/home/linux265/webapp 192.168.1.102(rw,no_root_squash,no_all_squash,sync)

参数解释以下:

  • /home/linux265/webapp 为共享的目录,使用绝对路径;
  • 192.168.1.102(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址能够是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.linux265.com,地址与权限中间没有空格;
参数 做用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 不管NFS客户端使用什么帐户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,而后再写入硬盘;这样效率更高,但可能会丢失数据

NFS 客户端配置

步骤1、使用showmount命令查看服务端容许共享的目录及容许访问的IP,命令以下:

showmount -e 192.168.1.101

输出内容:

export list for 192.168.1.101:
/home/linux265/webapp 192.168.1.102

showmount命令的用法:

参数 做用
-e 显示NFS服务器的共享列表
-a 显示本机挂载的文件资源的状况NFS资源的状况
-v 显示版本号

步骤2、客户端建立目录并挂载共享目录

在客户端机器 192.168.1.102 上咱们建立目录 /mnt/webapp做为共享目录的挂载目录。命令以下:

cd /mnt
mkdir webapp
mount -t nfs 192.168.1.101:/home/linux265/webapp /mnt/webapp

若是但愿每次系统启动自动挂在该目录,能够在该文件/etc/fstab中挂载。使用 vi 打开 文件/etc/fstab添加内容:

192.168.1.101:/home/linux265/webapp  /mnt/webapp       nfs    defaults 0 0

步骤3、验证挂在是否成功

挂在命令完成后,能够经过df命令查看是否正常挂载:

df -h

输出内容:

Filesystem      												Size  Used Avail Use% Mounted on
/dev/sda3       												1.1T  187G  827G  19% /
tmpfs            												32G   80K   32G   1% /dev/shm
/dev/sda1       												477M   40M  412M   9% /boot
192.168.1.101:/home/linux265/webapp     17G  3.7G   14G  22% /mnt/webapp

写在最后

经过该教程,您已经学会如何在 CentOS 7 服务器之间经过 NFS 来实现文件目录共享,固然该教程一样也适用于CentOS 6 系列,同时客户端能够是任何类Unix系统。但愿该教程对您有帮助,若是你有更好的建议或其它疑问请在下面留言讨论。

若是想了解更过关于 NFS 内容,请查看 NFS 文档说明

相关文章
相关标签/搜索