Linux_磁盘挂载

一、磁盘挂载

1、磁盘的分区和格式化,格式化完了后,到了挂载这块磁盘:

  • 挂载分区前需要创建挂载点,挂载点以目录形式出现
  • 挂载点建议是空目录,不是也不影响挂载分区的使用,但是会隐藏原有的文件
  • 挂载点建议是空目录,不是也不影响挂载分区的使用,但是会隐藏原有的文件

2、挂载的概念:

  • 将额外文件系统与根文件系统中某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口(Mount Point)的行为称之为挂载;
  • 注意:挂载点下原有文件,在挂载完成后会被临时隐藏

3、卸载的概念:

  • 解除此关联关系的过程称之为卸载;

4、挂载方法

  • mount DEVICE MOUNT_POINT
  • mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
  • mount [选项] [-t FS.TYPE] [-o options] device dir
  • device:指明要挂载的设备:
  • 设备文件:例如/dev/sda5
  • 卷标:-L 'LABEL', 例如 -L 'MYDATA'
  • UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
  • dir:挂载点
  • 事先存在;建议使用空目录
  • 进程正在使用中的设备无法被卸载;
  • 常用命令选项:
  • -t vfstype:指定要挂载的设备上的文件系统类型;例如:iso9660、ext3、ext4、xfs 
  • -r: readonly,只读挂载;
  • -w: read and write, 读写挂载;
  • -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
  • -L 'LABEL':以卷标指定挂载设备;  LABEL=""
  • -U 'UUID':以UUID指定要挂载的设备;  UUID=""
  • -B, --bind:绑定目录到另一个目录上;
  • 注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

5、卸载的方法:

  • 卸载时可使用设备,也可以使用挂载点
  • umount DEVICE # umount MOUNT_POINT

二、临时挂载磁盘

1、使用mount临时挂载磁盘分区:

//查看分区名称
[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1  7.3G  0 rom  /mnt
nvme0n1       259:0    0  120G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0  119G  0 part 
  ├─rhel-root 253:0    0   50G  0 lvm  /
  ├─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
  └─rhel-home 253:2    0   67G  0 lvm  /home
nvme0n2       259:3    0   50G  0 disk 
└─nvme0n2p1   259:5    0    5G  0 part 

//创建挂载点
[root@localhost ~]# mkdir /dir

//使用mount挂载磁盘分区
[root@localhost ~]# mount /dev/nvme0n2p1 /dir/

//查看已经挂载的磁盘分区
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/mapper/rhel-home   67G  511M   67G   1% /home
/dev/nvme0n1p1        1014M  173M  842M  17% /boot
tmpfs                  181M     0  181M   0% /run/user/0
/dev/nvme0n2p1         4.9G   20M  4.6G   1% /dir

三、永久挂载磁盘

1、fstab配置文件介绍:

  • 文件挂载的配置文件,每行定义一个要挂载的文件系统
文件格式:
要挂载的设备或伪文件系统     挂载点     文件系统类型      挂载选项     dump备份频率      开机自检次序

示例:
//分区标识(UUID或设备名)                        挂载点    文件类型    挂载参数    不检查   不备份
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9    /db1      xfs      defaults    0       0

已建容器 新增挂载文件夹 创建挂载点_sed

已建容器 新增挂载文件夹 创建挂载点_已建容器 新增挂载文件夹_02

要挂载的设备或伪文件系统:
    设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)

挂载选项:
    defaults(rw, suid, dev, exec, auto, nouser, async)

dump备份频率:
    0:不做备份
    1:每天备份
    2:每隔一天备份

开机自检次序:优先级
    0:不自检
    1:首先自检;一般只有rootfs才用1;
    2:次优先自检

参数注释

  • 挂载参数,可写fstab配置文件, 也可以mount时使用-o参数指定
