精读笔记 · 第07章 RAID 与文件系统
大约 4 分钟
精读笔记 · 第07章 RAID 与文件系统
精读整理自 RHCE9 随堂讲义(原文字版 8 页)|同名视频约 5 节 关联知识文件:
分章笔记/01-Linux/02-02-存储与文件系统(RHCE9第06-07章RH134)、05-认证考试要点
一、文件系统:EXT4 与 XFS
- EXT4:第四代扩展文件系统(2008),日志文件系统(journal),崩溃后不易损坏;CentOS6 默认,旧代码成熟可靠。
- XFS:SGI 设计的高性能日志文件系统,支持元数据日志、并行 I/O、在线碎片整理;CentOS7 起至今(含 RHEL9)默认文件系统。
- 容量对比(常识):单文件 EXT4 16GB~16TB、XFS 16TB~16EB;EXT4 可扩展性不如 XFS。
二、inode / block / superblock(RHCSA 高频概念)
- inode(索引节点,128 字节):记录文件元数据(大小、权限、属主属组、链接数、块号);一个文件占一个 inode → inode 数量决定文件系统能放多少个文件(
df -i查看)。 - block(块,默认 4K):真正存文件内容,大文件占多个 block → block 总量决定能存多少数据(
df -h查看)。 - superblock:记录整个文件系统总量、已用/未用 inode 与 block 数等总账。
- 实验结论:inode 满 → 不能新建文件;block 满 → 连已有文件也写不进内容。
- 实验:
df -i看 inode →touch file{1..30000}造大量文件 → 再df -i;dd if=/dev/zero of=/disk1/5.txt bs=1k count=1000填满分区 →touch失败。 - 查看:
ll -i 文件名(文件 inode 号);示例1/示例2 观察文件数量与磁盘空间限制。
三、RAID 简介
- RAID(Redundant Array of Independent Disks,廉价/独立磁盘冗余阵列):目的=容错 + 提升读写速率。
- RAID0 条带:≥2 盘,读写快(≈N 倍)但不容错,坏一块全丢。
- RAID1 镜像:2 盘,容量 50%,读写一般,容错(坏一块可用另一块)。
- RAID5 条带+奇偶校验:≥3 盘,容量利用率 (n-1)/n,读写快且容错(允许坏 1 块)。
- 硬 RAID(RAID 卡带 CPU/缓存,快)/ 软 RAID(操作系统层,如 mdadm)对比。
四、软 RAID 实战(mdadm)
- 准备 4 块盘:RAID5 = 3 数据盘 + 1 热备盘(spare)。
- 创建:
yum -y install mdadm;mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
-C创建、/dev/md0第 1 个 RAID 设备、-l5RAID 级别、-n3成员数、-x1热备数。
- 格式化挂载:
mkfs.ext4 /dev/md0→mkdir /mnt/raid5→mount /dev/md0 /mnt/raid5→ 拷数据测试cp -rf /etc /mnt/raid5/etc1。 - 查看状态:
mdadm -D /dev/md0,重点看:Raid Level、State(clean)、Active Devices、Working Devices、Failed Devices(坏 1 块危险、2 块完蛋)、Spare Devices、Chunk Size。 - 模拟损坏并移除(双终端演示):
- 终端一持续观察:
watch -n 0.5 'mdadm -D /dev/md0 | tail' - 终端二标记故障并移除:
mdadm /dev/md0 -f /dev/sde -r /dev/sde(-f=fail 标记坏盘,-r=remove 移除) - 热备盘 sdg 会自动顶替重建(spare → active sync)。
五、软链接(符号链接)
- 创建:
ln -s /file1 /home/file11(-s 软连接),像 Windows 快捷方式。 - 特性:
lrwxrwxrwx类型开头;记录的是源文件路径;可对文件或目录创建;源文件删除后链接“闪烁”失效(红底白字/找不到目标)。 - 类比与易错:跨分区可建软链接(存的是路径不是内容)。
六、硬链接
- 创建:
ln /file2 /file2-h1(不带 -s);本质是给同一 inode 加一个目录项(链接数 +1)。 - 特性:只能对文件(不能对目录);只能在同分区(跨分区报
Invalid cross-device link);删除源文件后硬链接仍可用(inode 计数未归零)。 - 对比:
ll -i看 inode 号是否相同;硬链接文件没有->箭头。
七、命令速查表
| 场景 | 命令 |
|---|---|
| 查看 inode/容量 | df -i、df -hT、ll -i 文件 |
| 填满分区实验 | dd if=/dev/zero of=/文件 bs=1k count=1000 |
| 安装/创建 RAID5 | yum -y install mdadm、mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g} |
| 查看 RAID | mdadm -D /dev/md0、cat /proc/mdstat |
| 模拟故障/移除 | mdadm /dev/md0 -f /dev/sde、mdadm /dev/md0 -r /dev/sde |
| 持续监控 | `watch -n 0.5 'mdadm -D /dev/md0 |
| 软链接 | ln -s 源 链接名 |
| 硬链接 | ln 源 链接名 |
八、易错点
- RAID0 无冗余:性能最好但坏盘即全损;RAID5 至少 3 盘、最多坏 1 块(配热备盘自动重建)。
- 硬链接跨分区报错、不能对目录;软链接可以跨分区、可对目录但源没了就失效。
- 软 RAID 设备
/dev/md0重启后需配置/etc/mdadm.conf才能自动重组(课程示例未展开,生产必备)。 - inode 与 block 是两套限制:
df -i满 vsdf -h满,故障表现不同。
九、实操清单
准备 4 块 2G 新盘 → mdadm 创建 RAID5(-n3 -x1) → mkfs/mount → 拷 /etc 验证 → mdadm -D 读懂每行 → watch + -f/-r 模拟坏盘观察热备重建 → 软/硬链接对比实验(ll -i 验证 inode、删源验证差异)。
十、本章自测
- RHEL9 默认文件系统?EXT4 与 XFS 区别?2. inode 满与 block 满分别是什么症状?3. RAID0/1/5 各需几块盘、容错如何?4. mdadm 创建 RAID5 带 1 块热备的命令?5. 硬链接跨分区能否创建?为什么?6. 软链接删除源文件后还能用吗?
