11.2. LVM の割り当てポリシー
LVM の割り当てポリシーは、contiguous、cling、normal、および anywhere ストラテジーを使用して、物理エクステントを論理ボリュームに割り当る方法を制御します。
LVM の操作で物理エクステントを 1 つまたは複数の論理ボリューム (LV) に割り当てる必要がある場合、割り当ては以下のように行われます。
- ボリュームグループで割り当てられていない物理エクステントのセットが、割り当てのために生成されます。コマンドラインの末尾に物理エクステントの範囲を指定すると、その範囲内で割り当てられていない物理エクステントだけが、割り当て用エクステントとして考慮されます。この範囲は、指定された物理ボリューム (PV) にのみ適用されます。
-
各割り当てポリシーは、最も厳格なポリシー (
contiguous) から順に試されます。このプロセスは、--allocで指定されたポリシー、または特定の論理ボリューム (LV) もしくはボリュームグループ (VG) のデフォルトで終了します。各ポリシーに従い、空いている LV 領域の最も番号が小さい論理エクステントから始めて、可能な限り多くの領域が割り当てられます。これは、ポリシーの制約に準じて行われます。領域が足りなくなると、LVM は次のポリシーに移動します。
割り当てポリシーの制限は以下のとおりです。
contiguousポリシーでは、各論理エクステントは、直前の論理エクステントに物理的に隣接している必要があります。論理ボリューム (LV) の最初の論理エクステントは例外です。LV がストライプ化またはミラーリングされている場合、
contiguousの制約は、領域を必要とする各ストライプまたは RAID イメージに個別に適用されます。-
clingポリシーでは、論理エクステントに使用される PV は既存の LV に追加されなければなりません。その PV は、その LV 内の少なくとも 1 つの先行する論理エクステントによってすでに使用されている必要があります。 -
normal割り当てポリシーでは、並列 LV で使用されているのと同じ PV 上の物理エクステントは選択されません。これは、両方のエクステントが、異なるストライプまたは RAID イメージ内の同じオフセットにある場合に適用されます。 -
十分な空きエクステントが存在するにもかかわらず、それらが
normalポリシーで使用されていない場合、anywhereポリシーが使用します。その結果、同じ PV 上に 2 つのストライプが配置され、パフォーマンスが低下する可能性があります。
vgchange コマンドを使用して、割り当てポリシーを変更できます。
今後の更新で、定義された割り当てポリシーに基づくレイアウト操作のコードが変更される可能性があることに注意してください。たとえば、同じ空き物理エクステントを持つ 2 つの空の物理ボリュームを指定した場合、現在の LVM はリストされた順序でそれらを使用します。しかし、今後のリリースではこの動作が維持されない可能性があります。特定の LV レイアウトが必要な場合は、lvcreate と lvconvert のステップを順番に実行して構築してください。その際には、各ステップに適用される割り当てポリシーによって、レイアウトに関する裁量が LVM に付与されない構造にしてください。