磁盘存储挂载与使用
磁盘挂载
磁盘挂载(mounting)是指在操作系统中将一个存储设备(如硬盘、SSD、光盘、U盘等)连接到文件系统,使其可以被系统和用户访问和使用。挂载后,存储设备上的文件和目录将会出现在指定的挂载点(通常是一个空的目录)下,用户可以通过这个挂载点来访问和操作这些文件和目录。
使用mount查看磁盘挂载信息
1 | [root@localhost yum.repos.d]# mount |
信息的解释
- 设备名:例如
/dev/sda1、/dev/sda2、/dev/sdb1等,表示挂载的设备或分区。 - 挂载点:例如
/、/home、/mnt/mydisk等,表示设备挂载到的目录。 - 文件系统类型:例如
ext4、iso9660、squashfs等,表示设备使用的文件系统类型。 - 挂载选项:例如
rw、relatime、ro、nosuid等,表示挂载时使用的选项。
fdisk -l查看磁盘信息
1 | [root@localhost boot]# fdisk -l |
使用df -h查看磁盘挂载,容量,利用率
1 | [root@localhost boot]# df -h |
磁盘分区
硬盘分区是使用分割编辑器(partition editor)在磁盘上划分几个逻辑部分,碟片一旦划分成数个分割(Partition),不同类的目录与文件可以存储进不同的分割。
磁盘分区主要有 MBR 和 GPT 两种格式,两种不同的磁盘分区表标准
使用 lsblk 列出系统上所有磁盘列表
1 | [root@localhost boot]# lsblk |
从输出信息来看,主要分为两个sr0,vda装置,vda中分为两个分区vda1,vda2,vda2中还有 LVM 产生的文件系统
信息解释
- NAME:装置文件名,会省略 /dev 等前导目录
- MAJ:MIN:其实核心认识的装置都是通过这两个代码来熟悉的,分别是:
主要:次要装置 - RM:是否为颗拆卸装置(removable device)。如光盘、USB 磁盘等
- SIZE:容量
- RO:是否为只读
- TYPE:磁盘 disk、分区槽 partition、只读存储器 rom
- MOUTPOINT:挂载点
分区架构
- 主分区
- 扩展分区(它本身不能存储数据,而是一个容器,可以包含多个逻辑分区)
- 逻辑分区1
- 逻辑分区2
- 逻辑分区3
分区命名规则
/dev/vd{a-z}{number}
/dev/设备名称vd设备类型(hd/sd){a-z}设备序号{number}分区编号
磁盘分区方案
MBR
使用 parted /dev/vda print 列出磁盘的分区表类型与分区信息
1 | [root@localhost boot]# parted /dev/vda print |
我们看到分区表类型 msdos 是指MBR分区表 — 使用 fdisk 分区工具,执行以下操作对某个磁盘进行操作
1
fdisk /dev/vda
GPT
- GPT 分区标准摆脱了 MBR 的最大支持 2TB 的限制,支持更大的磁盘容量
- 没有主分区和逻辑分区的区别
- 每一个分区有一个全局标识符(GUID)
- 使用
gdisk工具
parted 分区工具
parted /dev/vda 进入交互模式
fstab 介绍
静态存储了磁盘存储挂载信息,在系统启动时,会自动调取该文件进行磁盘挂载,这样就不需要手动进行挂载
fstab文件格式
1 | # <file system> <mount point> <type> <options> <dump> <pass> |
<file system>:文件系统的设备路径或UUID<mount point>:文件系统要挂载到的路径<type>:文件系统类型<options>:挂载选项,例如defaults、noauto、ro、rw等<dump>:用于备份工具的备份级别,默认为0<pass>:用于fsck工具的文件系统检查顺序,默认为0(不检查)
逻辑卷管理(LVM)
LVM 是 Linux 系统对磁盘分区的一种管理机制,是在磁盘分区之上建立一个逻辑层,这个逻辑层让多个硬盘或者分区看起来像一块逻辑硬盘,然后将这块逻辑硬盘分成逻辑卷之后使用,从而大大提高了分区的灵活性。
基本概念
- PE(Physical Extend):物理单元,能被 LVM 寻址的最小单元
- PV(Physical Volume):物理卷,即实际存在的分区
- VG(Volume Group):卷组,一个或多个物理卷组成卷组,可以将卷组想象成为一个新的逻辑磁盘
- LV(Logical Volume):逻辑卷,将卷组重新分配为多个逻辑卷,是用户实际使用的逻辑设备

使用 LVM 创建管理逻辑卷
物理卷操作
- 创建物理卷
命令为pvcreate [option] devname
详细用法使用pvcreate --help查看 - 查看物理卷信息
命令为pvdisplay [option] devname,我们可以看到信息包括如下1
2
3
4
5
6
7
8
9
10--- Physical volume ---
PV Name /dev/vda2
VG Name openeuler
PV Size <39.00 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 9983
Free PE 0
Allocated PE 9983
PV UUID yoL1lh-t5IG-VVPT-13dO-LxVD-LXvk-NnkUfE - 修改物理卷信息
命令为pvchange [option] devname
详细用法使用pvchange --help查看 - 删除物理卷
命令为pvremove [option] devname
卷组操作
- 创建卷组
vgcreate [option] vgname pvname ... - 查看卷组
vgdisplay [option] [vgname] - 修改卷组属性
vgchange [option] vgname - 扩展卷组
vgextend [option] vgname pvname ... - 收缩卷组
vgreduce [option] vgname pvname ... - 删除卷组
vgremove [option] vgname
逻辑卷操作
- 创建逻辑卷
lvcreate [option] -n lvname vgname - 查看逻辑卷
lvdisplay [option] [lvname] - 调整逻辑卷大小
lvresize [option] lvname - 扩展逻辑卷
lvextend [option] lvname - 收缩逻辑卷
lvreduce [option] lvname - 删除逻辑卷
lvremove [option] lvname