23.6. 分区和文件系统工具


这部分论述了不同的分区和文件系统管理工具如何与设备的 I/O 参数进行交互。

util-linux-ng 的 libblkid 和 fdisk

util-linux-ng 软件包提供的 libblkid 库包括用于访问设备的 I/O 参数的编程 API。libblkid 允许应用程序(特别是那些使用直接 I/O 的应用程序)正确调整其 I/O 请求的大小。util-linux-ngfdisk 工具使用 libblkid 来确定设备的 I/O 参数,以优化所有分区的位置。fdisk 实用程序将在 1MB 边界上校准所有分区。

parted 和 libparted

partedlibparted 库也使用 libblkid 的 I/O 参数 API。Red Hat Enterprise Linux 7 安装程序 Anaconda 使用 libparted,这意味着由安装程序或 parted 创建的所有分区都会被正确对齐。对于在似乎不提供 I/O 参数的设备上创建的所有分区,默认校准为 1MB。
Heuristics parted 使用如下:
  • 始终使用报告的 alignment_offset 作为第一个主分区开头的偏移量。
  • 如果定义了 optimal_io_size (即不是 0),在 optimal_io_size 边界上校准所有分区。
  • 如果 optimal_io_size 未定义(即 0 ),则 alignment_offset 为 0,而 minimum_io_size 是 2 的指数,使用 1MB 默认对齐。
    这是对“遗留”设备的总称,这些设备似乎不提供 I/O 提示。因此,默认情况下,所有分区将在 1MB 边界上校准。
    注意
    Red Hat Enterprise Linux 7 无法区分不提供 I/O 提示的设备和使用 alignment_offset=0optimal_io_size=0 的设备。此类设备可能是单个 SAS 4K 设备;因此,最坏情况下,磁盘开始时会丢失 1MB 空间。

文件系统工具

不同的 mkfs. 文件系统工具已被改进,以使用设备的 I/O 参数。这些工具不允许格式化文件系统以使用比底层存储设备的 logical_block_size 小的块大小。
mkfs.gfs2 外,所有其他 mkfs.filesystem 工具也使用 I/O 提示来布局与底层存储设备的 minimum_io_sizeoptimal_io_size 相关的磁盘上数据结构和数据区域。这使得文件系统可以针对各种 RAID(条带)布局进行最佳格式化。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.