LVMをマージする方法

LVMをマージする方法

私の同僚が正確に何をしたかはわかりませんが、彼がLVMのサイズを増やそうとしたことは知っています。これでコマンドを実行すると、次の出力が表示されますlsblk

NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0             2:0    1    4K  0 disk
sda             8:0    0  100G  0 disk
├─sda1          8:1    0    1G  0 part /boot
├─sda2          8:2    0   39G  0 part
│ ├─rhel-root 253:0    0   95G  0 lvm  /
│ └─rhel-swap 253:1    0    4G  0 lvm  [SWAP]
└─sda3          8:3    0   60G  0 part
  └─rhel-root 253:0    0   95G  0 lvm  /

ご覧のとおり、rhel-root以下に同じ名前が2つあり、どちらもルートディレクトリにマウントされています。sda2sda3/

ただし、出力は次のようになりdf -hます。

Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               3.9G     0  3.9G   0% /dev
tmpfs                  3.9G     0  3.9G   0% /dev/shm
tmpfs                  3.9G  9.6M  3.9G   1% /run
tmpfs                  3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/rhel-root   35G   28G  7.3G  80% /
/dev/sda1             1014M  285M  730M  29% /boot
tmpfs                  783M  8.0K  783M   1% /run/user/42
tmpfs                  783M     0  783M   0% /run/user/1001

サイズは/まだ35Gのように見えます。これは拡張がないことを意味します。

マージする必要があるようですが、sda3このsda2問題を解決する方法がわかりません。

出力lvs

  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rhel -wi-ao---- 94.99g
  swap rhel -wi-ao----  4.00g

出力vgs

  VG   #PV #LV #SN Attr   VSize  VFree
  rhel   2   2   0 wz--n- 98.99g    0

出力pvs

  PV         VG   Fmt  Attr PSize   PFree
  /dev/sda2  rhel lvm2 a--  <39.00g    0
  /dev/sda3  rhel lvm2 a--  <60.00g    0

出力vgdisplay

  --- Volume group ---
  VG Name               rhel
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               98.99 GiB
  PE Size               4.00 MiB
  Total PE              25342
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       0 / 0
  VG UUID               tPY1JO-AwK2-ULra-Matz-5VVy-lxWK-CL60ng

ベストアンサー1

rhel-rootあなたの同僚がLVを正常に拡張したので、lvextendLVの一部が開いていsda2て他の部分も開いていますsda3。しかし、LV内のファイルシステムはまだ拡張されていません。

rhel-rootLVは1つだけですが、lsblkここに表示される方法は少し混乱する可能性があります。 LVの全体のサイズを各個々の部分に比較的表示します。

sda2PVはVGsda3にマージされているため、rhelそのVG内のLVは単一のPVの制限を超えて成長する可能性があります。明らかに、同僚は、ルートファイルシステムを含むパーティションを動的に編集することに関連するリスクを回避し、新しいスペースで新しいパーティションを作成し、それを既存のVGに新しいPVとして追加したいと考えました。私の考えでは、これがブータブルディスクからVGを拡張する最も安全な方法です。 PVは複数のパーティションを残してきれいに損傷を与える可能性がありますが、実際には他の重要な影響はありません。


この時点でも、必要に応じて削除sda3して拡張できますsda2。手順は次のとおりです。

まず、lvreduceLVをroot元の形状に非常に慎重に縮小します。 LVMバックアップファイルを使用して/etc/lvm/archive正確なサイズを調べたり、lvdisplay -m /dev/mapper/rhel-rootPV内のエクステント数を確認したり、sda2その値を使用したりできます。これを行うことを選択した場合は、LVをその中のファイルシステムの現在のサイズより小さく縮小しないように注意する必要があります。ファイルシステムの尾の部分を少しでも切り取りたいとは思わないでしょう。

sda3次に、VGを拡張して新しいスペースを占めるためにVGrhelvgreduce rhel /dev/sda3sda3sda2partprobe /dev/sdapartprobepvresize /dev/sda2rhelsda2lvextend -l +100%FREE /dev/mapper/rhel-rootroot

今、あなたは同僚と同じ状況にいますが、審美的な不快感はありませんsda3


同僚が見逃した最後のステップは、実際にLVの容量を増やすためにファイルシステムを拡張することでした。出力/rundf -hVG名があると見なされると、rhelシステムがRHEL 7以上であると仮定します。したがって、デフォルトのファイルシステムタイプはXFSです。つまり、ファイルシステムを拡張するコマンドは次のようになります。

fsadm resize /dev/mapper/rhel-root

または

xfs_growfs /

注:これを行う前に慎重に考えてください。現在、XFSファイルシステムをオンラインまたはオフラインに縮小するための本番品質ツールはありません。したがって、ファイルシステムを拡張した後は、小さいサイズに縮小することはできません。

sda3このコマンドは、削除と拡張を選択するか、同僚の作業をそのままにしてもsda2同じです。

おすすめ記事