NFS是一种网络文件系统,英文全称Network File System,通过NFS可以让不同的主机系统之间共享文件或目录。通过NFS,用户可以直接在本地NFS客户端读写NFS服务端上的文件,是非常好的共享存储工具。本篇文章将介绍如何在CentOS7上安装NFS服务器,包括服务端和客户端安装两部分。
首先,切换为root用户并使用yum
包管理工具下载并安装nfs-utils,这是NFS服务的基础工具。
su #切换为root用户
yum install -y nfs-utils #使用yum下载安装nfs
在服务器上创建一个名为 share 的文件夹,并设置全权限以确保远程客户端能够正确访问。
mkdir /share #创建名为share的文件夹
chmod 777 /share #给share文件夹777全权限
使用vi
编辑器打开/etc
目录下的exports
文件,并在其中添加以下配置,定义共享目录的相关权限。
vi /ect/exports #用vi编辑器打开/ect/目录下的exports文件
在 exports 文件里写入以下内容:
/share *(rw,sync,no_root_squash,no_all_squash)
#/share: 共享目录位置。
#*: 客户端 IP 范围,* 代表所有,即没有限制。
#rw: 权限设置,可读可写。
#sync: 同步共享目录。
#no_root_squash: 可以使用 root 授权。
#no_all_squash: 可以使用普通用户授权。
重启rpcbind
和nfs-server
服务,并设置它们在系统启动时自动启动。此外,确保防火墙已打开rpc-bind
和nfs
的服务端口。
systemctl restart rpcbind #重启rpcbind服务
systemctl restart nfs-server #重启nfs-server服务
systemctl enable rpcbind #设置rpcbind服务开机自启
systemctl enable nfs-server#设置nfs-server服务开机自启
firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
firewall-cmd --reload #防火墙需要打开 rpc-bind 和 nfs 的服务
通过showmount
命令检查共享文件夹是否已正确挂载。
showmount -e localhost #检查共享文件夹的挂载
使用systemctl
命令查询NFS服务的状态,可以进行启动、停止和重启等操作。
systemctl status nfs #查询服务状态
systemctl stop nfs #停止服务
systemctl start nfs #开启服务
systemctl restrart nfs #重启服务
如果NFS服务正常工作,状态为Active,说明配置成功!
通过这一系列步骤,您已经成功安装和配置了NFS服务端,确保了文件夹的共享和远程访问。这对于构建分布式系统中的文件共享和访问提供了可靠的基础。
在客户端,首先切换为 root 用户,然后使用 yum 包管理工具下载并安装 nfs-utils。接着,创建一个名为 client-share 的目录,并赋予它全权限。
su #切换为root用户
yum install -y nfs-utils #使用yum下载安装nfs
mkdir /client-share #创建名为client-share的目录
chmod 777 /client-share #给client-share文件夹777全权限
使用 mount 命令挂载NFS文件系统:
mount -t nfs LinuxIPAddress:/client-share /client-share #执行nfs挂载
通过上述命令,我们在本地的目录 /client-share 下挂载了远程主机(LinuxIPAddress)上的 /client-share 目录。这使得远程文件系统成为本地文件系统的一部分,可以直接在本地进行访问和操作。
查看挂载是否成功:
mount #查看挂载是否成功
执行 mount 命令可以查看当前系统上已经挂载的文件系统,确保NFS的挂载是否成功。在输出中应该能够找到对应的挂载点。
通过以下步骤测试NFS的正确性:
在客户端向共享目录创建一个文件a:
touch /client-share/a #在客户端向共享目录创建一个文件a
接着去NFS服务端查看,验证是否成功写入文件a:
进入NFS服务端,进入相应的共享目录,查看是否能够找到文件a:
#接着去 NFS 服务端 查看,看到共享目录已经成功写入文件a。
cd /server-share ls
如果在NFS服务端的共享目录中看到了文件a,那么说明NFS的挂载和写入操作都成功了。
通过这一系列步骤,我们实现了NFS的挂载和简单的写入操作验证。这是在分布式系统中实现文件共享和访问的一种有效手段,确保文件系统在不同机器之间的一致性和互操作性。