RHCSA笔记7
磁盘管理(硬盘分区、挂载、RAID和逻辑卷等)
一、磁盘管理
(一)磁盘简介
1.概念
硬盘是一种大容量、永久性的外部存储设备,由一片或多片带有磁性的铝合金制盘片构成,核心组成包括盘片、马达驱动、缓存、控制电路和接口。

2.逻辑结构
磁道:由内到外的同心圆
扇区:半径组成的扇形磁道存储区
柱面:多个盘片的统一磁道

(二)虚拟机添加新硬盘
1.物理设备的命名规则
| 硬件设备 | 文件名称 |
| IDE设备 | /dev/hd[a-d] |
| SCSI/SATA/U盘 | /dev/sd[a-p] |
| 软驱 | /dev/fd[0-1] |
| 打印机 | /dev/lp[0-15] |
| 光驱 | /dev/cdrom |
| 鼠标 | /dev/mouse |
| 磁带机 | /dev/st0 或 /dev/ht0 (IDE设备) |
固态硬盘:nvmen 磁盘号 [p1-10]
2.添加新硬盘过程
关机
点击“编辑虚拟机设置”

点击“添加”

选择“硬盘”后下一步

选择磁盘类型:SATA(A)

创建新虚拟磁盘

容量为20GB,单个文件

默认命名,点击完成

(三)硬盘分区概述
1.MBR 分区
(1)概念
主引导记录(MBR)是位于硬盘0磁道0柱面1扇区的关键数据块,其512字节的主引导扇区由三部分组成:446字节的引导程序(用于检查分区表并引导激活分区的操作系统)、64字节的硬盘分区表(DPT)以及2字节的结束标志“55AA”。MBR由分区程序(如Fdisk)生成,不依赖特定操作系统,且引导程序可修改,因此能够实现多系统共存。
(2)类型
主分区(primary partition):
一块硬盘最多4个主分区,主分区不可以再进行二次分区
主分区可以直接建立文件系统,存放数据
可以用来引导、启动操作系统
扩展分区(extended partition)
一块硬盘最多一个扩展分区,加主分区最多4个
不能创建文件系统
可以划分逻辑分区
逻辑分区(logical partition)
可以创建文件系统,存放数据
逻辑分区的数量没有限制。
支持的分区数量:4个主分区或者3个主分区1个扩展分区


MBR 最多只能有4个主分区:因为分区表占据64个字节,其中每个分区的信息占用16个字节,分区表里面可以记录四个分区信息描述。
2.GPT 分区
(1)产生原因
MBR 分区方案存在三个主要局限:一是分区表最高仅支持2.2TB的磁盘容量,无法识别大容量硬盘;二是缺乏备份机制,分区表一旦损坏或丢失,整个磁盘的数据将无法访问;三是主引导记录中仅有的446字节引导程序空间过小,无法存储复杂的启动管理功能。
(2)概念
GPT(全局唯一标识分区表)是一种比 MBR 更先进、灵活的磁盘分区模式。它采用逻辑区块地址(LBA)来管理分区信息,默认使用512B大小的 LBA 区块,共占用68个 LBA 区块——前34个用于记录分区信息,后34个作为自动备份,大大增强了数据安全性。GPT 不再区分主分区和扩展分区,默认最多支持128个分区,且突破了 MBR 的2.2TB容量限制,最大支持18EB 的磁盘容量。由于传统 BIOS 无法识别 GPT ,因此需要 UEFI(统一可扩展固件接口)来取代传统的 BIOS,UEFI 使用C语言编写,支持更多平台,也称为 UEFI BIOS。

3.lsblk 分区
(1)作用
是 Linux 系统中用于列出所有可用的块设备信息的命令。它以树状结构显示磁盘、分区及其他块设备的详细信息,非常直观。可以查看系统中有哪些磁盘、磁盘分了哪些区、分区挂载在哪里。
(2)格式
lsblk 参数 设备名
(3)参数
-d :仅列出硬盘本身信息,不显示分区信息
-f :列出磁盘的内的文件系统名称
-i : 使用ASCII码格式输出信息
-t :显示磁盘的详细信息
-p :显示设备完整名称
(4)示例

