lvresize 放大縮小 LV

  1. lvresize 指令不用理會是放大還是縮小,只要加上 –resizefs 選項,就可同時 resize ext 檔案系統的大小。
  2. 先檢查 LV vo 在 VG myvdb 內,大小為 89M ( 100M )。
    [root@kvm10 ~]# df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    /dev/mapper/vg_kvm10-root  4.3G  3.1G  1.2G  73% /
    devtmpfs                   4.0M     0  4.0M   0% /dev
    tmpfs                      853M     0  853M   0% /dev/shm
    tmpfs                      342M  4.9M  337M   2% /run
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
    /dev/vda2                  436M  211M  226M  49% /boot
    /dev/mapper/myvdb-vo        89M   14K   82M   1% /reports
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
    tmpfs                      171M  8.0K  171M   1% /run/user/0
    
  3. lv 檔案系統的檔案有兩種。
    [root@kvm10 ~]# ll /dev/myvdb/vo
    lrwxrwxrwx. 1 root root 7 Dec  4 14:09 /dev/myvdb/vo -> ../dm-2
    [root@kvm10 ~]# ll /dev/mapper/myvdb-vo
    lrwxrwxrwx. 1 root root 7 Dec  4 14:09 /dev/mapper/myvdb-vo -> ../dm-2
    
  4. LV vo 大小改為 50M,其中選項 –resize2fs 是同時 resize ext 檔案系統的大小。
    [root@kvm10 ~]# lvresize -L 50M --resizefs /dev/mapper/myvdb-vo
      Rounding size to boundary between physical extents: 52.00 MiB.
      File system ext4 found on myvdb/vo mounted at /reports.
      File system size (100.00 MiB) is larger than the requested size (52.00 MiB).
      File system reduce is required using resize2fs.
      File system unmount is needed for reduce.
      File system fsck will be run before reduce.
    Continue with ext4 file system reduce steps: unmount, fsck, resize2fs? [y/n]:y
      Reducing file system ext4 to 52.00 MiB (54525952 bytes) on myvdb/vo...
    unmount /reports
    unmount done
    e2fsck /dev/myvdb/vo
    /dev/myvdb/vo: 11/25584 files (0.0% non-contiguous), 12081/102400 blocks
    e2fsck done
    resize2fs /dev/myvdb/vo 53248k
    resize2fs 1.47.1 (20-May-2024)
    Resizing the filesystem on /dev/myvdb/vo to 53248 (1k) blocks.
    The filesystem on /dev/myvdb/vo is now 53248 (1k) blocks long.
    
    resize2fs done
    remount /dev/myvdb/vo /reports
    remount done
      Reduced file system ext4 on myvdb/vo.
      Size of logical volume myvdb/vo changed from 100.00 MiB (25 extents) to 52.00 MiB (13 extents).
      Logical volume myvdb/vo successfully resized.
    
  5. 再檢查 LV myvdb-vo 大小為 44M ( 50M )。
    [root@kvm10 ~]# df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    /dev/mapper/vg_kvm10-root  4.3G  3.1G  1.2G  73% /
    devtmpfs                   4.0M     0  4.0M   0% /dev
    tmpfs                      853M     0  853M   0% /dev/shm
    tmpfs                      342M  4.9M  337M   2% /run
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
    /dev/vda2                  436M  211M  226M  49% /boot
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
    tmpfs                      171M  8.0K  171M   1% /run/user/0
    /dev/mapper/myvdb-vo        44M   14K   40M   1% /reports
    
  6. 以單一指令 lvresize 將 LV myvdb-vo 大小改為 250M,不用理會是放大還是縮小,其中 –resizefs 選項是一併執行 resize2fs 的命令。
    [root@kvm10 ~]# lvresize -L 250M --resizefs /dev/mapper/myvdb-vo
      Rounding size to boundary between physical extents: 252.00 MiB.
      File system ext4 found on myvdb/vo mounted at /reports.
      Size of logical volume myvdb/vo changed from 52.00 MiB (13 extents) to 252.00 MiB (63 extents).
      Extending file system ext4 to 252.00 MiB (264241152 bytes) on myvdb/vo...
    resize2fs /dev/myvdb/vo
    resize2fs 1.47.1 (20-May-2024)
    Filesystem at /dev/myvdb/vo is mounted on /reports; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 2
    The filesystem on /dev/myvdb/vo is now 258048 (1k) blocks long.
    
    resize2fs done
      Extended file system ext4 on myvdb/vo.
    
  7. 再檢查 LV myvdb-vo 大小為 231M ( 250M )。
    [root@kvm10 ~]# df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    /dev/mapper/vg_kvm10-root  4.3G  3.1G  1.2G  73% /
    devtmpfs                   4.0M     0  4.0M   0% /dev
    tmpfs                      853M     0  853M   0% /dev/shm
    tmpfs                      342M  4.9M  337M   2% /run
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
    /dev/vda2                  436M  211M  226M  49% /boot
    tmpfs                      1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
    tmpfs                      171M  8.0K  171M   1% /run/user/0
    /dev/mapper/myvdb-vo       231M   14K  220M   1% /reports