Menu Close

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 が定義されている (つまり0 でない) 場合は、すべてのパーティションを optimal_io バウンダリーにアライメントします。
  • 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 (ストライプ化) レイアウトに合わせて最適にフォーマットできます。