Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.6. パーティションおよびファイルシステムツール

本セクションでは、さまざまなパーティションツールおよびファイルシステム管理ツールがデバイスの I/O パラメーターと相互作用する方法を説明します。

util-linux-ng の libblkid と fdisk

util-linux-ng パッケージで提供される libblkid ライブラリーには、デバイスの I/O パラメーターにアクセスするためのプログラム API が含まれています。libblkid を使用すると、アプリケーション、特に Direct I/O を使用するアプリケーションが、I/O 要求のサイズを適切に調整できます。util-linux-ngfdisk ユーティリティーは、libblkid を使用して、すべてのパーティションの配置を最適化するためにデバイスの I/O パラメーターを決定します。fdisk ユーティリティーは、すべてのパーティションを 1MB の境界に合わせます。

parted と libparted

partedlibparted ライブラリーは、libblkid の I/O パラメーター API も使用します。Red Hat Enterprise Linux 7 インストーラーである Anacondalibparted を使用します。つまり、インストーラーまたは parted のいずれかで作成されたすべてのパーティションが適切に調整されます。I/O パラメーターを提供していないように見えるデバイスで作成されたすべてのパーティションの場合、デフォルトの調整は 1MB になります。
parted が使用するヒューリスティックは次のとおりです。
  • 報告された alignment_offset は、常に最初のプライマリーパーティションの開始オフセットとして使用します。
  • optimal_io_size が定義されている場合( 0ではない)は、すべてのパーティションを optimal_io_size 境界に合わせます。
  • optimal_io_size が定義されていない場合( 0など)、alignment_offset0 で、minimum_io_size は 2 の累乗で、1MB のデフォルトアライメントを使用します。
    これは、I/O ヒントを提供していないように見えるレガシーデバイスのキャッチオールです。このため、デフォルトでは、すべてのパーティションは 1MB の境界にアライメントされます。
    注記
    Red Hat Enterprise Linux 7 は、I/O ヒントを提供しないデバイスと、alignment_offset=0 および optimal_io_ size=0 でこれを行うデバイスを区別できません。このようなデバイスは、SAS 4K デバイスが 1 つだけの場合があります。そのため、最悪の場合はディスクの起動時に 1MB の領域が失われます。

ファイルシステムツール

異なる mkfs.filesystem ユーティリティーも、デバイスの I/O パラメーターを使用するように強化されています。これらのユーティリティーでは、ファイルシステムをフォーマットして、基礎となるストレージデバイスの logical_block_size よりも小さいブロックサイズを使用することができません。
mkfs.gfs2 を除き、その他すべての mkfs.filesystem ユーティリティーは I/O ヒントを使用して、ディスク上のデータ構造と、基盤となるストレージデバイスの minimum_io_size および optimal_io_size に関連するデータ領域をレイアウトします。これにより、ファイルシステムを、さまざまな RAID (ストライプ化) レイアウトに合わせて最適にフォーマットできます。