内容分析:
NAME :设备名称,默认省略前导/dev 目录名
MAJ:MIN :主要:次要 设备代码
RM :是否可以卸载
SIZE : 容量
RO :是否为 只读
TYPE : 设备类别(磁盘、分区、光盘等)
MOUNTPOINT :挂载点
(四)硬盘分区
1.fdisk 管理分区
(1)作用
fdisk 是 Linux 系统中传统的磁盘分区管理工具,默认将磁盘划分为 MBR(主引导记录)格式的分区。它以交互式菜单方式操作,通过输入设备名(如 fdisk /dev/sdb)进入管理界面后,可以使用功能键对磁盘进行分区操作。
| 指令 | 作用 |
| a | 调整磁盘的启动分区 |
| d | 删除磁盘分区 |
| l | 显示所有支持的分区类型 |
| m | 查看所有指令的帮助信息 |
| q | 不保存更改,退出 fdisk 命令 |
| g | 新建一个空的 GPT 分区表 |
| p | 显示当前磁盘的分区信息 |
| t | 更改分区类型 |
| u | 切换所显示的分区大小单位 |
| n | 创建新分区 |
|
w |
把修改写入磁盘分区表,然后退出 fdisk 命令 |
| o | 新建一个空的 DOS 分区表 |
(2)示例
对 /dev/sda 硬盘进行分区,方式:P+P+P+E(l+l+l),容量自定
![]()
会显示以下内容:





(3)注意
若无法查看,则表示分区信息还未写入内核(常见情况),输入==partprobe==命令进行手动将分区信息同步到内核,再不行就重启
2.gdisk管理分区
(1)作用
gdisk(GPT fdisk)是 Linux 系统中用于管理 GPT(GUID 分区表) 分区的交互式命令行工具。可以把它理解为 GPT 版本的 fdisk。即在大于 2.2TB 的磁盘上创建、删除、管理 GPT 分区。
(2)示例
对 /dev/sdc 进行gdisk分区,3个分区,容量自定
![]()




(3)注意
在实际工作中,对硬盘进行分区时应保留一定的自由空间,以备将来分区空间不足时能够临时扩容。使用 gdisk 命令操作的是 GPT 分区格式,而如果对 MBR 分区格式的硬盘尝试添加分区,将导致所有数据全部丢失。切记:一块硬盘上不能混用 fdisk 和 gdisk,否则会破坏分区表,造成数据丢失。
(五)格式化
1.概念
(1)格式化目的
分区(裁剪):将一块原始硬盘(大白纸)划分成不同的区域,以便分类管理和使用。
格式化(画格):在划分好的区域上建立文件系统,如同在纸上画好格子,为操作系统如何组织和管理文件制定规则。
写入数据(书写):最后才能在格式化好的分区中实际存储文件和数据。
核心概念: 格式化即建立文件系统,它是操作系统在存储设备上组织和定位文件的方法与数据结构。
(2)文件系统组成
组成:super block(超级块)、inode (索引块)、block(数据块)
super block:又称为“硬盘地图”,记录文件系统的整体信息,如:inode/block 块的总量、使用量、空闲块量、文件系统格式等相关信息
inode:记录文件的属性,一个文件占用一个 inode 块,并且记录次文件的数据所在的 block 块的号码,默认为128B大小,存储:文件访问权限、文件所有者与所属组、文件大小、创建时间或修改内容时间、最有一次访问时间、特殊权限、真实数据地址
block块:记录实际文件的内容,在 EXT2 文件系统中分为 1KB、2KB、4KB 容量,文件太大时,会占用多个数据块

(3)查看文件系统格式
方法:输入 mkfs 在键入 tab (点击2次)进行命令补全,可显示支持的文件系统格式

2.格式化命令
mkfs.xfs -参数 硬盘分区名
mkfs.ext4 -参数 硬盘分区名
3.参数
-f:强制格式化,已存在文件系统时需要使用
c:建立文件系统前先检查坏块。
-V:输出建立文件系统的详细信息
4.示例
删除之前的虚拟硬盘文件,添加新硬盘,分区后格式化:


