セグメントサイズとは何ですか?
セグメントは、あるドライブに格納されるデータの量(KiB)です。この量に達すると、ストライプ(RAIDグループ)内の次のドライブへと進みます。セグメントサイズはボリュームグループにのみ該当し、プールには該当しません。
セグメントサイズは、セグメントに含まれるデータブロックの数で定義されます。セグメントサイズを決定する際には、ボリュームに格納するデータのタイプを把握しておく必要があります。アプリケーションが一般にスモールランダムリードとスモールランダムライト(IOPS)を使用する場合は、一般に小さなセグメントサイズが適しています。アプリケーションがラージシーケンシャルリードとラージシーケンシャルライト(スループット)を使用する場合は、一般に大きなセグメントサイズが適しています。
アプリケーションがスモールランダムリード/ライトとラージシーケンシャルリード/ライトのどちらを使用するかに関係なく、セグメントサイズが標準的なデータブロックのチャンクサイズより大きい場合、ストレージアレイのパフォーマンスが向上します。これはドライブがより簡単かつ高速にデータにアクセスできるようにするためであり、ストレージアレイのパフォーマンス向上にとって重要です。
IOPSパフォーマンスが重視される環境の場合
IOPS(1秒あたりのI/O処理数)環境では、ドライブに対して読み書きされる標準的なデータブロックサイズ(「チャンク」)よりもセグメントサイズを大きくすると、ストレージアレイのパフォーマンスが向上します。こうすることで、各チャンクが確実に1つのドライブに書き込まれます。
スループットが重視される環境の場合
スループットを重視する環境では、標準的なデータチャンクサイズ(I/Oサイズ)をデータ用ドライブの総数で割った値にセグメントサイズを設定します。こうすることで、データが単一のストライプとしてボリュームグループの複数のドライブに分散されるため、読み取りと書き込みが高速になります。