当前位置: 首页 > news >正文

【九、Linux访问网络附加存储】

九、Linux访问网络附加存储

  • 1. 通过 NFS 挂载网络附加存储
    • 1.1 访问导出的 NFS 目录
    • 1.2 查询服务器的导出 NFS 目录
    • 1.3 挂载 NFS 共享三步骤
    • 1.4 卸载 NFS 共享
  • 2. 自动挂载网络附加存储
    • 2.1 自动挂载 NFS 共享(autofs 服务)
    • 2.2 创建自动挂载的步骤(autofs)
    • 2.3 直接映射(autofs)
    • 2.4 间接通配符映射(autofs)(重要)
    • 2.5 其他自动挂载方法(systemd.automount)

1. 通过 NFS 挂载网络附加存储

1.1 访问导出的 NFS 目录

  • NFS 协议核心特性

    • 互联网标准协议,适用于 Linux、UNIX 及类似操作系统,可作为本地网络文件系统,支持 Linux 本地权限和文件系统功能。
    • RHEL 9 中 NFS 版本为 4.2,全面支持 NFSv4 和 NFSv3 协议:
      • NFSv4:仅支持 TCP 协议,无需依赖传统 RPC 协议。
      • NFSv3:支持 TCP 或 UDP 协议,依赖 RPC 协议。
    • 工作原理:NFS 服务器通过“导出(export)”共享目录,NFS 客户端将共享目录挂载到本地挂载点,实现“本地访问远程文件”的效果。
  • 基础依赖安装:需安装 nfs-utils 软件包以支持 NFS 挂载,命令如下:

    [root@host-]# dnf install nfs-utils
    
  • NFS 共享挂载方式

    1. 手动挂载:使用 mount 命令临时挂载。
    2. 开机自动挂载:编辑 /etc/fstab 文件配置永久挂载。
    3. 按需挂载:通过 autofs 服务或 systemd.automount 功能,仅在访问时挂载。

1.2 查询服务器的导出 NFS 目录

NFSv3 与 NFSv4 协议的查询方式差异较大,需根据服务器支持的版本选择对应方法:

1. 查询 NFSv3 服务器导出目录

  • NFSv3 依赖 RPC 协议,服务器需运行 rpcbind 服务(监听端口 111),客户端通过 showmount 命令查询:
    [root@host-]# showmount --exports <服务器地址/主机名>
    # 示例输出:
    Export list for server
    /shares/test1
    /shares/test2
    

2. 查询 NFSv4 服务器导出目录

  • NFSv4 不依赖 RPC 协议,服务器无需运行 rpcbind 服务,showmount 命令会超时;需通过“挂载服务器 export tree 根目录”查看所有导出目录:
     1.创建本地挂载点
    [root@host-]# mkdir /mountpoint2. 挂载 NFSv4 服务器的根目录(/)
    [root@host-]# mount <服务器地址/主机名>:/ /mountpoint3. 浏览挂载点,查看所有导出目录
    [root@host-]# ls /mountpoint
    

1.3 挂载 NFS 共享三步骤

步骤1:识别可用 NFS 共享
客户端管理员可通过以下方式确认可用共享:

  • NFSv3:showmount --exports <服务器>
  • NFSv4:挂载服务器根目录后浏览。
  • 管理员文档或运维通知。

步骤2:创建本地挂载点
使用 mkdir 命令创建空目录作为挂载点(目录需不存在或为空):

[root@host-]# mkdir /mnt/nfs_share  # 示例挂载点

步骤3:执行挂载(临时/永久)

  • 临时挂载:使用 mount 命令,仅当前会话有效,重启后失效。

     语法:mount -t nfs -o <挂载选项> <服务器:/共享目录> <本地挂载点>
    [root@host-]# mount -t nfs -o rw,sync serverb:/shares /mnt/nfs_share选项说明:rw(读写权限)、sync(同步写入,数据实时落盘)
    ls -l /mnt/nfs_share:列出已挂载NFS导出的内容
    
  • 永久挂载:编辑 /etc/fstab 文件,实现开机自动挂载。

     1. 编辑 /etc/fstab
    [root@host-]# vim /etc/fstab2. 添加以下条目(格式:服务器:/共享目录  本地挂载点  文件系统  选项  0  0)
    serverb:/shares  /mnt/nfs_share  nfs  rw,soft  0  0选项说明:rw(读写)、soft(连接超时后返回错误,避免无限等待)3. 测试挂载(无需重启,加载 /etc/fstab 新配置)
    [root@host-]# mount -a
    