格式化 /dev/sda2 ,并使用 inte 的 cpu 多线程技术进行多数据流读写系统:

制作大文件 /filedev,容量2G,格式化为 xfs 文件系统:

5.blkid 命令
(1)作用
blkid 是 Linux 系统中用于查看块设备的属性信息的命令,主要显示设备的 UUID(通用唯一识别码)、文件系统类型 和 卷标。
(2)UUID
全局单一标识符(Universally Unique Identifier),Linux 系统会给所有设备分配一个唯一的 UUID 值,以方便挂载
(3)格式
blkid 设备名
(4)示例

(六)挂载
1.概念
mount point:挂载点,是一个目录,该目录是进入磁盘分区(文件系统)的入口
挂载:将一个分区或者设备挂载至挂载点目录,建立连接,通过挂载点目录进入分区空间
2.mount 命令
(1)格式
mount [-t 文件系统类型] 设备名 挂载点目录
(2)参数
-a:依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来
-t:指定文件系统类型
-o 特殊设备选项:挂载设备时使用逗号分割输入额外参数

(3)示例
新建挂载目录,挂载 /dev/sda1:

使用 UUID 值挂载 /dev/sda:

挂载光盘:

查看挂载信息:

(4)注意
唯一性:一个文件系统只能被挂载到一个挂载点(目录),不能重复挂载到不同位置。
不重叠:同一个目录不能作为多个文件系统的挂载点。
目录清空:挂载点目录应为空目录,否则原目录下的数据将被隐藏(直至文件系统卸载后才能重新访问)。

3.umount 命令
(1)作用
将之前挂载(mount)到某个目录的设备或分区卸载,使其脱离系统访问。
(2)格式
umount 参数 设备名称[挂载点]
(3)参数
-f :强制卸载
(4)示例

(5)注意
若正使用文件系统,则应使用cd命令离开该目录后再卸载:

4.开机挂载
(1)作用
由于 mount 命令是手动挂载,系统重启后挂载关系就会失效,因此需要修改 /etc/fstab 配置文件,在其中写入挂载信息(如设备、挂载点、文件系统类型等),以实现开机自动挂载。

(2)配置文件分析

共六列,分别为:
设备名称或其 UUID 值
挂载点目录
文件系统名称
文件系统参数:default
是否备份,0
fsck:开机是否用 fsck 进行扇区检查,但 xfs 文件系统不支持则为 0
(3)示例
将 /dev/sda1 挂载到 /msda1 中,并设置开机挂载,重启后检查:

(4)注意
首先,根目录/是必须挂载的,且必须优先于其他所有挂载点;其次,其他挂载点必须为已存在的目录,且需遵循FHS(文件系统层次结构标准);最后,为确保系统稳定性,同一个挂载点不能重复挂载多个文件系统,同一个分区也不能同时挂载到多个挂载点。
5.特殊挂载
(1)挂载大文件
当只有一个分区,剩余空间还很大,自由空间很小不能进行新的分区,则可以在当前分区制作一个大文件,再进行挂载,相当于一个新的分区来使用。
在根目录下新建1GB大文件,挂载并开机挂载使用:

(2)增加swap分区
类似于 Windows 系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为 swap 毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢。
查看:

添加过程:新建分区 -> 格式化该分区 -> 启用新的 swap -> 查看系统信息 -> 挂载
/dev/sda 中划分5G空间为 swap 分区,并开机挂载使用:
![]()



使用大文件建立 swap:

