LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9762|回复: 20

RHEL 4 中LVM如何减少LV的大小

[复制链接]
发表于 2006-8-25 16:09:01 | 显示全部楼层 |阅读模式
一、在RHEL 4 中建有名为rhcevg的VG,名为rhcelv的LV,输出如下:
------------------------------------------------------------------
[root@rhce tmp]# pvscan |grep 'rhcevg';lvdisplay rhcevg/rhcelv
  /dev/cdrom: open failed: No medium found
  PV /dev/hdb1    VG rhcevg   lvm2 [92.00 MB / 0    free]
  PV /dev/hdb2    VG rhcevg   lvm2 [132.00 MB / 124.00 MB free]
  PV /dev/hdb3    VG rhcevg   lvm2 [100.00 MB / 100.00 MB free]
  PV /dev/hdb5    VG rhcevg   lvm2 [3.16 GB / 3.16 GB free]
  --- Logical volume ---
  LV Name                /dev/rhcevg/rhcelv
  VG Name                rhcevg
  LV UUID                QIuXvv-32p1-prEZ-F4jn-CBxM-gp7r-6vrb0M
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MB
  Current LE             25
  Segments               2
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

---------------------------------------------------------------------
可以看出rhcelv的大小为100M,VG还有很多未分配空间;

二、增加rhcelv大小至3.26G,即增加3.16G

[root@rhce tmp]# lvresize -L +3.16G rhcevg/rhcelv
  Rounding up size to full physical extent 3.16 GB
  Extending logical volume rhcelv to 3.26 GB
  Logical volume rhcelv successfully resized

[root@rhce tmp]# lvdisplay rhcevg/rhcelv
  --- Logical volume ---
  LV Name                /dev/rhcevg/rhcelv
  VG Name                rhcevg
  LV UUID                QIuXvv-32p1-prEZ-F4jn-CBxM-gp7r-6vrb0M
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                3.26 GB
  Current LE             834
  Segments               4
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

[root@rhce tmp]# mount /dev/rhcevg/rhcelv /mnt/rhcelv/;df -h |grep 'rhcelv'
/dev/mapper/rhcevg-rhcelv
                       97M  5.6M   87M   7% /mnt/rhcelv

# 增加后大小容量未更变,执行ext2online命令
[root@rhce tmp]# ext2online /dev/rhcevg/rhcelv
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
[root@rhce tmp]# df -h |grep 'rhcelv'
/dev/mapper/rhcevg-rhcelv
                      3.2G  7.2M  3.0G   1% /mnt/rhcelv
[root@rhce tmp]# lvdisplay rhcevg/rhcelv
  --- Logical volume ---
  LV Name                /dev/rhcevg/rhcelv
  VG Name                rhcevg
  LV UUID                QIuXvv-32p1-prEZ-F4jn-CBxM-gp7r-6vrb0M
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                3.26 GB
  Current LE             834
  Segments               4
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

# 可以看到容量已增加

三、在减小LV大小,如下:
[root@rhce tmp]# umount /mnt/rhcelv/;lvresize -L -2G rhcevg/rhcelv
  WARNING: Reducing active logical volume to 1.26 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce rhcelv? [y/n]: y
  Reducing logical volume rhcelv to 1.26 GB
  Logical volume rhcelv successfully resized

# 可以看到大小已减小2G,rhcelv现大小为1.26G,查看

[root@rhce tmp]# pvscan |grep 'rhcevg';lvdisplay rhcevg/rhcelv
  /dev/cdrom: open failed: No medium found
  PV /dev/hdb1    VG rhcevg   lvm2 [92.00 MB / 0    free]
  PV /dev/hdb2    VG rhcevg   lvm2 [132.00 MB / 0    free]
  PV /dev/hdb3    VG rhcevg   lvm2 [100.00 MB / 0    free]
  PV /dev/hdb5    VG rhcevg   lvm2 [3.16 GB / 2.22 GB free]
  --- Logical volume ---
  LV Name                /dev/rhcevg/rhcelv
  VG Name                rhcevg
  LV UUID                QIuXvv-32p1-prEZ-F4jn-CBxM-gp7r-6vrb0M
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                1.26 GB
  Current LE             322
  Segments               4
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:0

----------------------------------
# 可以看出大小在pvdisplay中已显示为1.26G,
[root@rhce tmp]# mount /dev/rhcevg/rhcelv /mnt/rhcelv/
[root@rhce tmp]# df -h|grep 'rhcelv'
/dev/mapper/rhcevg-rhcelv
                      3.2G  7.2M  3.0G   1% /mnt/rhcelv

