精读笔记 · 第06章 存储管理
大约 4 分钟
精读笔记 · 第06章 存储管理
精读整理自 RHCE9 随堂讲义(原文字版 19 页)|同名视频约 12 节 关联知识文件:
分章笔记/01-Linux/02-02-存储与文件系统(RHCE9第06-07章RH134)、03-常用命令速查表
一、磁盘基础概念(看懂术语即可)
- 磁盘介质:机械盘(盘片/磁头/电机/缓存)vs 固态盘 SSD(电子存储芯片阵列);接口 IDE(已淘汰)→ SATA、尺寸 3.5 英寸、转速 5400rpm 等属常识。
- 术语:盘片(若干盘面)→ 磁道(同心圆)→ 扇区(每扇区 512B,磁道的最小读写单元)→ 柱面(所有盘面同一磁道);硬盘第一个扇区叫引导扇区。
- 设备命名(RHEL9/CentOS9):IDE =
/dev/hd[a-d];SATA/SCSI/虚拟盘 =/dev/sd[a-z](s=串口 SATA、d=disk、a=第 1 块);/dev/sdb是块设备文件,不是真实文件。第 5 块硬盘 =/dev/sde。 - 内存(断电丢数据、速度快)与磁盘(持久、容量大)对比:存储管理三部曲=分区(毛坯房隔间) → 格式化/文件系统(格子柜) → 挂载(装门+目录)。
二、分区表类型 MBR / GPT(常考概念)
| 类型 | 容量上限 | 分区数 | 工具 |
|---|---|---|---|
| MBR | < 2TB | 主分区最多 4 个(可拆扩展+逻辑分区突破 4 个) | fdisk(只适合 MBR/2T 内) |
| GPT | 支持 >2T | 支持 128 个分区 | gdisk / parted |
- MBR 想超过 4 个分区:放弃一个主分区名额建扩展分区,再在扩展分区里建逻辑分区。
- VMware 添加磁盘:关机 → 编辑虚拟机设置 → 添加硬盘;新盘
ll /dev/sd*看不到分区。
三、磁盘管理实战(fdisk → mkfs → mount)
- 查看磁盘:
ll /dev/sd*、lsblk、fdisk -l /dev/sdb。 - 创建分区:
fdisk /dev/sdb进入交互 →n新建 →p主分区 → 分区号 1 → 起止扇区回车默认 →+2G指定大小 →w写入并退出;改动在内存中,必须 w 才生效。 - 刷新分区表:
partprobe /dev/sdb(避免重启)。 - 格式化:
mkfs.ext4 /dev/sdb1(新分区都要格式化;xfs 用mkfs.xfs)。 - 挂载:
mkdir /mnt/disk1 && mount -t ext4 /dev/sdb1 /mnt/disk1。 - 验证:
df -hT(大小/占用/挂载点)、mount(含特殊属性)。
四、永久挂载(重启不丢)
- 问题:
mount只是临时,重启失效。 - 方案 A(推荐):
vim /etc/fstab追加一行,然后mount -a立即生效:/dev/sdb1 /mnt/disk1 ext4 defaults 0 0(设备 挂载点 文件系统类型 选项 是否dump备份 是否fsck检查) - 方案 B:把 mount 命令写进
/root/.bashrc(登录自执行,不推荐用于服务依赖)。 - 永久挂载 swap:在 fstab 写
swap类型或用mkswap -f的设备行。
五、LVM 逻辑卷管理(重点!可在线扩容)
- 为什么 LVM:基本磁盘分区无法调整大小(dd 写满即死);LVM 可随意扩张。
- 术语:PV 物理卷(一块盘) → VG 卷组(若干盘合并的池) → LV 逻辑卷(相当于分区,路径
/dev/卷组名/逻辑卷名,映射/dev/mapper/vg-lv);PE 是 VG 分配的最小单位(默认 4MiB)。 - 创建流程(6 步):
pvcreate /dev/sdc→vgcreate vg1 /dev/sdc→lvcreate -L 200M -n lv1 vg1→mkfs.ext4 /dev/vg1/lv1→mkdir /mnt/lv1→mount /dev/vg1/lv1 /mnt/lv1。 - 扩容流程(磁盘→VG→LV→FS 四层):
pvcreate /dev/sdd(新盘转 PV)vgextend vg1 /dev/sdd(VG 扩到 10G,先vgs看 VFree)lvextend -L +200M /dev/vg1/lv1(LV +200M,注意+号)- 文件系统扩容:ext4 用
resize2fs /dev/vg1/lv1;xfs 用xfs_growfs 挂载点。
- 查看命令三级:
pvs/pvscan/pvdisplay、vgs/vgscan/vgdisplay、lvs/lvscan/lvdisplay;df -hT看最终挂载容量。
六、交换分区 Swap
- 作用:把磁盘空间当内存用,防 OOM;
free -m查看(Swap 行)。 - 大小建议:一般设为内存 2 倍;生产规范:4~16G 内存 → ≥4G swap,16~64G → ≥8G,64~256G → ≥16G。
- 增加步骤:fdisk 分 1G 分区(可选
t改类型为 82)→partprobe /dev/sde→mkswap /dev/sde1→swapon /dev/sde1→free -m验证。
七、命令速查表
| 场景 | 命令 |
|---|---|
| 查看磁盘/分区 | lsblk、ll /dev/sd*、fdisk -l /dev/sdb |
| 交互分区(MBR) | fdisk /dev/sdb:n新建→p主→w保存 |
| 刷新分区表 | partprobe /dev/sdb |
| 格式化 | mkfs.ext4 /dev/sdb1、mkfs.xfs /dev/sdb1 |
| 查看文件系统 | df -hT、mount |
| 挂载/永久挂载 | mount -t ext4 /dev/sdb1 /mnt/disk1、写 /etc/fstab + mount -a |
| LVM 创建 | pvcreate→vgcreate vg1→lvcreate -L 200M -n lv1 vg1→mkfs→mount |
| LVM 查看 | pvs/vgs/lvs(简)、pvscan/vgscan/lvscan(扫)、pvdisplay/vgdisplay/lvdisplay(详) |
| LVM 扩容 | vgextend vg1 /dev/sdd→lvextend -L +200M /dev/vg1/lv1→resize2fs/xfs_growfs |
| Swap | free -m、mkswap /dev/sde1、swapon/swapoff /dev/sde1 |
八、易错点
fdisk改动只存内存,忘记w= 白做;分区后不partprobe内核可能不识别。- LVM 扩容四层顺序不能乱:先有 VG 剩余空间(
vgs看 VFree),lvextend -L不带+是扩到绝对值,带+才是追加。 - 扩容文件系统前先确认类型:ext4 →
resize2fs;xfs →xfs_growfs 挂载点(课程示例写 resize2fs,实为 ext4 用例,考试按文件系统类型选命令)。 /etc/fstab写错会导致开不了机;改完先用mount -a验证,字段顺序=设备/挂载点/类型/选项/0/0。- 一个挂载点只能挂一个分区;同一分区可挂多个点(会造成内容双份视图)。
九、实操清单
VMware 加 2 块新盘 → fdisk 分 sdb1(2G) → partprobe → mkfs.ext4 → mkdir/mount → 写 fstab + mount -a 重启验证 → 把 sdc 做 PV/VG/LV 全流程 → 用第 4 块盘 vgextend + lvextend + 扩容 FS → 把 sde 分 1G 设 82 → mkswap/swapon → free -m 对比。
十、本章自测
- MBR 最多几个主分区?想超过 4 个怎么办?2. LVM 四层扩容的命令顺序?3. XFS 扩容文件系统用什么命令?4.
/etc/fstab六列含义?5. swap 分区类型号是多少?6. 第 5 块 SATA 硬盘的设备名?
