NFS 即 (Network File System) 的缩写,最大的功能就是能够经过网络,让不一样的机器、不一样的操做系统实现共享彼此的文件。html
NFS 服务端可让客户端将网络中的 NFS 服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是本身的一个磁盘分区同样,在使用上至关便利。linux
NFS 通常用来存储共享视频,图片,文件等静态数据。web
步骤1、安装 NFS 和 PRC 软件shell
若是要实现NFS共享目录,首先咱们要在一台 CentOS 7 上安装 NFS 服务,安装过程当中须要安装两个软件分别是rpcbind
和nfs-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)
参数解释以下:
参数 | 做用 |
---|---|
ro | 只读 |
rw | 读写 |
root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 |
no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 |
all_squash | 不管NFS客户端使用什么帐户访问,均映射为NFS服务器的匿名用户 |
sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 |
async | 优先将数据保存到内存,而后再写入硬盘;这样效率更高,但可能会丢失数据 |
步骤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 文档说明。