# 可以看出,容量未改;
[root@rhce tmp]# umount /mnt/rhcelv/
[root@rhce tmp]# fsck.ext3 /dev/rhcevg/rhcelv
e2fsck 1.35 (28-Feb-2004)
The filesystem size (according to the superblock) is 3416064 blocks
The physical size of the device is 1318912 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort<y>?

# 卸载后fsck发现报错,重新格式化
[root@rhce tmp]# mkfs.ext3 /dev/rhcevg/rhcelv
mke2fs 1.35 (28-Feb-2004)
max_blocks 337641472, rsv_groups = 10304, rsv_gdb = 80
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
165088 inodes, 329728 blocks
16486 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=339738624
11 block groups
32768 blocks per group, 32768 fragments per group
15008 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912

Writing inode tables: done
inode.i_blocks = 3848, i_size = 4243456
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@rhce tmp]# fsck.ext3 /dev/rhcevg/rhcelv
e2fsck 1.35 (28-Feb-2004)
/dev/rhcevg/rhcelv: clean, 11/165088 files, 13881/329728 blocks

-----------------------------------------------------------------
重新格式化后,fsck无误,挂载

[root@rhce tmp]# mount /dev/rhcevg/rhcelv /mnt/rhcelv/;df -h |grep 'rhcelv'
/dev/mapper/rhcevg-rhcelv
                      1.3G   34M  1.2G   3% /mnt/rhcelv

# 容量改变
#BTW,说实在的,搞了很多次再明白;
# 增加容量只需挂载的状态下ext2online ,(man ext2online发现这一句话,It  is  only  possible  to  enlarge  a  mounted filesystem.)
# 减小容量却需重建文件系统,不知可否有其它操作方式?
发表于 2006-8-25 16:52:11 | 显示全部楼层
1. 添加和减小LV是不需要重建文件系统的,同时增加LV也不需要卸载文件系统!
2.ext2online不需要卸载文件系统就可以使增加的LV被文件系统认出增加的部分,但是RedHat系统因为安全的考虑,需要你重启系统才能使用ext2online 修改文件系统使系统认出减小到的部分。并不存在要重建文件系统的情况!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 17:24:59 | 显示全部楼层
哦,这样啊,

