第 4 章 ext3 文件系统
ext3 文件系统基本上是一个 ext2 文件系统的改进版本。这些改进提供以下优点:
- 可用性
- 在意外的电源故障或系统崩溃(也称为 未清理的系统关闭)后,机器上每个挂载的 ext2 文件系统都必须通过 e2fsck 程序检查一致性。这是一个耗时的过程,可能会显著延迟系统引导时间,特别是对于包含大量文件的大量卷而言。在这段时间中,卷上的任何数据都不可访问。可以在实时文件系统上运行 fsck -n。但是,如果遇到写入了部分元数据,它不会进行任何更改,并且可能会产生误导。如果在堆栈中使用 LVM,另一个选项是生成文件系统的 LVM 快照,并在其上运行 fsck。最后,您可以选择以只读形式重新挂载文件系统。然后,在重新挂载前,所有待处理的元数据更新(及写入)都会强制到磁盘中。这样可确保文件系统处于一致状态,前提是之前没有损坏。现在,可以运行 fsck -n。ext3 文件系统提供的日志意味着,在未清理的系统关闭后,不再需要此类文件系统检查。使用 ext3 进行一致性检查的唯一时间是在某些罕见的硬件故障情形中,如硬盘驱动器故障。在未清理的系统关闭后恢复 ext3 文件系统的时间不取决于文件系统的大小或文件的数量,而是取决于用于保持一致性的 日志 的大小。默认日志大小大约需要一秒钟就能恢复,具体取决于硬件的速度。注意红帽支持的 ext3 中的唯一日志模式是 data=ordered (默认)。
- 数据完整性
- ext3 文件系统防止发生未清理系统关闭时数据完整性的丢失。ext3 文件系统允许您选择数据接受的保护类型和级别。对于文件系统的状态,ext3 卷配置为默认保持高级别的数据一致性。
- 速度
- 尽管多次写入一些数据,但大多数情况下, ext3 的吞吐量高于 ext2,因为 ext3 的日志优化了硬盘驱动器磁头的移动。您可以从三种日志记录模式中进行选择来优化速度,但这样做意味着在系统出现故障时要权衡数据的完整性。注意红帽支持的 ext3 中的唯一日志模式是 data=ordered (默认)。
- 轻松迁移
- 可轻松从 ext2 迁移到 ext3,并获得强大的日志记录文件系统的优势,而无需重新格式化。有关执行此任务的详情,请参考 第 4.2 节 “转换为 ext3 文件系统”。
注意
Red Hat Enterprise Linux 7 提供统一的 extN 驱动程序。它通过禁用 ext2 和 ext3 配置,而是对这些磁盘上的格式使用
ext4.ko
。这意味着,无论使用的 ext 文件系统是什么,内核信息总是指 ext4。
4.1. 创建 ext3 文件系统
安装后,有时需要创建新的 ext3 文件系统。例如,如果系统中添加了新的磁盘驱动器,您可能需要对该驱动器进行分区,并使用 ext3 文件系统。
- 使用
mkfs.ext3
工具使用 ext3 文件系统格式化分区或 LVM 卷:#
mkfs.ext3 block_device- 使用到块设备的路径替换 block_device。例如:
/dev/sdb1
,/dev/disk/by-uuid/05e99ec8-def1-4a5e-8a9d-5945339ceb2a
, 或/dev/my-volgroup/my-lv
。
- 使用
e2label
工具标记文件系统:#
e2label block_device volume_label
配置 UUID
也可以为文件系统设置特定的 UUID。要在创建文件系统时指定 UUID,请使用
-U
选项:
#
mkfs.ext3 -U UUID device
- 使用您要设置的 UUID 替换 UUID:例如
7cd65de3-e0be-41d9-b66d-96d749c02da7
。 - 使用 ext3 文件系统的路径替换 device,以将 UUID 添加到其中:例如
/dev/sda8
。
要更改现有文件系统的 UUID,请参阅 第 25.8.3.2 节 “修改持久性命名属性”
其它资源
- mkfs.ext3(8) man page
- e2label(8) man page