途中でLVMボリュームを増やす方法は?

2
2022.01.06

次のLinuxLVMボリュームグループと論理ボリュームを作成したとしましょう。

 $ sudo vgcreate vg1 /dev/sdb1
$ sudo lvcreate -L 10G -n lv1 vg1
$ sudo lvcreate -L 10G -n lv2 vg1
$ sudo lvcreate -L 10G -n lv3 vg1

$ sudo mkfs.ext4 /dev/mapper/vg1-lv1
$ sudo mkfs.ext4 /dev/mapper/vg1-lv2
$ sudo mkfs.ext4 /dev/mapper/vg1-lv3

最終的には次のようになります。これらはすべてext4ファイルシステムを使用しています。

 $ sudo lvs
  LV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv1    vg1      -wi-a-----  10.00g                                                    
  lv2    vg1      -wi-a-----  10.00g                                                    
  lv3    vg1      -wi-a-----  10.00g                                                    

私は10Gから5GにLV1サイズを小さくし、10Gから15GにLV2サイズを拡張したいと思います。これは、lv2がディスクの前面に向かって大きくなる必要があることを意味します。

 $ sudo lvreduce --resizefs --size 5G /dev/mapper/vg1-lv1
fsck from util-linux 2.36.1
/dev/mapper/vg1-lv1: clean, 11/655360 files, 66753/2621440 blocks
resize2fs 1.46.3 (27-Jul-2021)
Resizing the filesystem on /dev/mapper/vg1-lv1 to 1310720 (4k) blocks.
The filesystem on /dev/mapper/vg1-lv1 is now 1310720 (4k) blocks long.

  Size of logical volume vg1/lv1 changed from 10.00 GiB (2560 extents) to 5.00 GiB (1280 extents).
  Logical volume vg1/lv1 successfully resized.

lv1を減らすことはうまくいったようです。どうすればlv2を成長させることができますか?

回答
1
2022.01.06

はい、可能です。 lvmの主なポイントは、ディスクをパーティションから抽象化することです。そのため、ディスクの最後(またはこの場合は次のパーティションの開始前)でブロックを解放しても、lvmを使用すると既存のパーティションに追加できます。ブロックを内部的にマップするため、パーティション。唯一注意が必要なのは、lv1を縮小することです。これは、すでにiitにファイルシステムがあり、ext4ファイルシステムをオンラインで縮小できないためです。

私は、すべてのブロックデバイスの操作にある程度のリスクがあると考えており、ベストプラクティスとして、それらを試行する前にバックアップをアドバイスします。

ソングルの正しい解決策はありません、そして私は私のPCにいないので、私のダイナックスをテストすることはできませんが、私がyhisを行う方法は-

  1. lvm1をアンマウント/アンマウント状態にします(ルートパーティションの場合は、USBディスクを使用する必要がある場合があります)

  2. ファイルシステムを最終的に必要なサイズよりも小さく縮小します(resize2fs / resize4fsを使用して、マウントされていないボリュームをzhrinkできます)

  3. lvreduce yoshrinklvm1を目的のサイズに使用します。 Tjisは、サイズ変更されたext4パーティションより小さくすることはできません。

  4. Resize4fs(resize2fs)を使用して、lvm1のファイルシステムを拡張します。

(厳密に言えば、計算が適切である場合は、ボリュームのサイズを小さくしてから拡大する必要はありませんが、512/1024/2048バイトブロックで作業する方がはるかに簡単です)。この時点で、難しい部分は完了です。

  1. lvexpandを使用してlvm2を拡張し、resize4fsを使用してファイルシステムを拡張します。これはオンラインで行うことができます。