CentOS調整LVM分區

0x00 前言

打算把/dev/mapper/VolGroup00-LogVol03邏輯卷的2.5T空間重新分配給/dev/mapper/VolGroup00-LogVol00。

0x01 查看磁盤空間

$ df -lh
Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00   99G   96G     0 100% /
devtmpfs                          63G     0   63G   0% /dev
tmpfs                             63G     0   63G   0% /dev/shm
tmpfs                             63G   25M   63G   1% /run
tmpfs                             63G     0   63G   0% /sys/fs/cgroup
/dev/sda1                        240M   86M  138M  39% /boot
/dev/mapper/VolGroup00-LogVol01   40G  365M   37G   1% /var
/dev/mapper/VolGroup00-LogVol02  976M   19M  891M   2% /tmp
/dev/mapper/VolGroup00-LogVol03  2.6T   89M  2.5T   1% /da1
tmpfs                             13G     0   13G   0% /run/user/448376178

可以看到根目錄已經沒有可用空間了,而/da1這個目錄還有2.5T可用。

0x02 卸載要縮減的目錄/da1

umount /da

如果提示target is busy. 可以用fuser命令解除佔用

0x04 調整分區大小

resize2fs -p /dev/mapper/VolGroup00-LogVol03 90M

輸出

resize2fs 1.42.9 (28-Dec-2013)
Please run 'e2fsck -f /dev/mapper/VolGroup00-LogVol03' first.

按照提示運行

e2fsck -f /dev/mapper/VolGroup00-LogVol03

輸出

e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
/lost+found not found.  Create<y>? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/mapper/VolGroup00-LogVol03: ***** FILE SYSTEM WAS MODIFIED *****
/dev/mapper/VolGroup00-LogVol03: 11/173842432 files (0.0% non-contiguous), 10970219/695369728 blocks

再執行一遍分區命令

resize2fs -p /dev/mapper/VolGroup00-LogVol03 90M

輸出

resize2fs 1.42.9 (28-Dec-2013)
resize2fs: New size smaller than minimum (1434844)

0x05 掛載目錄/da1

mount /da1/

查看磁盤大小

df -lh

輸出

Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00   99G   96G     0 100% /
devtmpfs                          63G     0   63G   0% /dev
tmpfs                             63G     0   63G   0% /dev/shm
tmpfs                             63G   25M   63G   1% /run
tmpfs                             63G     0   63G   0% /sys/fs/cgroup
/dev/sda1                        240M   86M  138M  39% /boot
/dev/mapper/VolGroup00-LogVol01   40G  365M   37G   1% /var
/dev/mapper/VolGroup00-LogVol02  976M   19M  891M   2% /tmp
tmpfs                             13G     0   13G   0% /run/user/448376178
/dev/mapper/VolGroup00-LogVol03  2.6T   89M  2.5T   1% /da1

沒有看到變化

0x06 釋放留出來的空間

lvreduce -L 90M /dev/mapper/VolGroup00-LogVol03

輸出

  Rounding size to boundary between physical extents: 96.00 MiB
  WARNING: Reducing active and open logical volume to 96.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol03? [y/n]: y
  Size of logical volume VolGroup00/LogVol03 changed from 2.59 TiB (84884 extents) to 96.00 MiB (3 extents).
  Logical volume LogVol03 successfully resized.

看下邏輯卷信息

vgdisplay

輸出

  --- Volume group ---
  VG Name               VolGroup00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               4
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               2.73 TiB
  PE Size               32.00 MiB
  Total PE              89416
  Alloc PE / Size       4515 / 141.09 GiB
  Free  PE / Size       84901 / 2.59 TiB
  VG UUID               olDTte-CLOQ-leom-Efev-UiGF-PLOI-gdIeSI

free的部分已經變成了2.59T

0x07 擴展新空間

lvextend -L +2.5T /dev/mapper/VolGroup00-LogVol00

輸出

  Size of logical volume VolGroup00/LogVol00 changed from 100.00 GiB (3200 extents) to 2.60 TiB (85120 extents).
  Logical volume LogVol00 successfully resized.

更新文件系統

resize2fs -p /dev/mapper/VolGroup00-LogVol00

輸出

resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required
old_desc_blocks = 13, new_desc_blocks = 333
The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 697303040 blocks long.

0x08 查看磁盤空間

df -lh

輸出

Filesystem                       Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00  2.6T   96G  2.4T   4% /
devtmpfs                          63G     0   63G   0% /dev
tmpfs                             63G     0   63G   0% /dev/shm
tmpfs                             63G   25M   63G   1% /run
tmpfs                             63G     0   63G   0% /sys/fs/cgroup
/dev/sda1                        240M   86M  138M  39% /boot
/dev/mapper/VolGroup00-LogVol01   40G  365M   37G   1% /var
/dev/mapper/VolGroup00-LogVol02  976M   19M  891M   2% /tmp
tmpfs                             13G     0   13G   0% /run/user/448376178
/dev/mapper/VolGroup00-LogVol03  2.6T   89M  2.5T   1% /da1

可以看到/dev/mapper/VolGroup00-LogVol00 已經變成2.4T了。

這裏有個問題,/dev/mapper/VolGroup00-LogVol03居然還是2.5T,磁盤信息沒有更新,實際上只有100M。

0x09 小結

LVM的磁盤靈活性比較高,可以方便的調整分區大小,方便docker使用。

0x10 參考文獻

https://yq.aliyun.com/articles/140963

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章