如何在 CentOS 6 上设置 NFS 挂载

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

关于 NFS(网络文件系统)挂载

NFS 挂载用于在多台服务器之间共享目录。这样做的优势在于节省磁盘空间,因为家目录只保存在一台服务器上,其他服务器可以通过网络连接到它。在设置挂载时,NFS 对于永久固定的应始终可访问的情况最为有效。

设置

NFS 挂载在至少两台服务器之间设置。托管共享网络的机器称为服务器,而连接到它的机器称为"客户端"。

本教程需要 2 台服务器:一台作为服务器,一台作为客户端。我们将首先设置服务器机器,然后是客户端。以下 IP 地址将分别指代它们:

主服务器:12.34.56.789

客户端:12.33.44.555

系统应以 root 用户身份设置。您可以通过输入以下命令访问 root 用户:

复制代码
sudo su

设置 NFS 服务器

第一步---下载所需软件

首先使用 apt-get 安装 nfs 程序。

复制代码
yum install nfs-utils nfs-utils-lib

随后,运行几个 NFS 服务器的启动脚本:

复制代码
chkconfig nfs on 
service rpcbind start
service nfs start

第二步---导出共享目录

下一步是决定要与客户端服务器共享的目录。然后,将所选目录添加到 /etc/exports 文件中,该文件指定要共享的目录以及共享方式的详细信息。

假设我们想要共享目录 /home。

我们需要导出该目录:

复制代码
vi /etc/exports

在文件底部添加以下行,与客户端共享目录:

复制代码
/home           12.33.44.555(rw,sync,no_root_squash,no_subtree_check)

这些设置完成了几项任务:

  • rw: 此选项允许客户端服务器在共享目录中进行读写操作
  • sync: Sync 仅在更改已提交后确认对共享目录的请求。
  • no_subtree_check: 此选项防止子树检查。当共享目录是较大文件系统的子目录时,nfs 执行扫描以验证其上面的每个目录的权限和详细信息。禁用子树检查可能会提高 NFS 的可靠性,但降低安全性。
  • no_root_squash: 此短语允许 root 用户连接到指定目录

<p完成每个目录的设置后,运行以下命令导出它们:

复制代码
exportfs -a

设置 NFS 客户端

第一步---下载所需软件

首先使用 apt-get 安装 nfs 程序。

复制代码
yum install nfs-utils nfs-utils-lib

第二步---挂载目录

一旦程序已下载到客户端服务器,创建将包含 NFS 共享文件的目录

复制代码
mkdir -p /mnt/nfs/home

然后继续挂载它

复制代码
mount 12.34.56.789:/home /mnt/nfs/home

<p您可以使用 df -h 命令检查目录是否已挂载。您将在列表的最后看到它。

复制代码
df -h
复制代码
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda               20G  783M   18G   5% /
12.34.56.789:/home       20G  785M   18G   5% /mnt/nfs/home

<p此外,使用 mount 命令查看已挂载的文件系统的完整列表。

复制代码
mount

<p您的列表应如下所示:

复制代码
/dev/sda on / type ext4 (rw,errors=remount-ro)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
12.34.56.789:/home on /mnt/nfs/home type nfs (rw,noatime,nolock,bg,nfsvers=2,intr,tcp,actimeo=1800,addr=12.34.56.789)

测试 NFS 挂载

<p一旦成功挂载了 NFS 目录,您可以通过在客户端创建文件并检查其在服务器上的可用性来测试它。

<p在目录中创建一个文件以尝试:

复制代码
touch /mnt/nfs/home/example

<p然后您应该能够在 /home 中找到该文件。

复制代码
ls /home

<p您可以通过将目录添加到客户端的 fstab 文件来确保挂载始终处于活动状态。这将确保在服务器重新启动后挂载启动。

复制代码
vi /etc/fstab
复制代码
12.34.56.789:/home  /mnt/nfs/home   nfs      auto,noatime,nolock,bg,nfsvers=3,intr,tcp,actimeo=1800 0 0

<p您可以通过输入以下命令了解有关 fstab 选项的更多信息:

复制代码
man nfs

<p在任何后续服务器重新启动后,您可以使用单个命令挂载 fstab 文件中指定的目录:

复制代码
mount -a

<p您可以使用前面的两个命令检查已挂载的目录:

复制代码
df -h
复制代码
mount

移除 NFS 挂载

<p如果您决定移除目录,可以使用 umount 命令卸载它:

复制代码
cd
sudo umount /目录名称

<p然后再次查看文件系统,您会发现您选择的已挂载目录已消失。

复制代码
df -h
相关推荐
李广坤5 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12021 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1771 天前
《从零搭建NestJS项目》
数据库·typescript
加号32 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏2 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐2 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再2 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
WeiXin_DZbishe2 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5
tryCbest2 天前
数据库SQL学习
数据库·sql