Translated message

A translation of this page exists in English.

直接または LVM を間に入れて、LUN でパーティション設定を使用するメリットとデメリットは何ですか?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) 5、6、7、8

Issue

  • 直接または LVM を間に入れて、LUN でパーティション設定を使用するメリットとデメリットは何ですか? このコンテキストでは、管理、パフォーマンス、および耐障害性の観点から、何を考慮する必要がありますか?
  • ディスクに 1 つのパーティションを作成するのではなく、直接物理ボリュームを作成する場合は、サポートされますか?
    たとえば、以下の設定はサポートされますか?

    # pvcreate /dev/sdb  OR
    # pvcreate /dev/mapper/mpatha
    

Resolution

ディスク全体を使用する場合に、ディスク全体にパーティション設定するのではなく、物理ボリュームを作成することが、完全にサポートされています。以下は、ディスク全体での物理ボリュームの作成、またはディスク上でのパーティションの作成に関するメリットおよびデメリットになります。

管理上の留意事項

パーティション設定により、管理上の見落としの可能性が減少します。パーティションや /proc/partitions エンティティーなどがない場合は、システム管理者が未使用のドライブを検索する際に、物理ボリューム (PV) を見落とす可能性が高くなります。

パーティション化されたドライブは、システムのパーティション設定インターフェースとツール (/proc/partitionsparted など) によって認識されるため、管理エラー (ドライブが未使用と見なされる場合) が発生しにくくなります。これは、ドライブ全体が PV として使用される場合は該当しません。

パフォーマンスに関する考慮事項

アライメント

管理上のリスクを軽減するためにパーティション設定を使用する場合は、パーティションのアライメントを最も効果的に設定する方法を完全に理解して、パーティションを作成する必要があります。そうでない場合は、パーティション設定の導入によりアライメント (そしてパフォーマンス) の問題が発生する可能性があります。この問題は、たとえば、pvcreate が実行される前にパーティションが作成されることがない別の設定では見られない場合があります。

これは特に、自動アライメントのカーネルサポートのないカーネルバージョンにおいて当てはまります。実行中の Linux カーネルのバージョンによっては、アライメントを正しく実行することが難しい場合があります。これに対応する試みとして、ストレージ I/O アライメントのサポートが、最新のカーネルおよびツールに追加されました。これは、アライメントを手動で実行する必要がないようにすることを目的としています。

『RHEL 6 ストレージ管理ガイド』の以下の章では、自動アライメントについて詳細に説明しています。

第23章ストレージ I/O アライメントとサイズ

"Recent enhancements to the SCSI and ATA standards allow storage devices to indicate their preferred (and in some cases, required) I/O alignment and I/O size. This information is particularly useful with newer disk drives that increase the physical sector size from 512 bytes to 4k bytes. This information may also be beneficial for RAID devices, where the chunk size and stripe size may impact performance.

The Linux I/O stack has been enhanced to process vendor-provided I/O alignment and I/O size information, allowing storage management tools (parted, lvm, mkfs.*, and the like) to optimize data placement and access. If a legacy device does not export I/O alignment and size data, then storage management tools in Red Hat Enterprise Linux 6 will conservatively align I/O on a 4k (or larger power of 2) boundary. This will ensure that 4k-sector devices operate correctly even if they do not indicate any required/preferred I/O alignment and size."

『RHEL 6.0 リリースノート』の次のセクションには、このトピックに関する詳細が記載されています: 『RHEL 6.0 リリースノート』 - 4.1.「Storage Input/Output Alignment and Size」

ドライブのプロパティー (SSD、キャッシュを事前に使用するハイエンドストレージなど) に応じて、オペレーティングシステムに公開されている特定の第 1 レベルのストレージアライメントのプロパティーについて把握する必要があります。そのため、カーネルでのアライメントサポートが利用できない場合は、パーティション設定が使用されていない方が、アライメントの適切な実行が一般的に簡単になります。

頻繁な開閉操作の影響

特定の状況下で、アプリケーションがパーティションなしでディスクデバイスを繰り返し開いて (RDWR) 閉じた場合、ブロックデバイスキャッシュ全体の無効化が確認され、パフォーマンスの低下につながります。

このシナリオの再現では、udev イベントは、パーティションテーブルを再スキャンする際に、デバイスのキャッシュをドロップします。キャッシュがドロップされるため、再現が遅くなります。

これが発生する実際のシナリオでは、以下が必要です。

  • ブロックデバイス全体を使用して、データの読み取りと書き込みを行うアプリケーション。このアプリケーションでは、I/O パフォーマンスが低下することがあります。
  • コンテンツを更新せずに、ブロックデバイス全体を読み取り/書き込みモードで、繰り返し開閉する別のアプリケーション。

これは通常の状況ではありません。より一般的なシナリオは、特定の DB がデバイスを直接開閉するような一部のアプリケーションになります。 ただし、このようなアプリケーションは一般に直接 I/O を使用するので、ここで問題となるのは、通常はキャッシュフラッシュではなく、追加の udev 処理になります。

この状況でのパフォーマンスの低下を解決するために、パーティションを使用できます。または、udevnowatch オプションを使用することもできます。

全体的な考慮事項

適切にアライメントされた単一のドライブで (1つの) パーティションを使用すると、管理上の見落としが減り、許容可能なパフォーマンスレベルの維持に役立ちます。

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.