如何在 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
相关推荐
尘浮生4 分钟前
Java项目实战II基于微信小程序的原创音乐小程序(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信小程序·小程序·maven
Elastic 中国社区官方博客21 分钟前
Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
晴天のVlog24 分钟前
Fastapi使用MongoDB作为数据库
数据库·python·mongodb·fastapi
三杯温开水24 分钟前
基于 CentOS7.6 的 Docker 下载常用的容器(MySQL&Redis&MongoDB),解决拉取容器镜像失败问题
redis·mysql·docker
chusheng184036 分钟前
Python 正则表达式进阶用法:量词与范围
python·mysql·正则表达式
Desmend__37 分钟前
正则表达式那些事儿
数据库·mysql·正则表达式
袁庭新1 小时前
LuaRocks如何安装数据库驱动?
java·数据库·redis·lua·luarocks·袁庭新
Narutolxy1 小时前
从 MySQL 5.7 到 8.0:理解 GROUP BY 的新规则与实战优化20241112
数据库
chusheng18401 小时前
Python 正则表达式进阶用法:分组与引用详解
数据库·python·正则表达式
喵叔哟2 小时前
重构代码之移动字段
java·数据库·重构