1.4 卸载 NFS 共享

  • 操作前提:确保挂载点未被使用(可通过 fuser -m /mnt/nfs_share 查看占用进程,用 kill 终止后卸载)。
  • 卸载命令:以 root 身份或使用 sudo 执行 umount 命令:
    [root@host-]# umount /mnt/nfs_share 按挂载点卸载 或按设备卸载(需先通过 df 查看设备路径)
    [root@host-]# df -h | grep nfs  # 查看 NFS 挂载对应的设备
    [root@host-]# umount /dev/mapper/...  # 按设备路径卸载
    

2. 自动挂载网络附加存储

2.1 自动挂载 NFS 共享(autofs 服务)

1. 自动挂载器核心作用
自动挂载器(autofs 服务)可“按需挂载”NFS 共享:仅当用户访问挂载点时自动挂载,闲置一段时间后自动卸载,避免资源浪费。

2. autofs 优势

  • 无需 root 特权:普通用户也可触发挂载/卸载(受权限约束)。
  • 资源优化:不占用永久网络连接和系统资源,闲置时自动释放。
  • 配置便捷:仅需在客户端配置,无需修改服务器设置。
  • 兼容性强:支持 NFS 及其他网络文件系统,挂载选项与 mount 命令一致。
  • 挂载点自动管理:间接映射场景下,autofs 自动创建/删除挂载点目录。

2.2 创建自动挂载的步骤(autofs)

步骤1:安装依赖包
需安装 autofsnfs-utils(确保 NFS 支持):

[root@host-]# dnf install autofs nfs-utils -y

步骤2:创建主映射文件

  • /etc/auto.master.d/ 目录添加一个主映射文件,文件名需以 .autofs 为扩展名(如 demo.autofs)。(此文件确定用于挂载点的基础目录,并确定用于创建自动挂载的映射文件。)
    可以在主映射文件中放置多个条目,或创建多个主映射文件。
  • 作用:定义挂载点的“基础目录”(父目录),并指定具体的映射文件路径。
     1. 创建主映射文件
    [root@host-]# vim /etc/auto.master.d/demo.autofs #后缀必须是.autofs2. 添加间接映射条目(格式:基础目录  映射文件路径)
    /shares  /etc/auto.demo说明:/shares 是所有自动挂载点的`父目录`,具体挂载点在 /etc/auto.demo 中定义(挂载点详细信息)
    

步骤3:创建映射文件(间接映射)

  • 映射文件(如 /etc/auto.demo)定义具体的挂载规则:挂载点(key)(父目录下的子目录名字)、挂载选项、NFS 共享源。
    映射文件的命名规则是/etc/auto.name,name反映了映射内容,如.demo,.direct,.wildcard。
     1. 创建映射文件
    [root@host-]# vim /etc/auto.demo2. 添加映射条目(格式:挂载点  -<选项>  服务器:/共享目录)
    work  -rw,sync  serverb:/shares/work
    (相对路径,间接映射)说明:- 挂载点:相对于主映射文件中的“基础目录”,最终路径为` /shares/work`- 选项:以“-”开头,逗号分隔(无空格),如 rw(读写)、sync(同步)- 共享源:NFS 服务器地址+共享目录
    

步骤4:启动并启用 autofs 服务

 启动服务并设置开机自启
[root@host-]# systemctl enable --now autofs验证服务状态
[root@host-]# systemctl status autofs

步骤5:测试自动挂载

 访问挂载点(触发自动挂载)
[root@host-]# cd /shares/work查看挂载状态(确认已挂载)
[root@host-]# df -h | grep /shares/work

2.3 直接映射(autofs)

1. 适用场景
将 NFS 共享直接映射到现有绝对路径挂载点(如 /mnt/docs),无需通过“基础目录”嵌套。

2. 配置方法

  • 主映射文件:基础目录固定为 /(表示直接映射),映射文件路径自定义。
    [root@host-]# vim /etc/auto.master.d/direct.autofs添加条目:/-  映射文件路径(/- 是直接映射的固定标识)
    /-  /etc/auto.direct
    
  • 映射文件:挂载点需写完整绝对路径
    [root@host-]# vim /etc/auto.direct条目格式:绝对挂载点  -<选项>  服务器:/共享目录
    /mnt/docs  -rw,sync  serverb:/shares/docs
    
  • 生效服务:重启 autofs 服务或重新加载配置:
    [root@host-]# systemctl restart autofs
    

3. 特性
autofs 会自动创建/删除整个绝对路径挂载点(如 /mnt/docs),无需手动管理目录。

