Linux
如何減小分區大小+ lvm
在 /var 上,我們在 Linux red hat 伺服器上有 101G
grep var /etc/fstab /dev/mapper/vg10-00_var /var xfs defaults 0 0
我們想把它降低到 30G
df -h /var Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg10-oo_var 101G 3.6G 98G 4% /var
所以我們這樣做:
lvreduce -L -70G /dev/mapper/vg10-00_var WARNING: Reducing active and open logical volume to 30.87 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv_var? [y/n]: y Size of logical volume vg10/oo_var changed from 100.87 GiB (25822 extents) to 30.87 GiB (7902 extents). Logical volume lv_var successfully resized.
但 xfs_grow 抱怨 - 數據大小 8091648 太小
xfs_growfs /dev/mapper/vg10-00_var meta-data=/dev/mapper/vg10-00_var isize=256 agcount=26, agsize=1039872 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=26441728, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data size 8091648 too small, old size is 26441728
為什麼?
我在這裡看到兩件事不對:
- 您需要先縮小文件系統**,然後再**減小其邏輯卷的大小。不這樣做會破壞文件系統的大部分內容(在你的情況下
/var
),正如lvreduce
盡職盡責地警告你的那樣。- XFS 文件系統無法收縮。
現在您應該擦除
/var
分區並從備份中重新創建它,因為它的內容無論如何都被破壞了。