mount linux7,99%的人不知道的centos7 fstab

原标题:99%的人不知道的centos7 fstab

1、fstab不是唯一了?

2、演示:使用`systemd`挂载

3、问题小结

centos7 fstab 可能不是你想那样

问题起源是,我在研究 docker 时,查找 overlay 挂载,突然发现 /etc/fstab 和 mount 命令执行结果 大相径庭。

1、fstab不是唯一了?

940c7d5178f846b37511f1b37ae6eb51.png

fstab

那么问题如下:

/etc/fstab 和 /proc/mount 内容大相径庭,但/proc/mount的内容在系统重启后,依然会被自动挂载,为什么?(大家知道/etc/fstab在永久生效,但其它项为什么也能永久生效呢?)

type cgroup 和 overlay 两种格式在 mount man 文档中,并不支持,为什么还能被正常挂载?

其实, 在 CentOS 7 开始,还提供了 systemd 挂载文件系统的方式。即 /etc/fstab 不再是唯一的永久挂载途径。在 CentOS 7&8 中, /etc/fstab 的内容非常少,在上图中我们也能发现。

在 CentOS 7 中,我们配置的 /etc/fstab ,系统并没有直接使用该配置, systemd 实际上把文件转换成 mount 结尾的挂载文件. systemd 在系统初始化时,读取的是这些 .mount 结尾的文件。

.mount 文件保存在 /run/systemd/generator 。

[root@O2O-T-K8S-TEST4 generator]

# ls -l /run/systemd/generator/

total 20

-rw-r--r-- 1 root root 254 Apr 14 18:55 boot.mount

-rw-r--r-- 1 root root 181 Apr 14 18:55 dev-mapper-RootVGx2dlv_swap.swap

.

.

除此外, systemd 还提供了命令供我们查看系统挂载

查看正在挂载的文件系统[root@O2O-T-K8S-TEST4 generator]

# systemctl -t mount

UNIT LOAD ACTIVE SUB DEION

-.mount loaded active mounted /

boot.mount loaded active mounted /boot

dev-hugepages.mount loaded active mounted Huge Pages File System

dev-mqueue.mount loaded active mounted POSIX Message Queue File System

.

.

systemd 挂载点位置

[root@O2O-T-K8S-TEST4 generator]

# ls /usr/lib/systemd/system/*.mount

/usr/lib/systemd/system/dev-hugepages.mount

/usr/lib/systemd/system/dev-mqueue.mount

/usr/lib/systemd/system/proc-fs-nfsd.mount

/usr/lib/systemd/system/proc-sys-fs-binfmt_misc.mount

/usr/lib/systemd/system/sys-fs-fuse-connections.mount

.

.

2、演示:使用 systemd 挂载

案例: 将 /dev/sdb1 挂载到 /tmp_dir 下

[root@rhel-8 system]# cat tmp_dir.mount

# This file is part of systemd.

[Unit]

Deion=Test Directory (/tmp_dir)

DefaultDependencies=no

Conflicts=umount.target

Before=local-fs.target umount.target

After=swap.target

[Mount]

What=/dev/disk/by-uuid/cea0757d-6329-4bf8-abbf-03f9c313b07f

Where=/tmp_dir

Type=ext4

Options=defaults

[Install]

WantedBy=multi-user.target

名词解释

What= 表示设备节点的绝对路径,文件或者其它待挂载的设备。`man 8 mount`查看更多

Where= 设备挂载点,需要写绝对路径。这里绝对不能是链接地址。

Type= 文件系统的类型,通常是一段字符串表示

Options= 挂载选项,用逗号分隔,支持多个选项并行。

reload daemon 使 systemd 生效

systemctl daemon-reload

3、问题小结

第1个问题, centos 7 开始, sysv 交由 systemd 维护后, /etc/fstab 已经不再是唯一挂载控制项, systemd 也可以完成该项工作,而且 systemd 读取的并不是 /etc/fstab 的内容,而是将其转换为 .mount 结尾的文件。看趋势,感觉后续有可能会彻底接管 /etc/fstab . 但 systemd 研究不多,一家独大不知道是好是坏。按 linus 的风格,可能会大力支持 systmd

第2个问题,猜测 man mount 没有更新。 centos 7 是一定支持 cgroup, overlay 类型。

参考阅读:https://www.golinuxcloud.com/mount-filesystem-without-fstab-systemd-rhel-8/

好看&转发带给我的鼓励,您可能无法想像返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值