在CentOS 7下部署NFS的详细教程
NFS(Network File System)是一种分布式文件系统协议,允许用户在网络中的不同主机之间共享文件和目录。NFS广泛应用于Linux和Unix系统中,特别适合在集群环境中共享存储资源。本文将详细介绍如何在CentOS 7上部署NFS服务。
1. 环境准备
在开始之前,请确保你有两台CentOS 7的机器:
- NFS Server:用于提供共享目录的服务器。
- NFS Client:用于挂载和使用共享目录的客户端。
假设:
- NFS Server的IP地址为:
192.168.1.100
- NFS Client的IP地址为:
192.168.1.101
2. 在NFS Server上安装和配置NFS
2.1 安装NFS服务
首先,在NFS Server上安装NFS相关的软件包:
bash
sudo yum install -y nfs-utils
2.2 创建共享目录
接下来,创建一个用于共享的目录。例如,我们创建一个名为/shared
的目录:
bash
sudo mkdir /shared
为了测试,我们可以在该目录下创建一个文件:
bash
sudo touch /shared/testfile.txt
2.3 配置NFS导出目录
编辑NFS的配置文件/etc/exports
,指定要共享的目录和允许访问的客户端:
bash
sudo vi /etc/exports
在文件中添加以下内容:
bash
/shared 192.168.1.101(rw,sync,no_root_squash)
解释:
/shared
:要共享的目录。192.168.1.101
:允许访问的客户端IP地址。rw
:允许读写权限。sync
:同步写入,确保数据一致性。no_root_squash
:允许客户端以root用户身份访问共享目录。
2.4 启动NFS服务
配置完成后,启动NFS服务并设置开机自启:
bash
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
2.5 检查NFS共享
使用以下命令检查NFS共享是否配置成功:
bash
sudo exportfs -v
你应该会看到类似以下的输出:
bash
/shared 192.168.1.101(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
3. 在NFS Client上挂载共享目录
3.1 安装NFS客户端工具
在NFS Client上安装NFS客户端工具:
bash
sudo yum install -y nfs-utils
3.2 创建挂载点
在客户端上创建一个目录,用于挂载NFS共享目录。例如,我们创建一个名为/mnt/nfs
的目录:
bash
sudo mkdir -p /mnt/nfs
3.3 挂载NFS共享目录
使用以下命令挂载NFS共享目录:
bash
sudo mount -t nfs 192.168.1.100:/shared /mnt/nfs
3.4 验证挂载
使用df -h
命令查看挂载情况:
bash
df -h
你应该会看到类似以下的输出:
bash
192.168.1.100:/shared 50G 1.2G 49G 3% /mnt/nfs
你也可以通过ls
命令查看共享目录中的文件:
bash
ls /mnt/nfs
你应该能看到之前在NFS Server上创建的testfile.txt
文件。
3.5 设置开机自动挂载
为了在系统重启后自动挂载NFS共享目录,编辑/etc/fstab
文件:
bash
sudo vi /etc/fstab
在文件末尾添加以下内容:
bash
192.168.1.100:/shared /mnt/nfs nfs defaults 0 0
保存并退出。这样,每次系统启动时都会自动挂载NFS共享目录。
4. 测试NFS共享
为了确保NFS共享正常工作,你可以在客户端上创建一个文件,然后在服务器上查看:
在客户端上:
bash
sudo touch /mnt/nfs/clientfile.txt
在服务器上:
bash
ls /shared
你应该能看到clientfile.txt
文件。
5. 安全注意事项
-
防火墙配置:确保NFS Server的防火墙允许NFS相关的端口通过。你可以使用以下命令开放NFS服务:
bashsudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload
-
权限管理 :在
/etc/exports
中,确保只允许可信的客户端访问共享目录,并根据需要设置适当的权限。
6. 总结
通过以上步骤,你已经成功在CentOS 7上部署了NFS服务,并在客户端上挂载了共享目录。NFS是一个强大的工具,适用于需要在多台机器之间共享文件的场景。