Linux 目录挂载服务

Linux 服务器挂载文件目录通常有三种形式,手动挂载、自动挂载、Autofs 自动挂载,下面对这三个挂载做一下介绍,接受一下这三个区别以及使用场景:

准备服务器和客户端:

server 192.168.31.89 (企业里一般有专门的文件服务器,这里以一台服务器作为文件服务器,具体搭建较为简单,不再赘述)

client 192.168.31.90

1 手动挂载

这种方式比较简单,重点是掌握 mount命令知识即可,

Usage:
 mount [-lhV]
 mount -a [options]
 mount [options] [--source] <source> | [--target] <directory>
 mount [options] <source> <directory>
 mount <operation> <mountpoint> [<target>]

Options:
 -a, --all               mount all filesystems mentioned in fstab
 -c, --no-canonicalize   don't canonicalize paths
 -f, --fake              dry run; skip the mount(2) syscall
 -F, --fork              fork off for each device (use with -a)
 -T, --fstab <path>      alternative file to /etc/fstab
 -h, --help              display this help text and exit
 -i, --internal-only     don't call the mount.<type> helpers
 -l, --show-labels       lists all mounts with LABELs
 -n, --no-mtab           don't write to /etc/mtab
 -o, --options <list>    comma-separated list of mount options
 -O, --test-opts <list>  limit the set of filesystems (use with -a)
 -r, --read-only         mount the filesystem read-only (same as -o ro)
 -t, --types <list>      limit the set of filesystem types
     --source <src>      explicitly specifies source (path, label, uuid)
     --target <target>   explicitly specifies mountpoint
 -v, --verbose           say what is being done
 -V, --version           display version information and exit
 -w, --rw, --read-write  mount the filesystem read-write (default)

 -h, --help     display this help and exit
 -V, --version  output version information and exit</target></src></list></list></list></type></path></target></mountpoint></operation></directory></directory>

挂载执行命令

mount HOST:REMOTE-PATH  LOCAL-PATH

示例代码: mount -t nfs -o rw 192.168.31.89:/root/data/nfs /data 挂载执行结果

Linux 目录挂载服务

2 自动挂载

手动挂载在于命令执行简单,操作快捷,但缺点是仅能在当前会话中保持,一旦机器重启或发生宕机,则挂载取消,进而导致挂载执行失败,我们需要在手动挂载执行的基础,修改配置文件:

1.修改 /etc/fstab 文件,将挂载目录放在其中,例如下图,这样就可以保证开机时候可以自动挂载:

Linux 目录挂载服务

通常, /etc/fstab 中的 NFSv3 装入项如下:

nfs.example.com:/data /local/path nfs rw,noauto 0 0

对于 NFSv4 装入,请在第三列中使用 nfs4 而不是 nfs

nfs.example.com:/data /local/pathv4 nfs4 rw,noauto 0 0

如果您没有输入 noauto 选项,系统的 init 脚本将在启动时处理这些文件系统的装入。

Linux 目录挂载服务

3 Autofs 自动挂载

这点和上面两种有略微区别,重点在于用时挂载,不用会自动取消挂载,减少系统服务进程消耗,同时也减轻服务器连接压力。

1)Autofs与Mount/Umount的不同之处在于,它是一种看守程序。如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系统,如果存在,那么Autofs会自动将其挂接。
2)另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么Autofs会自动将其卸载。因此一旦运行了Autofs后,用户就不再需要手动完成文件系统的挂接和卸载。

3.1 安装

RedHat Linux Enterprise Server 上默认未安装 autofs。要使用它的自动装载功能,请先使用下面的命令安装该程序

sudo yum install autofs

SUSE Linux Enterprise Server 请先使用下面的命令安装该程序

sudo zypper install autofs

3.2 配置

使用 vim 等文本编辑器编辑 autofs 的配置文件来手动配置它。配置 autofs 有两个基本步骤 — master 映射文件和特定映射文件。

autofs 的默认 master 配置文件是 /etc/auto.master。可通过在 /etc/sysconfig/autofs 文件中更改 DEFAULT_MASTER_MAP_NAME 选项的值来更改其位置。以下是 Linux Enterprise Server 中默认 master 映射文件的内容:

#
Sample auto.master file
This is a 'master' automounter map and it has the following format:
mount-point [map-type[,format]:]map [options]
For details of the format look at auto.master(5).

