適切にアライメントされたLUNでのI/Oのミスアライメント - 概要
ONTAPでは、適切にアライメントされたLUNにおけるI/Oのミスアライメントが報告されることがあります。一般に、このようなミスアライメントの警告は、LUNが適切にプロビジョニングされていて、パーティション テーブルが適正であることに確信があれば無視してかまいません。
LUNとハードディスクはどちらもストレージをブロックとして提供します。ホスト上のディスクのブロック サイズは512バイトなので、LUNはそのサイズのブロックをホストに提供します。しかし実際は、よりサイズの大きい4KBのブロックを使用してデータを保存します。ホストで使用される512バイトのデータ ブロックは論理ブロックと呼ばれ、LUNがデータの保存に使用する4KBのデータ ブロックは物理ブロックと呼ばれます。つまり、4KBの各物理ブロックに512バイトの論理ブロックが8個あります。

ホストOSは、任意の論理ブロックで読み取りまたは書き込みのI/O処理を開始できます。I/Oがアライメントされているとみなされるのは、I/O処理が物理ブロック内の最初の論理ブロックで開始される場合だけです。I/O処理が物理ブロックの最初の論理ブロック以外のブロックで開始される場合は、I/Oがミスアライメントされているとみなされます。ONTAPは、LUNにおけるミスアライメントを自動検出して報告します。ただし、ミスアライメントI/Oが検出されたからといって、LUNもミスアライメントされているとは限りません。適切にアライメントされたLUNでも、ミスアライメントI/Oが報告される場合があります。
さらに調査が必要な場合は、"NetAppナレッジベース:LUN上の未調整IOを識別するにはどうすればよいでしょうか?"を参照してください。
位置合わせの問題を修正するためのツールの詳細については、次のドキュメントを参照してください:+
LUNのOSタイプを使用したI/Oアライメントの実行
ONTAP 9.7以前の場合は、OSのパーティショニング スキームとのI/Oアライメントを実現するために、オペレーティング システムに最も近い推奨ONTAP LUN `ostype`値を使用する必要があります。
ホスト オペレーティング システムが採用しているパーティション スキームは、I/O ミスアライメントの大きな要因です。一部のONTAP LUN ostype`値は、「`prefix」と呼ばれる特殊なオフセットを使用しており、これによりホスト オペレーティング システムが使用するデフォルトのパーティション スキームをアライメントすることが可能になります。
|
|
状況によっては、I/Oアライメントを実現するためにカスタムパーティションテーブルが必要になる場合があります。ただし、 ostype`値の「`prefix」値が `0`より大きい場合、カスタムパーティションによってI/Oのアライメントがずれる可能性があります。
|
ONTAP 9.7 以前でプロビジョニングされたLUNの詳細については、"NetApp ナレッジベース:LUN 上の非整列 IO を識別する方法"を参照してください。
|
|
ONTAP 9.8以降でプロビジョニングされた新しいLUNには、すべてのLUN OSタイプでサイズが0のプレフィックスとサフィックスがデフォルトで設定されます。I/Oは、デフォルトでサポートされているホストOSとアライメントされている必要があります。 |
Linux固有のI/Oアライメントに関する注意事項
Linuxディストリビューションでは、データベース、各種ボリューム マネージャ、およびファイルシステム用のrawデバイスなど、さまざまな方法でLUNを使用できます。rawデバイスまたは論理ボリューム内の物理ボリュームとして使用する場合、LUNにパーティションを作成する必要はありません。
RHEL 5以前およびSLES 10以前でのLinuxでボリューム マネージャなしでLUNを使用する場合は、LUNをパーティショニングして、1つのパーティション(8個の論理ブロックの偶数倍となるセクター)がアライメントされたオフセットから始まるようにする必要があります。
Solaris LUN固有のI/Oアライメントに関する注意事項
`solaris` ostype と `solaris_efi` ostype のどちらを使用するかを決定する際には、さまざまな要素を考慮する必要があります。
詳細については、 "Solaris Host Utilitiesのインストールおよび管理ガイド"を参照してください。
ESXブートLUNがミスアライメントとしてレポートされる
ESXブートLUNとして使用されるLUNは、通常ONTAPによってミスアライメントとして報告されます。ESXはブートLUN上に複数のパーティションを作成するため、アライメントが非常に困難です。ミスアライメントされたESXブートLUNは、ミスアライメントされたI/Oの総量が少ないため、通常はパフォーマンスの問題にはなりません。LUNがVMware `ostype`で正しくプロビジョニングされていると仮定すると、何もする必要はありません。