linux lvm动态管理空间

     LVM逻辑盘卷管理应该是一个系统磁盘管理的趋势,可以减少系统安装规划的难度,linux的lvm虽然和aix使用上相比还差很多,但也可以减轻一些系 统管理员工作,避免一次就将所有的磁盘容量分配掉,造成个别空间的浪费,而个别空间运行一段时间后又剩余空间不足!

     可能日常使用比较多就是建立vg, lv, 扩展lv空间,特别是最后一个。之前测试过,都很正常,在上周操作,却老是出现错误,后来,发觉是一个低级的错误造成。

     简单的测试如下:

一些帮助命令

[root@jxdb2 ~]# lvm help
[root@jxdb2 ~]# lvm version
LVM version:     2.02.21-RHEL4 (2007-03-26)
Library version: 1.02.17-RHEL4 (2007-02-02)
Driver version:  4.5.5

[root@jxdb2 ~]# lvm lvresize –help

检查当前分区大小

[root@jxxdb2 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

                       15G  3.7G  9.9G  27% /u01/oracle/oradata

 

[root@jxxdb2 ~]# cat /etc/fstab

 

检查vg还有多少空间没有分配以及当前lv的大小

[root@jxxdb2 ~]# vgdisplay | egrep “Volume group|VG Name|Alloc PE|Free  PE”

  — Volume group —

  VG Name               VolGroup00

  Alloc PE / Size       610 / 19.06 GB

  Free  PE / Size       11107 / 347.09 GB

 

[root@jxxdb2 ~]# lvdisplay | egrep ” Logical volume|LV Name|VG Name|LV Size”

  — Logical volume —

  LV Name                /dev/VolGroup00/LogVol00

  VG Name                VolGroup00

  LV Size                14.50 GB

  — Logical volume —

  LV Name                /dev/VolGroup00/LogVol01

  VG Name                VolGroup00

  LV Size                4.56 GB

 

 

离线操作,如果umount 不行,确定服务停止的情况下,使用umount -l

[root@jxxdb2 ~]# umount /u01/oracle/oradata

 

动态增加2G的大小

[root@jxxdb2 ~]# lvextend -L+2G /dev/VolGroup00/LogVol00

  Extending logical volume LogVol00 to 16.50 GB

  Logical volume LogVol00 successfully resized

 

或者直接指定大小,用如下:

[root@jxxdb2 ~]# lvextend -L 18G /dev/VolGroup00/LogVol00

 

检查分区并自动调整文件系统到分区的新容量

[root@jxxdb2 ~]# e2fsck -f /dev/VolGroup00/LogVol00

 

[root@jxxdb2 ~]# resize2fs /dev/VolGroup00/LogVol00

 

重新mount分区

[root@jxxdb2 ~]# mount /u01/oracle/oradata

 

检查修改后的大小

[root@jxxdb2 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on  

/dev/mapper/VolGroup00-LogVol00

                       17G  3.7G   12G  24% /u01/oracle/oradata

 

 

[root@jxxdb2 ~]# lvdisplay | egrep ” Logical volume|LV Name|VG Name|LV Size”

  — Logical volume —

  LV Name                /dev/VolGroup00/LogVol00

  VG Name                VolGroup00

  LV Size                17.0 GB

  — Logical volume —

  LV Name                /dev/VolGroup00/LogVol01

  VG Name                VolGroup00

  LV Size                4.56 GB

直接在线操作 

http://www.redhat.com/magazine/009jul05/features/lvm2/
lvextend -L+10G /dev/myvg/homevol
ext2online /dev/myvg/homevol

减少逻辑卷大小

先执 e2fsck, 再执行 resize2fs,然后才 lvreduce

[root@jxdb2 /]# umount /vm
[root@jxdb2 /]# e2fsck -f /dev/VolGroup00/LogVol02
[root@jxdb2 /]# resize2fs /dev/VolGroup00/LogVol02 20G
[root@jxdb2 /]# lvreduce -L 20G /dev/VolGroup00/LogVol02
WARNING: Reducing active logical volume to 20.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol02? [y/n]: y

[root@jxdb2 /]# mount /vm
[root@jxdb2 /]# cd /vm
[root@jxdb2 vm]# ls
[root@jxdb2 /]# du -sm /vm

检查数据无丢失,但这个操作要很很小心,提示也说可能:MAY DESTROY YOUR DATA

删除逻辑卷以前首先需要将其卸载,然后删除:

# umount /dev/VolGroup00/LogVol02
# lvremove /dev/VolGroup00/LogVol02

发表评论

你必须 登录 才能发表评论.