一、NFS介绍
NFS(Network File System)是一种分布式文件系统,它允许网络中的客户端访问和共享文件。对于 Linux 系统,NFS 可以提供更方便的文件管理方式,并允许不同主机之间共享文件。以下是关于 Linux 系统 NFS 的使用场景和教程,适合 Linux / 网络运维小白阅读。
二、NFS 的使用场景
文件共享:NFS 最常见的用途是文件共享。通过 NFS,可以将一台计算机上的文件目录挂载到另一台计算机上,使得两台计算机可以共享这些文件。这对于团队开发、文件备份和还原等场景非常有用。
数据同步:NFS 可以实现不同主机之间的数据同步。当源服务器上的文件发生更改时,NFS 可以自动将更改同步到其他服务器上,确保所有服务器上的数据保持一致。
高可用性:通过 NFS,可以将文件存储在多个服务器上,以提高文件的可用性。当一台服务器出现故障时,其他服务器上的副本可以继续提供服务,保证系统的稳定性。
三、NFS 的安装与配置
1、安装 NFS:
在 Ubuntu/Debian 系统上,可以使用以下命令安装 NFS:
sudo apt-get update
sudo apt-get install nfs-kernel-server
在 CentOS/RHEL 系统上,可以使用以下命令安装 NFS:
sudo yum install nfs-utils
2、配置 NFS:
编辑 /etc/exports 文件,添加需要共享的目录和访问权限。例如:
/path/to/share *(rw,sync,no_root_squash)
这表示将 /path/to/share 目录共享给所有客户端,并允许读写访问。sync 表示数据同步,no_root_squash 表示允许 root 用户对共享目录具有完全访问权限。
3. 重启 NFS 服务:
使用以下命令重启 NFS 服务:
sudo service nfs-kernel-server restart
或者在 CentOS/RHEL 上:
sudo systemctl restart nfs-server.service
4、 客户端挂载:
在客户端上,使用以下命令挂载 NFS 共享目录:
sudo mount -t nfs -o rw server:/path/to/share /mnt/nfs
其中 server 是服务器 IP 地址或主机名,/path/to/share 是共享目录路径,/mnt/nfs 是客户端上挂载点路径。
5. 自动挂载:
为了让 NFS 共享目录在系统启动时自动挂载,需要编辑 /etc/fstab 文件,添加以下行:
server:/path/to/share /mnt/nfs nfs rw,sync,no_root_squash 0 0
保存并退出。这样在系统启动时,NFS 共享目录会自动挂载到客户端上。
四、案例说明
假设有两台服务器 A 和 B,A 服务器上有一个名为 /data 的目录需要共享给 B 服务器。在 A 服务器上配置 NFS:
在 A 服务器上安装 NFS 并配置 /etc/exports 文件:
/data *(rw,sync,no_root_squash)
在 A 服务器上重启 NFS 服务。
在 B 服务器上挂载 A 服务器的 /data 目录到本地 /mnt/nfs 路径:
sudo mount -t nfs -o rw A:/data /mnt/nfs
在 B 服务器上编辑 /etc/fstab 文件,添加以下行以实现自动挂载:
A:/data /mnt/nfs nfs rw,sync,no_root_squash 0 0