Mount(挂载)
概述
参考:
注意:
mount 命令无法列出 bind 类型的挂载(比如 Docker 和 Containerd 的 bind 类型挂载,不知道如何列出)。
不过 findmnt 命令可以列出使用 mount --bind XX XX
挂载的目录,效果如下
~]# findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/vda3 ext4 rw,relatime
......
└─/mnt/cdrom /dev/vda3[/root/downloads/webvirtcloud] ext4 rw,relatime
关联文件与配置
/etc/fstab # 包含各种 file systems 的描述性信息。系统启动时,根据该文件配置挂载分区到指定路径。
/etc/mtab # 是一个软连接,连接到 /proc/self/mounts
XXX.mount # 以 .mount 为后缀的 unit 文件,是由 systemd 管理的文件系统描述信息。systemd 将根据这些 unit 文件,将指定的文件系统挂载到系统中。
fstab 文件详解
File System Table(文件系统表,简称 fstab) 是一个关于文件系统的静态信息文件。默认路径为 /etc/fstab
fstab 包含操作系统中可以挂载的文件系统的描述性信息。每个描述信息占用单独一行,每行的各个字段由制表符或空格分隔。fsck、mount、umount 命令在执行某些操作时将会顺序读取该文件的每一行。
下面是一个 fstab 文件中关于文件系统描述的典型示例(一共具有 6 个字段):
LABEL=t-home2 /home ext4 defaults,auto_da_alloc 0 2
- fs_spec # 要挂载的分区或存储设备
- fs_file # 挂载的位置
- fs_vfstype # 文件系统的类型
- fs_mntopts # 与文件系统关联的挂载选项
- fs_freq # 确定需要转储哪些文件系统
- fs_passno # 确定引导时执行文件系统检查的顺序。
下面各字段的名称中 fs 就是 file system 的简称。
fs_spec
该字段用于指定该文件系统所用存储设备是什么,可以是块设备、远程文件系统、文件系统镜像、交换分区 等等。
对于普通的挂载,它将为要挂载的设备保存(链接到)块专用设备节点(由 mknod(2)创建),例如“ /dev/cdrom”或“ /dev/sdb7”。 对于 NFS 挂载,此字段为:,例如`knuth.aeb.nl:/’。 对于没有存储空间的文件系统,可以使用任何字符串,例如,这些字符串将显示在 df(1)输出中。 procfs 的典型用法是“ proc”; tmpfs 的“ mem”,“ none”或“ tmpfs”。 其他特殊文件系统(例如 udev 和 sysfs)通常不在 fstab 中列出。
可以给出 LABEL = <标签>或 UUID = 代替设备名称。这是推荐的方法,因为设备名称通常是硬件检测顺序的重合,并且在添加或删除其他磁盘时可能会更改。例如,“ LABEL = Boot”或“ UUID = 3e6be9de-8139-11d1-9106-a43f08d823a6”。 (使用特定于文件系统的工具,例如 e2label(8),xfs_admin(8)或 fatlabel(8)在文件系统上设置 LABEL)。
fs_file
该字段描述文件系统的挂载点(目标)。 使用 绝对路径 来描述一个挂载点.
fs_vfstype
要挂载设备或是分区的文件系统类型,支持许多种不同的文件系统:ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。 设置成 auto 类型,mount 命令会猜测使用的文件系统类型,对 CDROM 和 DVD 等移动设备是非常有用的。
fs_mntopts
详见下文 mount 命令中关于挂载选项的详解 Mount OPTIONS
fs_freq
dump 工具通过该字段的值决定何时作备份。 允许的数字是 0 和 1 。
- 0 # (默认值)表示忽略
- 1 # 表示进行备份。
大部分的用户是没有安装 dump 的 ,对这些用户而言该字段值应设为 0。
fs_passno
fsck 工具读取该字段的值来决定需要检查的文件系统的检查顺序。允许的数字是 0, 1, 和 2。
- 0 # 表示设备不会被 fsck 所检查
- 1 # 根目录应当获得最高的优先权 1,
- 2 # 其它所有需要被检查的设备设置为 2.
mount 工具
参考:
mount/umount 文件系统挂载/卸载工具
Syntax(语法)
mount [-l] [-t fstype]
mount -a [-fFnrsvw] [-t fstype] [-O optlist]
mount [-fnrsvw] [-o options] <DEVICE | MountPoint> # 从 /etc/fstab 文件读取 Device 或 MountPoint 的信息后执行对应的挂载操作
mount [-fnrsvw] [-t fstype] [-o options] DEVICE MountPoint # 将 DEVICE 设备挂载到 MountPoint 上
- MountPoint 通常是一个绝对路径,/PATH/DIR,即将 DEVICE 设备挂载在 PATH 路径下的 DIR 目录上
mount –bind|–rbind|–move <OldDIR> <NewDIR> # 执行 bind 挂载,将 OldDIR 目录挂载到 NewDIR 目录上
mount –make-[shared|slave|private|unbindable|rshared|rslave|rprivate|runbindable] MountPoint
OPTIONS
- -o, –options <OPTS> # 使用指定选项挂载,OPTS 是一个逗号分割的列表,可以从下面的 Mount OPTIONS 中查看所有可用的选项。
- -r, –read-only # 以只读方式挂载。可以被
-o ro
选项替代 - -t <STRING> # 指明文件系统的类型。当前内核支持的文件系统类型可以从 /proc/filesystems 或 /lib/modules/$(uname -r)/kernel/fs 文件中获取
- –bind|–rbind|–move # 进行 bind 模式挂载
Mount OPTIONS(挂载选项)
FileSystem-Independent Mount Options(适用于所有文件系统的选项)
- async # I/O 异步进行。
- auto # 在启动时或键入了 mount -a 命令时自动挂载。
- defaults # 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async.
- dev # 解析文件系统上的块特殊设备。
- exec # 允许执行此分区的二进制文件。
- flush # vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
- noatime # 不更新文件系统上 inode 访问记录。可以提升性能。
- noauto # 只在你的命令下被挂载。
- nodev # 不解析文件系统上的块特殊设备。
- nodiratime # 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
- noexec # 不允许执行此文件系统上的二进制文件。
- nosuid # 禁止 suid 操作和设定 sgid 位。
- nouser # 只能被 root 挂载。
- owner # 允许设备所有者挂载.
- relatime # 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
- ro # 以只读模式挂载文件系统
- rw # 以读写模式挂载文件系统
- suid # 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
- sync # I/O 同步进行。
- user # 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
- users # 允许所有 users 组中的用户挂载文件系统.
FileSystem-Specific Mount Options(只适用于特定文件系统的选项)
EXAMPLE
- mount -a # 会将 /etc/fstab 中定义的所有挂载点都挂上(一般是在系统启动时的脚本中调用,自己最好别用!)。
- mount /dev/sdb1 /mnt # /把/dev/sdb1 分区挂载到/mnt 目录
- mount –bind /root/tmp_one /root/tmp_two # 将 /root/tmp_one 目录挂载到 /root/tmp_two 目录下。
mount [-t ] # 查看当前系统下的挂载信息[查看指定的类型]
各段落含义与 fstab 文件相同
umount 工具
参考:
Syntax(语法)
OPTIONS
- -f, –force # 强制卸载(在无法访问 NFS 系统的情况下)。
- -l, –lazy # 延迟卸载。现在从文件层次结构中分离文件系统,并在它不再忙时立即清除对该文件系统的所有引用。
systemd 管理 mount
详见 mount Unit
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.