LinuxSir.cn,穿越时空的Linuxsir!

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

在LVM中无法裁减ext3格式的LV空间

[复制链接]
发表于 2008-5-18 10:43:33 | 显示全部楼层 |阅读模式
操作流程如下:

[root@pc ~]# fdisk -l    一共有三个硬盘,我做lvm时只使用了sdb硬盘
  1. Disk /dev/sda: 8589 MB, 8589934592 bytes
  2. 255 heads, 63 sectors/track, 1044 cylinders
  3. Units = cylinders of 16065 * 512 = 8225280 bytes

  4.    Device Boot      Start         End      Blocks   Id  System
  5. /dev/sda1   *           1         978     7855753+  83  Linux
  6. /dev/sda2             979        1043      522112+  82  Linux swap / Solaris

  7. Disk /dev/sdb: 4294 MB, 4294967296 bytes
  8. 255 heads, 63 sectors/track, 522 cylinders
  9. Units = cylinders of 16065 * 512 = 8225280 bytes

  10. Disk /dev/sdb doesn't contain a valid partition table

  11. Disk /dev/sdc: 4294 MB, 4294967296 bytes
  12. 255 heads, 63 sectors/track, 522 cylinders
  13. Units = cylinders of 16065 * 512 = 8225280 bytes

  14. Disk /dev/sdc doesn't contain a valid partition table
复制代码



[root@pc ~]# pvcreate /dev/sdb    使用sdb建立了pv
  1.   Physical volume "/dev/sdb" successfully created
复制代码


[root@pc ~]# vgcreate -s 64MB  vg0 /dev/sdb        使用sdb建立了vg0卷组
  1.   Volume group "vg0" successfully created
复制代码


[root@pc ~]# vgchange -a y vg0      激活vg0,不过好像没有什么做用
  1.   0 logical volume(s) in volume group "vg0" now active
复制代码


[root@pc ~]# vgdisplay     显示vg的情况
  1. --- Volume group ---
  2.   VG Name               vg0
  3.   System ID
  4.   Format                lvm2
  5.   Metadata Areas        1
  6.   Metadata Sequence No  1
  7.   VG Access             read/write
  8.   VG Status             resizable
  9.   MAX LV                0
  10.   Cur LV                0
  11.   Open LV               0
  12.   Max PV                0
  13.   Cur PV                1
  14.   Act PV                1
  15.   VG Size               3.94 GB
  16.   PE Size               64.00 MB
  17.   Total PE              63
  18.   Alloc PE / Size       0 / 0
  19.   Free  PE / Size       63 / 3.94 GB
  20.   VG UUID               V1mX31-gXNc-xTEF-Cnsp-bD54-GVDS-XyCCcR
复制代码


[root@pc ~]# lvcreate -l63 -n lv vg0    建立了lv,LV使用了sdb的全部空间3.94G

  1.   Logical volume "lv" created
复制代码


[root@pc ~]# lvdisplay     显示lv的情况
  1.   --- Logical volume ---
  2.   LV Name                /dev/vg0/lv
  3.   VG Name                vg0
  4.   LV UUID                6HiZwR-ZxZX-yudE-F1fS-Iyiy-W5ns-DMuZ8p
  5.   LV Write Access        read/write
  6.   LV Status              available
  7.   # open                 0
  8.   LV Size                3.94 GB
  9.   Current LE             63
  10.   Segments               1
  11.   Allocation             inherit
  12.   Read ahead sectors     0
  13.   Block device           253:0
复制代码


[root@pc ~]# mkfs.ext3 /dev/vg0/lv        使用ext3格式成功格式化lv
  1. mke2fs 1.39 (29-May-2006)
  2. Filesystem label=
  3. OS type: Linux
  4. Block size=4096 (log=2)
  5. Fragment size=4096 (log=2)
  6. 516096 inodes, 1032192 blocks
  7. 51609 blocks (5.00%) reserved for the super user
  8. First data block=0
  9. Maximum filesystem blocks=1056964608
  10. 32 block groups
  11. 32768 blocks per group, 32768 fragments per group
  12. 16128 inodes per group
  13. Superblock backups stored on blocks:
  14.         32768, 98304, 163840, 229376, 294912, 819200, 884736

  15. Writing inode tables: done
  16. Creating journal (16384 blocks): done
  17. Writing superblocks and filesystem accounting information: done

  18. This filesystem will be automatically checked every 28 mounts or
  19. 180 days, whichever comes first.  Use tune2fs -c or -i to override.
复制代码


[root@pc ~]# mount /dev/vg0/lv /mnt/   加载lv到mnt

[root@pc ~]# df -h          查看加载的分区大小
  1. Filesystem            Size  Used Avail Use% Mounted on
  2. /dev/sda1             7.3G  2.4G  4.5G  35% /
  3. tmpfs                 233M     0  233M   0% /dev/shm
  4. /dev/mapper/vg0-lv    3.9G   72M  3.7G   2% /mnt
复制代码


[root@pc ~]# umount /mnt/    卸载了mnt分区