#
/misc   /etc/auto.misc
#
NOTE: mounts done from a hosts map will be mounted with the
      "nosuid" and "nodev" options unless the "suid" and "dev"
      options are explicitly given.

#
/net    -hosts
#
Include /etc/auto.master.d/*.autofs
The included files must conform to the format of this file.

#
+dir:/etc/auto.master.d
#
Include central master map if it can be found using
nsswitch sources.

#
Note that if there are entries for /net or /misc (as
above) in the included master map any keys that are the
same will not be seen as the first read key seen takes
precedence.

#
+auto.master

1

autofs 手册页 (man autofs) 提供了许多有关该自动装入器映射格式的重要信息。

2

虽然这些内容默认会被注释掉 (#),但它依然是简单的自动装入器映射语法示例。

3

如果您需要将 master 映射分割成几个文件,请将该行取消注释,并将映射(后缀为 .autofs)置于 /etc/auto.master.d/ 目录中。

4

+auto.master 可确保使用 NIS的用户仍可找到其 master 映射。

auto.master 中的项有三个字段,语法如下:

mount point      map name      options

mount point

要在其中装入 autofs 文件系统的基本位置,例如 /home

map name

装入时所用映射源的名称。

options

这些选项(如指定)将作为默认值应用于给定映射中的所有项。

3.3操作和调试

autofs 服务的操作由 systemd 控制。 autofssystemctl 命令的一般语法为 sudo systemctl enable|start|stop|reload |restart autofs

例如同样加载NFS,相关配置方案如下:

1 编辑 master 映射文件 /etc/auto.master

sudo vim /etc/auto.master

2 在 /etc/auto.master 末尾为新的 NFS 装入添加一条新项

/nfs &#xA0; &#xA0; &#xA0;/etc/auto.nfs &#xA0; &#xA0; &#xA0;--timeout=10

它告诉 autofs 基本安装点是 /nfs,NFS 共享在 /etc/auto.nfs 映射中指定,并且此映射中的所有共享将在 10 秒不活动后自动卸载

编辑或创建映射文件 vim /etc/auto.nfs 对每个 NFS 共享, /etc/auto.nfs 通常都会包含单独的一行。

data&#xA0; 192.168.31.89:/root/data/nfs

上面的行表示当收到请求时,系统会将 192.168.31.89 主机上的 /root/data/nfs 目录自动装入到本地主机上的 /nfs/data 目录( /nfs 取自 auto.master 映射)。 /nfs/data 目录将由 autofs 自动创建。

3 重新启动 autofs 并检查它是否正常工作

sudo systemctl restart autofs

如果您能看到远程共享上的文件列表,则表示 autofs 工作正常

4 /net 安装点

如果您使用了许多 NFS 共享,这个助手安装点将非常有用。 /net 会根据需要自动装入本地网络上的所有 NFS 共享。该项在 auto.master 文件中已经存在,因此,您只需将其取消注释,然后重启动 autofs 即可:

/net      -hosts
systemctl restart autofs

例如,如果您有名为
server

的服务器以及名为 /export

的 NFS 共享,您可以在命令行上键入

cd /net/server/export

5 使用通配符自动装入子目录

如果您的某个目录含有多个子目录,并且您需要将这些子目录单个自动装入(一般情况下,该目录是包含各个用户主目录的 /home 目录), autofs 提供了便捷的解决方案。

如果这些子目录是主目录,则在 auto.master 中添加下行:

/home      /etc/auto.home

现在,您需要在 /etc/auto.home 文件中添加正确的映射,以便自动装入用户的主目录。一种方法是为每个目录创建单独的项:

wilber      server.com:/home/wilber
penguin      server.com:/home/penguin
tux      server.com:/home/tux
[...]

这种方法非常麻烦,因为您需要在 auto.home 中管理用户列表。您可以使用星号”*”取代安装点,使用符号”&”取代要装入的目录。

*      server:/home/&

Original: https://www.cnblogs.com/xiong97/p/16435067.html
Author: 静言善思
Title: Linux 目录挂载服务

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611702/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 数组

    1. 数组概述 数组(array): 存储一个元素个数固定且元素类型相同的有序集 2. 数组的定义格式 格式一 数据类型[] 变量名 int[] array; –>推荐 格…

    数据库 2023年6月14日
    077
  • MyRocks DDL原理

    最近一个日常实例在做DDL过程中,直接把数据库给干趴下了,问题还是比较严重的,于是赶紧排查问题,撸了下crash堆栈和alert日志,发现是在去除唯一约束的场景下,MyRocks存…

    数据库 2023年6月9日
    087
  • MySQL实战45讲 17

    17 | 如何正确地显示随机消息? 场景:从词汇表中随机选择三个单词。 [En] Scene: three words are randomly selected from a v…

    数据库 2023年5月24日
    088
  • 20 行代码!带你快速构建基础文本搜索引擎 ⛵

    💡 作者:韩信子@ShowMeAI📘 机器学习实战系列:https://www.showmeai.tech/tutorials/41📘 深度学习实战系列:https://www.s…

    数据库 2023年6月14日
    073
  • Mycat 学习笔记

    概述 1. Mycat 是什么? Mycat 是数据库中间件,连接 Java 应用程序和数据库,它的作用如下: 2. Mycat 原理 Mycat 拦截了用户发送过来的 SQL 语…

    数据库 2023年5月24日
    076
  • 手把手教你使用 Java 在线生成 pdf 文档

    一、介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合…

    数据库 2023年6月14日
    0107
  • 【数据库】– MySQL SQL调优笔记(1)

    1.索引 1.1.定义 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 我们平常所说的索引,如何没有特别的指明,都是B树(多路搜索树,并不…

    数据库 2023年5月24日
    0110
  • MySql 删除数据表

    定义: 删除数据表就是将数据库中已经存在的表从数据库中删除。注意,在删除表的同时,表的定义和表中所有的数据均会被删除。因此,在进行删除操作前,最好对表中的数据做一个备份,以免造成无…

    数据库 2023年6月14日
    071
  • SpringMvc(三)- CRUD

    1、springMvc的form表单 1.1 标签 1.2 标签 使用springMvc的form表单,快速开发表单及数据自动回显; 原理:在 数据模型中添加一个 参数名为 com…

    数据库 2023年6月16日
    093
  • MYSQL性能优化以及建议

    1、业务代码组合逻辑后进行数据库操作,如根据波次进行库存分配,可以将波次里面的订单所有明细进行分组,然后匹配库存。2、将大字段、不常用字段放置到扩展表中,将经常使用(状态、数量、编…

    数据库 2023年5月24日
    057
  • Liunx(CentOS)安装Nacos(单机启动,绑定Mysql)

    Liunx安装Nacos(单机启动,绑定Mysql) 一,准备安装包 github下载点 二,在/usr/local/目录下创建一个文件夹用于上传和解压Nacos cd /usr/…

    数据库 2023年6月11日
    062
  • 携程二面:讲讲 MySQL 中的 WAL 策略和 CheckPoint 技术

    前段时间我在准备暑期实习嘛,这是当时面携程的时候二面的一道问题,我一脸懵逼,赶紧道歉,不好意思不知道没了解过,面试官又解释说 redo log,我寻思着 redo log 我知道啊…

    数据库 2023年6月6日
    0249
  • Pisanix v0.2.0 发布|新增动态读写分离支持

    1.动态读写分离介绍 1.1 介绍 读写分离是业界使用 MySQL 高可用最常用的方案之一,在实际场景中可以提高查询性能,降低服务器负载。本次版本在 v0.1.0 静态规则基础上增…

    数据库 2023年6月16日
    082
  • JavaWeb核心篇(7)——VUE和Element

    VUE&Element 今日目标: 能够使用VUE中常用指令和插值表达式 能够使用VUE生命周期函数 mounted 能够进行简单的 Element 页面修改 能够完成查询…

    数据库 2023年6月14日
    077
  • 3 访问修饰符public,private,protected以及不写(默认)时的区别

    private 私有的,只对本类公开。 default 类的成员不写访问修饰符时默认为default,默认对于同一个包中的其它类相当于公开(public),对于不是同一个包中的其它…

    数据库 2023年6月6日
    080
  • IntelliJ IDEA 断开svn连接

    1 设置菜单 2 进入pluglns 菜单,点击 browse repositonries….. 3 搜索 svn disconnect,然后安装插件 4 安装插件后,…

    数据库 2023年6月6日
    0150
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球