2.4 间接通配符映射(autofs)(重要)

1. 适用场景
当 NFS 服务器导出一个目录下的多个子目录(如 serverb:/shares 下有 workdocstest 等子目录),且所有子目录使用相同挂载选项时,可通过通配符 & 简化配置,实现“访问任意子目录时自动挂载对应共享”。

2. 配置方法

  • 主映射文件:与普通间接映射一致,定义基础目录。
    [root@host-]# vim /etc/auto.master.d/wildcard.autofs
    /shares  /etc/auto.wildcard  # 基础目录 /shares,映射文件 /etc/auto.wildcard
    
  • 映射文件:用 & 代表“访问的子目录名称”,实现通配。
    [root@host-]# vim /etc/auto.wildcard条目格式:*(挂载点或密钥用*字符代替) -<选项>  服务器:/共享父目录/&& 匹配访问的子目录名)*  -rw,sync  serverb:/shares/&
    

3. 测试效果

# 访问 /shares/work(自动挂载 serverb:/shares/work)
[root@host-]# cd /shares/work
# 访问 /shares/docs(自动挂载 serverb:/shares/docs)
[root@host-]# cd /shares/docs

2.5 其他自动挂载方法(systemd.automount)

1. 核心特点

  • 基于 systemd 守护进程,无需安装 autofs 服务,配置更简洁。
  • 仅需在 /etc/fstab 中添加 x-systemd.automount 选项,systemd 会自动生成对应的 .automount 单元文件。
  • 局限性:仅支持直接映射(绝对路径挂载点),不支持间接通配符映射。

2. 配置步骤

  • 编辑 /etc/fstab:添加 x-systemd.automount 选项。
    [root@host-]# vim /etc/fstab
    # 添加条目(格式:服务器:/共享目录  绝对挂载点  nfs  选项  0  0)
    serverb.lab.example.com:/shares/direct  /mnt/demonfs  nfs  x-systemd.automount  0  0
    # 关键选项:x-systemd.automount(启用 systemd 自动挂载)
    
  • 重载 systemd 配置:生成并加载新的单元文件。
    [root@host-]# systemctl daemon-reload
    
  • 启动自动挂载单元
    # 单元文件命名规则:挂载点路径中的“/”替换为“-”,后缀为 .automount
    # 示例:/mnt/demonfs 对应的单元文件为 mnt-demonfs.automount
    [root@host-]# systemctl start mnt-demonfs.automount
    # 可选:设置开机自启
    [root@host-]# systemctl enable mnt-demonfs.automount
    

3. 触发机制
当用户首次访问 /mnt/demonfs 目录时,systemd 会自动挂载 NFS 共享;闲置后自动卸载。

http://www.dtcms.com/a/597818.html

相关文章:

  • 网站模块分析枣庄有做网站的吗
  • 记事本做网站怎么改字体出入合肥最新通知今天
  • 网站建设与管理任务分工可做网站的免费空间
  • 常见的自动化测试框架有哪些?(Selenium、Appium、Cypress等)
  • 做彩票网站多少钱网站建设道冲
  • 从C++开始的编程生活(12)——vector简单介绍和迭代器
  • 【MySQL | 基础】DQL
  • 为什么Redis不支持回滚
  • 中航网站建设国家icp备案网站
  • 中国室内设计联盟官方网站入口360建筑网怎么重新注册
  • 专业网站制作企业公司网站的制作公司
  • 深入理解Java泛型:类型擦除、通配符PECS原则与实践
  • Supabase 适用场景全解析:从原型到生产的落地指南
  • moodle网站建设自己做网站如何盈利
  • 网络建站网网络推广中国建设网官方网站电子银行
  • 专业网站排名优化公司公司企业logo
  • 《STM32单片机开发》p5
  • C#桌面框架与Qt对比及选型(国产操作系统开发视角)
  • (4)框架搭建:Qt实战项目之主窗体介绍
  • 网站开发建设准备工作公司在百度怎么推广
  • 大文件上传实战经验分享:从痛点到完美解决方案
  • 图书馆网站建设的作用iis8出现在网站首页
  • 如何使用Enterprise Architect和SysML进行复杂嵌入式系统建模
  • RocketMQ核心知识点
  • 网站运营岗位职责描述网络优化分为
  • 【 前端 -- css 】浮动元素导致父容器高度塌陷如何解决
  • 用html5的视频网站重庆公司有哪些
  • Leessun Procreate素描画笔套装含纸张纹理数字插画创作资源
  • websocket(即时通讯)
  • 宁波cms建站网站建设的切片是什么