(3)注意
Swap(交换分区)在服务器中有时会被关闭(如数据库服务器),但通常当内存压力较大时会触发使用。其大小设置原则一般为:物理内存小于2GB时,swap设为内存的2倍;超过2GB的部分,swap 大小与物理内存相等。此外,可以使用 swapoff 命令停用部分或全部 swap 空间。
(七)查看磁盘空间使用量
1.df 命令
(1)作用
df`(disk free)命令用于列出文件系统的磁盘空间占用情况,它通过文件系统层面快速获取分区的总容量、已用空间和可用空间等信息。与 du 不同,df 能够统计到已被删除但仍在被进程占用的文件所占用的空间,因为这些文件在进程释放前并不会真正从文件系统中消失。因此,当所有程序都不再使用时,操作系统才会根据规则释放这些文件,而 df 在计算时会将这些空间一并计入,使其统计结果比 du 更加精确,更能反映分区真实的磁盘占用情况。
(2)格式
df -参数 目录或文件名
(3)参数
-a:列出所有的文件系统,包括系统特有的 /proc 等文件系统
-k:以KB的容量显示各文件系统
-m:以MB的容量显示各文件系统
-h:以人们较易阅读的 GB,MB,KB 等格式自行显示
-H:以 M=1000K 替代 M=1024K 的进位方式
-T:连同该分区的文件系统名称(例如ext3)也列出
-i:不用硬盘容量,而以 inode 的数量来显示
由于 df 主要读取的数据几乎都是针对整个文件系统,因此读取的范围主要是在 Super block 内的信息,所以这个命令显示结果的速度非常快速。
示例:

2.du 命令
(1)作用
du(disk usage)命令用于显示磁盘空间使用量,统计指定目录或文件所占用的磁盘空间大小,默认单位为 KB。它通过搜索文件系统,计算每个文件的大小并累加得出结果,但只能统计当前存在且未被删除的文件。当文件被系统真正删除后,du 与 df 的统计结果才会一致;而在文件已被删除但仍有进程占用时,du 不会统计这部分空间,而 df 会将其计入,因此两者结果可能出现差异。
(2)格式
du -参数 文件或目录名
(3)参数
-a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;
-h : 以人们较易读的容量格式(G/M)显示;
-s : 列出总量,而不列出每个个别的目录占用了容量;
-S : 不包括子目录下的总计,与-s有点差别;
-k : 以KB列出容量显示;
-m : 以MB列出容量显示。
(八)RAID
1.概念
随着CPU性能每年提升30%-50%而硬盘仅提升7%,硬盘在服务器中需要持续、频繁、大量的I/O操作,故障机率较大,因此需通过技术改造提升读写性能和可靠性。1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术概念。RAID(独立磁盘冗余阵列)将多个硬盘设备组合成一个大容量、安全性更高的磁盘阵列,将数据切割成多个片段后分别存储到不同物理硬盘上,利用分散读写技术提升性能,同时通过备份多个副本到不同硬盘中实现备份冗余功能。
2.常见 RAID 组建方案
(1)RAID0
原理:把至少2块硬盘通过硬件或软件方式串联,组成一个大的卷组,并将数据依次写入到各个硬盘
优点:数据同步传输,读取/写入分开,性能大大提升
缺点:若任意一块硬盘故障会导致整个系统的数据损坏,无备份冗余能力错误修复能力
总结:使用率100%,至少2块磁盘才能使用,优点是快,提升磁盘的读写速度,缺点是不安全

(2)RAID1
产生原因:若生产环境对硬盘的读写速度没有较大要求,但希望增加数据安全性时可使用RAID
原理:把至少2块硬盘绑定起来,写入数据时将数据同时也写入另一或多块硬盘中,
本质:多个硬盘作为镜像备份
优点:数据备份冗余安全性大大提升
缺点:硬盘利用率下降
总结:是镜像,使用两块磁盘,一式两份的方式,支持容错,冗余,数据安全不丢失,缺点是速度不快,使用率50%,成本较大。

(3)RAID5
产生原因:兼顾“读写速度”、“数据安全”、“成本”的一种折中方式
原理:需至少三块硬盘,将数据分块存储到不同硬盘中,硬盘中必须存储其它一个硬盘的parity(奇偶校验信息)
优点:兼顾性能,通过“奇偶校验”替代“镜像备份”
缺点:硬盘数据安全性较低
总结:使用率(n-1)/n*容量,磁盘坏了会立即补上,数据会恢复

(4)RAID10(主流)
本质:RAID1+RAID0 的组合
原理:至少需要4块硬盘,先制作两两的 RAID1 阵列,以保证安全性,在两两制作 RAID0 ,以提高读写速度
优点:兼具速度和安全性
缺点:成本较高

3.mdadm 命令
(1)作用
管理系统中的 RAID 磁盘阵列
(2)格式
mdadm [模式] <RAID设备名> -参数 [成员设备名称]
(3)参数
-a :检测设备名称
-n :指定硬盘数量
-l :指定RAID级别
-C :创建RAID
-v :显示过程
-f :模拟设备损坏
-r :移除设备
-Q : 查看摘要
-D :查看详细信息
-S :停止RAID磁盘阵列
(4)示例
关机后添加4块硬盘,创建 RAID10:



修复损坏的 RAID:

(5)取消 RAID
实际生产环境中,取消 RAID10 之前必须备份出其数据,否则已存在数据无法使用:

4.RAID 备份盘技术
(1)产生原因
在 RAID10 中若 RAID1 中的某个硬盘损坏,在修复完毕前恰巧另一块 RAID1 的硬盘也损坏,则数据就彻底丢失。
(2)原理
在 RAID 中添加一个大容量的备份盘来预防此类事故,某块硬盘故障,备份盘同步恢复,无须人工干预。
分析 RAID10 需要4块硬盘,备份盘需要1块硬盘,共5块硬盘。
(3)创建RAID10+备份盘阵列系统


(九)管理逻辑卷
1.工作原理
(1)产生原因
传统的硬盘分区或 RAID 部署方式在修改分区大小时非常困难,当用户需求变化时无法灵活调整。而 LVM(逻辑卷管理器)则允许用户对硬盘资源进行动态调整,实现了分区大小的弹性管理,极大地提升了存储空间的灵活性。
(2)逻辑卷介绍
LVM(逻辑卷管理)是一种将若干个磁盘或磁盘分区组合成一个整块的卷组(即存储池)的技术。它通过屏蔽底层磁盘分区的差异,允许管理员在卷组上任意创建逻辑卷,并在其上建立文件系统。借助 LVM,管理员可以方便地动态调整存储卷组的大小,并能按照组的方式对磁盘存储进行命名、管理和分配,从而大幅提升存储资源的灵活性和可管理性。
假设有三块磁盘/dev/sdb、/dev/sdc和/dev/sdd用来划分逻辑卷,LVM模型如图所示:

(3)LVM 基本概念
PE(physical extent)物理区域:物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小默认为4MB。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致
物理卷(physical volume):简称 PV,物理卷可以是整个硬盘、硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是 LVM 的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与 LVM 相关的管理参数
卷组(Volume Group):简称 VG,可以看成单独的逻辑磁盘,建立在 PV 之上,一个卷组中至少要包括一个 PV,在卷组建立之后可以动态的添加 PV 到卷组中。卷组的名称可以自定义
逻辑卷(logical volume):简称 LV,相当于物理分区。逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷,可以属于同一个卷组,也可以属于不同的多个卷组
2.部署逻辑卷
(1)常用的部署命令
| 功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
| 扫描 | pvscan | vgscan | lvscan |
| 建立 | pvcreate | vgcreate | lvcreate |
| 显示 | pvdisplay | vgdisplay | lvdisplay |
| 删除 | pvremove | vgremove | lvremove |
| 扩展 | vgextend | lvextend | |
| 缩小 | vgreduce | lvreduce |
(2)示例
在虚拟机中添加3块新硬盘,2块硬盘创建物理卷及卷组,划分出150MB空间的逻辑卷并格式化挂载使用:


基于上例,VG1 卷组划分出200MB空间的逻辑卷并格式化挂载使用:


3.调整逻辑卷大小
(1)扩展卷组
将 /dev/sdc 扩容到VG1卷组中:

(2)逻辑卷的扩大与缩小
xfs 文件系统类型的 lvm 的扩容:



对 lv2 逻辑卷缩容到200MB:

更多推荐



所有评论(0)