原因:某文件系统过大,需要将其缩小,以为VG腾出空间。
在下面的例子中,有一个vg,名为rootvg,它由三个pv组成,上面有两个lv: lvdb2 和 lvoracle,现在的目标是把 lvoracle 从20G缩小到12G,这样就能腾出8个G的空间了。
node01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 3 2 0 wz--n- 29.99g 8.00m
node01:~ # pvs
PV VG Fmt Attr PSize PFree
/dev/sdc1 rootvg lvm2 a-- 10.00g 0
/dev/sdc2 rootvg lvm2 a-- 10.00g 0
/dev/sdd rootvg lvm2 a-- 10.00g 8.00m
node01:~ # lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
lvdb2 rootvg -wi-ao--- 9.98g
lvoracle rootvg -wi-ao--- 20.00g
目前 lvoracle 挂载点为/oracle
node01:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 14G 97G 13% /
udev 1.0G 164K 1.0G 1% /dev
tmpfs 1.0G 804K 1023M 1% /dev/shm
/dev/mapper/rootvg-lvdb2 9.9G 151M 9.2G 2% /db2
/dev/mapper/rootvg-lvoracle 20G 173M 19G 1% /oracle
详细过程:
1. 卸载文件系统
node01:~ # umount /oracle
2. 使用 e2fsck 检查文件系统
node01:~ # e2fsck -f /dev/mapper/rootvg-lvoracle
e2fsck 1.41.9 (22-Aug-2009)
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/mapper/rootvg-lvoracle: 13/1310720 files (0.0% non-contiguous), 126324/5242880 blocks
resize2fs 1.41.9 (22-Aug-2009)
Resizing the filesystem on /dev/mapper/rootvg-lvoracle to 3145728 (4k) blocks.
Begin pass 3 (max = 160)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/rootvg-lvoracle is now 3145728 blocks long.
WARNING: Reducing active logical volume to 12.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvoracle? [y/n]: y
Reducing logical volume lvoracle to 12.00 GiB
Logical volume lvoracle successfully resized
5. 挂载文件系统并检查
node01:~ # mount /dev/mapper/rootvg-lvoracle /oracle
node01:~ # cd /oracle
node01:/oracle # ls -l
total 24
-rw-r--r-- 1 root root 5 May 29 09:27 1.txt
-rw-r--r-- 1 root root 6 May 29 09:27 12.txt
drwx------ 2 root root 16384 May 29 09:26 lost+found
node01:/oracle # cat 12.txt
11112
node01:/oracle # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 14G 97G 13% /
udev 1.0G 164K 1.0G 1% /dev
tmpfs 1.0G 804K 1023M 1% /dev/shm
/dev/mapper/rootvg-lvdb2 9.9G 151M 9.2G 2% /db2
/dev/mapper/rootvg-lvoracle 12G 169M 12G 2% /oracle
6. 可以看到VG多出8G的空间
node01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 3 2 0 wz--n- 29.99g 8.01g
参考资料:
http://xmgu2008.blog.163.com/blog/static/139122380201442641415785/
在下面的例子中,有一个vg,名为rootvg,它由三个pv组成,上面有两个lv: lvdb2 和 lvoracle,现在的目标是把 lvoracle 从20G缩小到12G,这样就能腾出8个G的空间了。
node01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 3 2 0 wz--n- 29.99g 8.00m
node01:~ # pvs
PV VG Fmt Attr PSize PFree
/dev/sdc1 rootvg lvm2 a-- 10.00g 0
/dev/sdc2 rootvg lvm2 a-- 10.00g 0
/dev/sdd rootvg lvm2 a-- 10.00g 8.00m
node01:~ # lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
lvdb2 rootvg -wi-ao--- 9.98g
lvoracle rootvg -wi-ao--- 20.00g
目前 lvoracle 挂载点为/oracle
node01:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 14G 97G 13% /
udev 1.0G 164K 1.0G 1% /dev
tmpfs 1.0G 804K 1023M 1% /dev/shm
/dev/mapper/rootvg-lvdb2 9.9G 151M 9.2G 2% /db2
/dev/mapper/rootvg-lvoracle 20G 173M 19G 1% /oracle
详细过程:
1. 卸载文件系统
node01:~ # umount /oracle
2. 使用 e2fsck 检查文件系统
node01:~ # e2fsck -f /dev/mapper/rootvg-lvoracle
e2fsck 1.41.9 (22-Aug-2009)
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/mapper/rootvg-lvoracle: 13/1310720 files (0.0% non-contiguous), 126324/5242880 blocks
3. 使用 resize2fs 修改文件系统空间
12G表示修改后的大小
node01:~ # resize2fs -p /dev/mapper/rootvg-lvoracle 12Gresize2fs 1.41.9 (22-Aug-2009)
Resizing the filesystem on /dev/mapper/rootvg-lvoracle to 3145728 (4k) blocks.
Begin pass 3 (max = 160)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/rootvg-lvoracle is now 3145728 blocks long.
4. 使用lvreduce修改LV大小
12G表示修改后的大小
node01:~ # lvreduce -L 12G /dev/mapper/rootvg-lvoracleWARNING: Reducing active logical volume to 12.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvoracle? [y/n]: y
Reducing logical volume lvoracle to 12.00 GiB
Logical volume lvoracle successfully resized
5. 挂载文件系统并检查
node01:~ # mount /dev/mapper/rootvg-lvoracle /oracle
node01:~ # cd /oracle
node01:/oracle # ls -l
total 24
-rw-r--r-- 1 root root 5 May 29 09:27 1.txt
-rw-r--r-- 1 root root 6 May 29 09:27 12.txt
drwx------ 2 root root 16384 May 29 09:26 lost+found
node01:/oracle # cat 12.txt
11112
node01:/oracle # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 14G 97G 13% /
udev 1.0G 164K 1.0G 1% /dev
tmpfs 1.0G 804K 1023M 1% /dev/shm
/dev/mapper/rootvg-lvdb2 9.9G 151M 9.2G 2% /db2
/dev/mapper/rootvg-lvoracle 12G 169M 12G 2% /oracle
6. 可以看到VG多出8G的空间
node01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
rootvg 3 2 0 wz--n- 29.99g 8.01g
参考资料:
http://xmgu2008.blog.163.com/blog/static/139122380201442641415785/