[root@pc ~]# lvreduce -L-1G /dev/vg0/lv   开始裁减,将lv分区减小1G,显示已经顺利的减小了
  1.   WARNING: Reducing active logical volume to 2.94 GB
  2.   THIS MAY DESTROY YOUR DATA (filesystem etc.)
  3. Do you really want to reduce lv? [y/n]: y
  4.   Reducing logical volume lv to 2.94 GB
  5.   Logical volume lv successfully resized
复制代码


[root@pc ~]# lvdisplay   再次查看lv的情况,发现lv的大小已经由原来的3.94G减小到了2.94G
  1. --- Logical volume ---
  2.   LV Name                /dev/vg0/lv
  3.   VG Name                vg0
  4.   LV UUID                6HiZwR-ZxZX-yudE-F1fS-Iyiy-W5ns-DMuZ8p
  5.   LV Write Access        read/write
  6.   LV Status              available
  7.   # open                 0
  8.   LV Size                2.94 GB
  9.   Current LE             47
  10.   Segments               1
  11.   Allocation             inherit
  12.   Read ahead sectors     0
  13.   Block device           253:0
复制代码


[root@pc ~]# mount /dev/vg0/lv /mnt/   重新挂了分区

[root@pc ~]# df -h     lv的分区还有3.9G,这是怎么回事?
  1. Filesystem            Size  Used Avail Use% Mounted on
  2. /dev/sda1             7.3G  2.4G  4.5G  35% /
  3. tmpfs                 233M     0  233M   0% /dev/shm
  4. /dev/mapper/vg0-lv    3.9G   72M  3.7G   2% /mnt
复制代码


如果格式化LV后再加载的话就是2.9G了,这是怎么回事?我是不是少了一些步骤?
发表于 2008-5-19 14:07:17 | 显示全部楼层
resize2fs /dev/分区
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-19 15:23:13 | 显示全部楼层
Post by tg8866;1851793
resize2fs /dev/分区


我试过了,还是不行,resize2fs提示有问题

root@pc/mnt> df
  1. Filesystem    Type    Size  Used Avail Use% Mounted on
  2. /dev/sda1     ext3    7.3G  2.4G  4.5G  35% /
  3. tmpfs        tmpfs    233M     0  233M   0% /dev/shm
  4. /dev/mapper/vg0-lv
  5.               ext3    2.0G   34M  1.9G   2% /mnt
复制代码


root@pc/mnt> lvreduce -L-1G /dev/vg0/lv
  1.   /dev/cdrom: open failed: Read-only file system
  2.   WARNING: Reducing active and open logical volume to 1.00 GB
  3.   THIS MAY DESTROY YOUR DATA (filesystem etc.)
  4. Do you really want to reduce lv? [y/n]: y
  5.   Reducing logical volume lv to 1.00 GB
  6.   Logical volume lv successfully resized
复制代码


root@pc/mnt> resize2fs /dev/vg0/lv
  1. resize2fs 1.39 (29-May-2006)
  2. Please run 'e2fsck -f /dev/vg0/lv' first.
复制代码


root@pc/mnt> resize2fs -f /dev/vg0/lv
  1. resize2fs 1.39 (29-May-2006)
  2. Resizing the filesystem on /dev/vg0/lv to 262144 (4k) blocks.
  3. resize2fs: Can't read an block bitmap while trying to resize /dev/vg0/lv
复制代码


root@pc/mnt> mount /dev/vg0/lv /mnt/

root@pc/mnt> df
  1. Filesystem    Type    Size  Used Avail Use% Mounted on
  2. /dev/sda1     ext3    7.3G  2.4G  4.5G  35% /
  3. tmpfs        tmpfs    233M     0  233M   0% /dev/shm
  4. /dev/mapper/vg0-lv
  5.               ext3    2.0G   34M  1.9G   2% /mnt
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-5-19 18:54:42 | 显示全部楼层
刚开始的时候你要把 /dev/sdb

分成一个 /dev/sdb1  类型 lvm

fdisk /dev/sdb

再用这个 pvcreate
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-20 12:03:20 | 显示全部楼层
Post by tg8866;1851944
刚开始的时候你要把 /dev/sdb

分成一个 /dev/sdb1  类型 lvm

fdisk /dev/sdb

再用这个 pvcreate


我一共有4个硬盘,全都是分了一个区,然后设置成了lvm类型,然后将安装它们做pvcreate 现将它们全部加到了vg0中,然后划成了lv卷。难道我要每个分区都resize2fs一次?
回复 支持 反对

使用道具 举报

发表于 2008-5-21 16:06:40 | 显示全部楼层
[root@pc ~]# pvcreate /dev/sdb 使用sdb建立了pv


应该是

[root@pc ~]# pvcreate /dev/sdb1 使用sdb建立了pv
回复 支持 反对

使用道具 举报

发表于 2008-5-23 10:16:36 | 显示全部楼层
楼主好像忘记了一个重要步骤吧,你要缩小 LV 的大小之前没有 缩小 FS 的大小

如果那个 fs 上有数据,你就惨了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-26 17:41:39 | 显示全部楼层
这个步骤怎么做?
回复 支持 反对

使用道具 举报

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

本版积分规则

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