Resize LVM partition size







[root@amastest RPM2]# df -Th
??                           % 瞜
/dev/mapper/centos-root xfs       1.6T   10G  1.6T    1% /
devtmpfs                devtmpfs  7.7G     0  7.7G    0% /dev
tmpfs                   tmpfs     7.7G     0  7.7G    0% /dev/shm
tmpfs                   tmpfs     7.7G   82M  7.7G    2% /run
tmpfs                   tmpfs     7.7G     0  7.7G    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  235M  780M   24% /boot
tmpfs                   tmpfs     1.6G   12K  1.6G    1% /run/user/42
tmpfs                   tmpfs     1.6G     0  1.6G    0% /run/user/1000
/dev/mapper/centos-home xfs       100G  2.6G   98G    3% /home

1 dump /home to /

xfsdump -l 0 -L boot_all -M boot_all -f /home.dump /home


umount /home


fuser -muv /home 

/home:               root     kernel mount (root)/home

                     amas       8367 ..c.. (amas)sftp-server

[root@amastest /]# cd /

[root@amastest /]# kill -9 8367

[root@amastest /]# umount /home



3 remove home


LVMボリューム(lv path)を非活性化する

lvchange -an /dev/mapper/centos-home

LVMボリューム(lv path)を削除する


lvremove /dev/mapper/centos-home 


4 create /home

lvcreate -L 100G -n home centos

mkfs.xfs /dev/centos/home

mount /dev/centos/home


5 restore /home

xfsrestore -f /home.dump -L boot_all /home


#空いたサイズをrootに割当

lvextend -l +100%FREE /dev/centos/root


#rootを拡張

xfs_growfs /dev/mapper/centos-root


#確認

df -Th










from http://hogem.hatenablog.com/entry/20120711/1342018292


linux LVM でextパーティションのサイズ変更(拡大/縮小)


  • man lvm
  • man lvextend
  • man lvreduce
  • man resize2fs
あんましlvm使わないので勉強。実験した環境
VG Namevg_hoge
LV Namelv_home
LV Size400.00 GiB
device/dev/vg_hoge/lv_home
ext4(ext3も?)拡大はオンライン(マウントしたまま)で変更可能。縮小はアンマウントが必要。

準備

色々確認しておく
# tune2fs -l /dev/vg_hoge/lv_home
# vgs
# lvs
# lvdisplay
# df -h

縮小する (lvreduce)

400Gから300Gに変更。順番としては、まずファイルシステム上でサイズを変更してから、パーティションのサイズを変更する。
1. umount する
# umount /home

2. fsckする
これをせずにresize2fs を実行すると、"Please run 'e2fsck -f /dev/vg_hoge/lv_home' first." と怒られる。
# fsck.ext4 -f /dev/vg_hoge/lv_home 
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg_hoge/lv_home : 19/26214400 files (0.0% non-contiguous), 27910434/104857600 blocks 

3. resize2fs でファイルシステムを縮小
# resize2fs /dev/mapper/vg_svxxx-lv_home 300G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_svxxx-lv_home to 78643200 (4k) blocks.
The filesystem on /dev/mapper/vg_svxxx-lv_home is now 78643200 blocks long.

4. lvreduce でパーティションを縮小
# lvreduce -L 300G /dev/vg_svxxx/lv_home
  WARNING: Reducing active logical volume to 300.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
  Reducing logical volume lv_home to 300.00 GiB
  Logical volume lv_home successfully resized

5. 再マウントして確認
# mount /home
# df -h
# vgs
# lvs
# lvdisplay
# tune2fs -l /dev/vg_hoge/lv_home

拡大する (lvextend)

300Gから400Gに拡大する。拡大はオンラインのまま可能。縮小の時と順番が逆になって、パーティションを拡大してから、ファイルシステムを拡大する。
1. lvextendで拡
大する
# lvextend -L 400G /dev/vg_hoge/lv_home
Extending logical volume lv_home to 400.00 GiB
Logical volume lv_home successfully resized

2. resize2fs でファイルシステムを拡大
# resize2fs /dev/vg_hoge/lv_home 400G
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_hoge/lv_home is mounted on /home; on-line resizing required
old desc_blocks = 19, new_desc_blocks = 25
Performing an on-line resize of /dev/vg_hoge/lv_home to 104857600 (4k) blocks.
The filesystem on /dev/vg_hoge/lv_home is now 104857600 blocks long.
resize2fs 中に別のターミナルでdfしていると、sizeが徐々に拡大していくことがわかる。

3. 確認
# df -h
# vgs
# lvs
# tune2fs -l /dev/vg_hoge/lv_home






from https://www.linuxtechi.com/reduce-size-lvm-partition/

How to reduce LVM partition size in RHEL and CentOS






留言

熱門文章