一、磁盘挂载
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

 
要挂载的设备或伪文件系统:
    设备文件、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  
 
 //针对已经在工作的磁盘分区,无法卸载
 //查看已经挂载的磁盘分区
[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