我试试:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 17:37:29 | 显示全部楼层
请教Kevin老师,不知何故重启后并不能用ext2online将减小的容量同步至文件系统:(

[root@rhce ~]# ext2online /dev/rhcevg/rhcelv
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
ext2online: warning - device size 67584, filesystem 329728
error: Invalid argument: seeking to 1350561792
[root@rhce ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda8             4.9G  443M  4.2G  10% /
/dev/hda7              99M  8.4M   86M   9% /boot
none                  110M     0  110M   0% /dev/shm
/dev/hda15            487M  201M  261M  44% /home
/dev/hda14            487M   11M  451M   3% /tmp
/dev/md1              3.4G  2.3G  977M  71% /usr
/dev/md0              7.7G  1.8G  5.6G  25% /var
/dev/mapper/Vol0-LogVol00
                      124M  5.6M  113M   5% /vol0
/dev/mapper/rhcevg-rhcelv
                      1.3G   34M  1.2G   3% /mnt/rhcelv

# 容量未改

[root@rhce ~]# umount /mnt/rhcelv/
[root@rhce ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda8             4.9G  443M  4.2G  10% /
/dev/hda7              99M  8.4M   86M   9% /boot
none                  110M     0  110M   0% /dev/shm
/dev/hda15            487M  201M  261M  44% /home
/dev/hda14            487M   11M  451M   3% /tmp
/dev/md1              3.4G  2.3G  977M  71% /usr
/dev/md0              7.7G  1.8G  5.6G  25% /var
/dev/mapper/Vol0-LogVol00
                      124M  5.6M  113M   5% /vol0

[root@rhce ~]# mkfs.ext3 /dev/rhcevg/rhcelv
mke2fs 1.35 (28-Feb-2004)
max_blocks 276824064, rsv_groups = 33792, rsv_gdb = 256
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
67584 inodes, 270336 blocks
13516 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
33 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
inode.i_blocks = 4098, i_size = 67383296
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@rhce ~]# mount /dev/rhcevg/rhcelv /mnt/rhcelv/
[root@rhce ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda8             4.9G  443M  4.2G  10% /
/dev/hda7              99M  8.4M   86M   9% /boot
none                  110M     0  110M   0% /dev/shm
/dev/hda15            487M  201M  261M  44% /home
/dev/hda14            487M   11M  451M   3% /tmp
/dev/md1              3.4G  2.3G  977M  71% /usr
/dev/md0              7.7G  1.8G  5.6G  25% /var
/dev/mapper/Vol0-LogVol00
                      124M  5.6M  113M   5% /vol0
/dev/mapper/rhcevg-rhcelv
                      256M   11M  233M   5% /mnt/rhcelv

# 需重建才能将减小的容量显示
回复 支持 反对

使用道具 举报

发表于 2006-8-25 17:55:45 | 显示全部楼层
不好意思!有断时间不减少LV了,步骤生疏了!忘记在LVM2上减少LV重要的一步--- resize2fs !
具体步骤如下:
  1. # umount /home
  2. # resize2fs /dev/myvg/homevol 524288
  3. # lvreduce -L-1G /dev/myvg/homevol
  4. # mount /home
复制代码
此步骤出自http://www.tldp.org/HOWTO/LVM-HOWTO/reducelv.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 21:18:34 | 显示全部楼层
谢谢kevin老师的指教,不过确实迷惑,在RHEL 4 中竟然找不到resize2fs命令,不知被哪个命令取代:(
LVM相关包:
[root@rhce tmp]# rpm -qa |grep 'lvm'
system-config-lvm-0.9.18-1.0
lvm2-2.00.31-1.0.RHEL4

LVM包信息:
[root@rhce tmp]# rpm -qi `rpm -qa |grep '^lvm'`
Name        : lvm2                         Relocations: (not relocatable)
Version     : 2.00.31                           Vendor: Red Hat, Inc.
Release     : 1.0.RHEL4                     Build Date: Mon 13 Dec 2004 06:00:17 AM CST
Install Date: Fri 26 May 2006 06:09:23 PM CST      Build Host: decompose.build.redhat.com
Group       : System Environment/Base       Source RPM: lvm2-2.00.31-1.0.RHEL4.src.rpm
Size        : 2081011                          License: GPL
Signature   : DSA/SHA1, Thu 06 Jan 2005 05:11:13 AM CST, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://sources.redhat.com/lvm2
Summary     : Userland logical volume management tools
Description :
LVM2 includes all of the support for handling read/write operations on
physical volumes (hard disks, RAID-Systems, magneto optical, etc.,
multiple devices (MD), see mdadd(8) or even loop devices, see
losetup(8)), creating volume groups (kind of virtual disks) from one
or more physical volumes and creating one or more logical volumes
(kind of logical partitions) in volume groups.


系统工具包信息
[root@rhce tmp]# rpm -qi `rpm -qa |grep 'lvm'|grep 'system'`
Name        : system-config-lvm            Relocations: (not relocatable)
Version     : 0.9.18                            Vendor: Red Hat, Inc.
Release     : 1.0                           Build Date: Thu 25 Nov 2004 03:24:37 AM CST
Install Date: Fri 26 May 2006 06:13:07 PM CST      Build Host: tweety.build.redhat.com
Group       : Applications/System           Source RPM: system-config-lvm-0.9.18-1.0.src.rpm
Size        : 661793                           License: GPL
Signature   : DSA/SHA1, Thu 06 Jan 2005 07:04:43 AM CST, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.redhat.com/
Summary     : system-config-lvm is a utility which allows you to configure Logical Volume Management in a graphical setting.
Description :
system-config-lvm is a utility which allows you to configure a Logical Volume Management in a graphical setting.
回复 支持 反对

使用道具 举报

发表于 2006-8-25 22:33:41 | 显示全部楼层
i get it
刚刚知道ext2online需要重启才能。。。缩小LV。。。晕倒。。。。。。。。。
唉。。。。。。。不过大家注意ext2online只能改mount上的设备。。。
如果没有。。。他会有错误提示的。。。。。。
回复 支持 反对

使用道具 举报

发表于 2006-8-26 13:59:44 | 显示全部楼层
  1. #cat /etc/redhat-release
  2. Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
  3. #whereis resize2fs
  4. resize2fs: /sbin/resize2fs /usr/share/man/man8/resize2fs.8.gz
  5. #rpm -qf /sbin/resize2fs
  6. e2fsprogs-1.35-12.3.EL4
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-29 10:33:35 | 显示全部楼层
抱歉,这几天有事回家了,今天才来回复

谢谢 kevin老师,

e2fsprogs-1.35-12.3.EL4看来是我漏安装了,谢谢!
回复 支持 反对

使用道具 举报

发表于 2006-8-29 17:50:08 | 显示全部楼层
#resize2fs /dev/myvg/homevol 524288 中的"524288"是什么意思?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表