web-dev-qa-db-ja.com

Linuxの物理ボリュームとボリュームグループのメタデータのオーバーヘッドを計算するにはどうすればよいですか?

キックスタートファイルを使用してCentOS7.4システムをインストールしようとしていますが、次のエラーが発生しました:「新しいlvが大きすぎて空き領域に収まりません」

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はオプションではなく、正確な計算を知る必要があると仮定します(このボリュームの後に、拡張する必要がある別の物理ボリュームがあるため、これは固定サイズである必要があります)。

2
Michael Day
  • デフォルトでは、LVM2メタデータは物理ボリュームあたり1MiBです。 pvs -o +pe_startを使用して、ペイロードの開始位置を正確に確認します。

  • ボリュームグループと論理ボリュームにはメタデータのオーバーヘッドがありません。物理ボリュームのみがメタデータを保持します。

  • また、デフォルトでは、LVMは4 MiBの物理エクステントを使用します。

最終的な結果は、審美的な理由でpvdisplayに「not usable 0」を表示させたい場合は、次のことを行う必要があります。

  • 各物理ボリュームを4MiB + 1MiBの倍数にします。

  • または、-s 1mを使用してボリュームグループを作成し、物理エクステントを1MiBにします。

出典:

  • データ領域のデフォルトの配置(ペイロード領域pvs -o +pe_startの開始セクターに反映)は、 このコミット に従って1MiBです。これは実際には設定可能なパラメータです。 lvm.conf のマニュアルページを参照してください。もちろん、物理ボリュームの作成時に物理ボリュームごとに制御できます。

  • デフォルトの物理エクステントサイズは、 vgcreate のマニュアルページに記載されています。

    -s-physicalextentsizePhysicalExtentSize [bBsSkKmMgGtTpPeE]
    このボリュームグループの物理ボリュームの物理エクステントサイズを設定します。サイズのサフィックス(キロバイトの場合はkからテラバイトの場合はtまで)はオプションであり、サフィックスが存在しない場合はメガバイトがデフォルトです。値は、LVM2フォーマットの場合は少なくとも1セクター(セクターサイズはVGで現在使用されているPVの最大セクターサイズです)またはLVM1フォーマットの場合は8KiBでなければならず、2の累乗でなければなりません。デフォルトは4 MiBです。

1
AlexP

コマンド 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を作成して、使用されている値を確認するだけです。しかし、あなたの目的のためには、より大きな値で計算するだけで十分かもしれません。

0
Hauke Laging