-o options  
参数                     参数意义                                系统默认值 
async                      异步模式
sync                       同步模式
suid,nosuid                允许/不允许分区有suid属性                  suid
auto/noauto                开机自动挂载/不自动挂载                    auto
exec/noexec                允许/不允许可执行文件执行,不要挂载根分区     exec
dev/nodev                  是否支持在此文件系统上使用设备文件;
remount                    重新挂载
loop                       用来把一个文件当成硬盘分区挂接上系统
iocharset                  指定访问文件系统所用字符集
user/nouser                允许/不允许root外的其他用户挂载分区         nouser
acl                        启用此文件系统上的acl功能
ro,rw                      可以指定文件系统是只读( ro)或可写(rw)       rw
defaults                   默认文件系统挂载设置 rw, suid, dev, exec, auto, nouser, and async

2、设置磁盘永久挂载

//查看已经挂载的磁盘分区
[root@localhost ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0            11:0    1  7.3G  0 rom  /mnt
nvme0n1       259:0    0  120G  0 disk 
├─nvme0n1p1   259:1    0    1G  0 part /boot
└─nvme0n1p2   259:2    0  119G  0 part 
  ├─rhel-root 253:0    0   50G  0 lvm  /
  ├─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
  └─rhel-home 253:2    0   67G  0 lvm  /home
nvme0n2       259:3    0   50G  0 disk 
└─nvme0n2p1   259:5    0    5G  0 part /dir

//使用blkid获取磁盘分区的UUID
[root@localhost ~]# blkid /dev/nvme0n2p1 
/dev/nvme0n2p1: UUID="a9622acc-4419-4416-9d16-ed7fa1a2b476" TYPE="ext4" PARTUUID="8f03f9d8-01"

//在/etc/fstab下写入永久挂载(开机自动挂载)
[root@localhost ~]# vim /etc/fstab 
..........
UUID="a9622acc-4419-4416-9d16-ed7fa1a2b476"     /dir    ext4     defaults        0 0
 //在fstab文件最后写入上面这行

//加载fstab文件,检测语法是否有错误
[root@localhost ~]# mount -a
 //回车后,没有报错信息,说明写入成功,可以reboot重启机器,使用df -h查看是否自动挂载

四、卸载挂载的磁盘

1、卸载挂载命令 —— umount

  • 使用目录卸载
1、使用目录卸载
    //查看已经挂载的磁盘分区
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0
/dev/nvme0n2p1         4.9G   20M  4.6G   1% /dir

 //使用目录卸载磁盘分区
[root@localhost ~]# umount /dir

 //查看是否已经卸载
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0
  • 使用设备名卸载
2、使用设备名卸载
 //查看已经挂载的磁盘分区
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0
/dev/nvme0n2p1         4.9G   20M  4.6G   1% /dir

 //使用设备名卸载
[root@localhost ~]# umount /dev/nvme0n2p1 

 //查看是否已经卸载
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0
  • 使用umount -lf 强制卸载
//针对已经在工作的磁盘分区,无法卸载
 //查看已经挂载的磁盘分区
[root@localhost dir]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0
/dev/nvme0n2p1         4.9G   20M  4.6G   1% /dir

 //卸载分区
[root@localhost dir]# umount /dir
umount: /dir: target is busy.

//强制卸载
[root@localhost dir]# umount -lf /dir

 //查看是否已经卸载
[root@localhost dir]# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               887M     0  887M   0% /dev
tmpfs                  904M     0  904M   0% /dev/shm
tmpfs                  904M  8.7M  895M   1% /run
tmpfs                  904M     0  904M   0% /sys/fs/cgroup
/dev/mapper/rhel-root   50G  1.8G   49G   4% /
/dev/sr0               7.4G  7.4G     0 100% /mnt
/dev/nvme0n1p1        1014M  173M  842M  18% /boot
/dev/mapper/rhel-home   67G  511M   67G   1% /home
tmpfs                  181M     0  181M   0% /run/user/0