1.NFS介绍
NFS(Network File System)是一种分布式文件系统协议,它允许客户端通过网络访问服务器上的文件,就像访问本地文件一样。NFS最初由Sun Microsystems开发,现在广泛应用于UNIX和类UNIX操作系统中。它基于RPC(Remote Procedure Call)协议,提供了一种简单而有效的文件共享机制。
2.NFS的优点
- 跨平台:NFS支持多种操作系统,包括Linux、UNIX、Windows等。
- 透明性:用户可以在客户端无缝地访问远程文件,无需关心文件实际存储的位置。
- 易于管理:管理员可以在服务器端轻松管理共享资源。
3.NFS的缺点
- 安全性:NFS默认不提供加密,数据在网络上以明文形式传输,安全性较差。
- 性能:在高负载情况下,NFS的性能可能会受到影响。
4.搭建流程
背景:现在有两台centos7服务器A和B,想要实现将A服务器/app/data路径下的所有数据文件共享给B服务器的/app/data,且B服务器可以在改路径创建、修改和移除相关数据文件
4.1.环境准备
服务器名称 | ip |
A | 192.168.74.132 |
B | 192.168.74.133 |
4.2.环境检查
两台服务器都需要安装rpcbind和nfs-utils,先检查系统有没有安装两个服务,部署过程使用root用户
A服务器:
rpm -qa | grep -E "rpcbind|nfs-utils" #检查是否安装
B服务器:
rpm -qa | grep -E "rpcbind|nfs-utils" #检查是否安装
如果没有安装,则安装相关服务
yum -y install rpcbind nfs-utils #安装
rpm -qa | grep -E "rpcbind|nfs-utils" #检查是否安装成功
4.3.服务器A作为服务端
mkdir /app/data #创建共享目录
vim /etc/exports #编辑共享配置
写入以下配置:
/app/data 192.168.74.133(rw,sync,no_root_squash)
说明:
/app/data #共享本机的哪个目录
192.168.74.133 #允许谁来访问共享目录,也可以写IP段,不同IP空格填写
rw #允许客户端在/app/data有读写权限
sync #数据同步到内存和磁盘
no_root_squash #以root身份访问时赋予本地root权限
更多参数可以百度查询
4.4.服务器A开启服务
systemctl start rpcbind #启动服务
systemctl start nfs #启动服务
systemctl enable rpcbind #开机自启
systemctl enable nfs #开机自启
exportfs -ra #刷新并导出/etc/exports中的内容
exports -v #验证结果
参数说明:
详情用man命令查看
man exportfs
4.5.服务器B开启服务
systemctl start rpcbind #启动服务
systemctl start nfs #启动服务
systemctl enable rpcbind #开机自启
systemctl enable nfs #开机自启
4.6.服务器B作为客户端
mkdir /app/data #创建共享目录
showmount -e 192.168.74.132 #客户端验证共享
mount -t nfs 192.168.74.132:/app/data /app/data #挂载
vim /etc/fstab #开机自动挂载
写入以下配置
192.168.74.132:/app/data /app/data nfs defaults 0 0
:wq #保存退出
mount -a #读取配置
查看是否挂载成功
[root@ecs-13675495 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 568K 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 ext4 40G 3.3G 35G 9% /
/dev/sdb1 ext4 99G 8.2G 86G 9% /app
/dev/loop0 iso9660 907M 907M 0 100% /mnt
192.168.74.132:/app/data nfs4 200G 0 200G 0% /app/data
[root@ecs-13675495 ~]#
在B服务器/app/data下创建一个文件,在A服务器/app/data下查看有没有这个文件,有则表示成功
5.卸载 NFS
客户端正在使用NFS时,如果出现服务端停止NFS进程,客户端在执行df和umount会出现卡死状态需要强制取消挂载
umount -lf /app/data #强制取消挂载
6.总结
构建NFS系统时步骤:
1.检查服务端、客户端是否安装相关服务
2.服务端配置
3.服务端开启服务
4.客户端开启服务
5.客户端挂载NFS
6.验证