kickstartファイルを使用してCentOS 7.4システムをインストールしようとしていますが、次のエラーが発生します。
752.85MiBが必要であるという追加のメッセージがあります。
キックスタートファイルの関連部分は次のとおりです。
part pv.00 --size=77824 --asprimary
volgroup vg00 pv.00
logvol / --fstype=ext4 --name=lv_root --vgname=vg00 --size=40960
logvol /tmp --fstype=ext4 --name=lv_tmp --vgname=vg00 --size=16384 --fsoptions="nodev,noexec,nosuid"
logvol /var --fstype=ext4 --name=lv_var --vgname=vg00 --size=16384 --fsoptions="nodev,nosuid"
logvol swap --name=lv_swap --vgname=vg00 --size=4096
ご覧のとおり、論理ボリュームの合計サイズは物理ボリュームのサイズと同じです。40960 + 16384 + 16384 + 4096 = 77824
明らかに、物理ボリュームまたはボリュームグループの一部を占めるオーバーヘッドやメタデータがありますが、これがどのように計算されるかはわかりません。
私は午前中にインターネット検索をしましたが、RedHatの高度なLVM設定ガイドには何の情報も見つかりませんでした。
この答えの目的のために、--growがオプションではないと仮定すると、正確な計算を知る必要があります(この物理ボリュームの後に成長する必要がある別の物理ボリュームがあるため、この物理ボリュームは固定サイズでなければなりません)。
答え1
デフォルトでは、LVM2メタデータは物理ボリュームあたり1MiBです。これを使用して、
pvs -o +pe_start
ペイロードの正確な開始位置を見つけることができます。ボリュームグループと論理ボリュームにはメタデータのオーバーヘッドはありません。物理ボリュームだけがメタデータを渡します。
さらに、デフォルトでは、LVMは4MiBの物理的範囲を使用します。
最終的な結果は、審美的な理由でpvdisplay
「」を表示するには、not usable 0
次のことを行う必要があることです。
各物理ボリュームを4MiB+1MiBの倍数にします。
-s 1m
またはを使用して、物理範囲が1MiBになるようにボリュームグループを作成します。
源泉:
データ領域のデフォルトの並べ替え(ペイロード領域の開始セクタに反映されます
pvs -o +pe_start
)は1MiBです。今回提出してください。これは実際に設定可能なパラメータです。マニュアルページをご覧ください。lvm.conf
;もちろん、物理ボリューム生成時に物理ボリュームで制御が可能です。デフォルトの物理範囲サイズはマニュアルページに文書化されています。
vgcreate
:-S、--物理的範囲サイズ 物理範囲サイズ[
bBsSkKmMgGtTpPeE
]
このボリュームグループの物理ボリュームの物理拡張領域サイズを設定します。サイズサフィックス(k
キロバイトからメガバイトt
)はオプションです。サフィックスがない場合、デフォルトはメガバイトです。値はLVM2形式の場合は少なくとも1つのセクタでなければなりません(ここで、セクタサイズは現在VGで使用されているPVの最大セクタサイズです)、LVM1形式の場合は値は少なくとも8KiBで、2の累乗でなければなりません。デフォルトは4MiBです。
答え2
このコマンドは、dmsetup table
PV内のLVの開始位置を表示します。以前のシステムのPVの場合、最低オフセットは384です。
start cmd: # dmsetup table | grep '\b384$'
storage-images: 0 62914560 linear 9:9 384
linux0-home: 0 2097152 linear 9:0 384
しかし、最新のシステムではオフセットが大きくなります。
linuxbackup-rootfs: 0 18874368 linear 9:1 2048
これは、LVMのバージョン(またはディストリビューション設定)によっては、最初の384または2048セクタがPVおよびVGメタデータ用に予約されていることを意味します。 PVの末尾にメタデータがあるかもしれません(強制する場合)。
相関値を知りたい場合は、単にVGを作成して使用された値を確認するだけです。ただし、お客様の目的に応じて、より大きな値で計算を実行するだけで十分です。