10.2. LVM の割り当てポリシー
LVM の操作で物理エクステントを 1 つまたは複数の論理ボリューム (LV) に割り当てる必要がある場合、割り当ては以下のように行われます。
- ボリュームグループで割り当てられていない物理エクステントのセットが、割り当てのために生成されます。コマンドラインの末尾に物理エクステントの範囲を指定すると、指定した物理ボリューム (PV) の中で、その範囲内で割り当てられていない物理エクステントだけが、割り当て用エクステントとして考慮されます。
-
割り当てポリシーは順番に試行されます。最も厳格なポリシー (
contiguous
) から始まり、最後は--alloc
オプションで指定した割り当てポリシーか、特定の LV やボリュームグループ (VG) にデフォルトとして設定されている割り当てポリシーが試行されます。各割り当てポリシーでは、埋める必要がある空の LV 領域の最小番号の論理エクステントから始まり、割り当てポリシーによる制限に従って、できるだけ多くの領域の割り当てを行います。領域が足りなくなると、LVM は次のポリシーに移動します。
割り当てポリシーの制限は以下のとおりです。
contiguous
ポリシーでは、LV の最初の論理エクステントを除き、論理エクステントの物理的位置が、直前の論理エクステントの物理的位置に隣接している必要があります。LV がストライプ化またはミラーリングされている場合、
contiguous
の割り当て制限は、領域を必要とする各ストライプまたは RAID イメージに個別に適用されます。-
cling
の割り当てポリシーでは、既存の LV に追加する論理エクステントに使用される PV が、その LV にある少なくとも 1 つの論理エクステントですでに使用されている必要があります。 -
normal
の割り当てポリシーでは、並行 LV 内の同じオフセットで、並行 LV (つまり、異なるストライプまたは RAID イメージ) にすでに割り当てられている論理エクステントと同じ PV を共有する物理エクステントは選択されません。 -
割り当て要求を満たすのに十分な空きエクステントがあっても、
normal
の割り当てポリシーによって使用されない場合は、たとえ同じ PV に 2 つのストライプを配置することによってパフォーマンスが低下しても、anywhere
の割り当てポリシーがその空きエクステントを使用します。
vgchange
コマンドを使用して、割り当てポリシーを変更できます。
今後の更新で、定義された割り当てポリシーに基づくレイアウト操作のコードが変更される可能性があることに注意してください。たとえば、割り当て可能な空き物理エクステントの数が同じ 2 つの空の物理ボリュームをコマンドラインで指定する場合、現行バージョンの LVM では、それが表示されている順番に使用が検討されます。ただし、今後のリリースで、そのプロパティーが変更されない保証はありません。特定の LV 用に特定のレイアウトが必要な場合は、各手順に適用される割り当てポリシーに基づいて LVM がレイアウトを決定することがないように、lvcreate
と lvconvert
を順に使用してレイアウトを構築してください。