关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

CentOS7 服务器之间如何使用 NFS 共享目录?

发布时间:2023/5/23 10:14:29
香港云服务器

如何实现 CentOS 7 服务器之间使用 NFS 共享目录?NFS 即 (Network File System) 的缩写,最大的功能就是可以通过网络,让不同的机器、不同的操作系统实现共享彼此的文件。

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

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


一、CentOS 7 服务器准备条件

192.168.1.101 ,系统为 CentOS 7 ,NFS 服务端

192.168.1.102 ,系统为 CentOS 7(当然也可以是其他类Unix系统),NFS 客户端


安装 NFS 服务

步骤1、安装 NFS 和 PRC 软件

如果要实现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 服务。

firewall-cmd --permanent --zone=public --add-service=nfs #配置防火墙放行nfs服务

firewall-cmd --reload #配置修改后,在不改变状态的条件下重新加载防火墙使修改生效


步骤3、配置共享目录

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

/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地址或者是一个域名,域名支持通配符,如:*.http://linux265.com,地址与权限中间没有空格;

| 参数 | 作用 | | -------------- | ------------------------------------------------------------ | | ro | 只读 | | rw | 读写 | | root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 | | no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 | | all_squash | 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 | | sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 | | async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |


二、NFS 客户端配置

步骤一、使用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 | 显示版本号 |


步骤二、客户端创建目录并挂载共享目录

在客户端机器 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


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

挂在命令完成后,可以通过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系统。希望该教程对您有帮助,如果你有更好的建议或其它疑问请在下面留言讨论。