1、LVRESIZE

在RHEL7中,使用lvresize修改lv大小之后,需要xfs_growfs /dev/vg1/lvm1使文件系统生效。resize2fs仅针对ext4及之前的文件系统生效。xfs_growfs只能增加分区的大小。

增加lv的容量

对于lvm,如果是扩大某个lv,操作比较简单:

# vgextend vg001 /dev/sdb

# lvresize -L +10G /dev/vg001/lv001

# xfs_growfs /dev/vg001/lv001

减少lv的容量

# umount /vg001/lv001

# 缩小文件系统容量

# lvresize -L 100G /dev/vg001/lv001

# e2fsck -f /dev/vg001/lv001

# resize2fs /dev/vg001/lv001 100M


场景

对于lvm,如果是扩大某个lv,操作比较简单,但如果是缩小lv,则有一定的风险。我们先要缩小/dev/myvg/lv2文件系统,然后才能缩小lvm,如果在缩小lvm之前忘了缩小文件系统,这时候可以这样来挽救: 

1:不要进行对该分区的任何写入操作,最好是也不read 
2:用lvresize2fs重新扩大该分区,且扩大的容量是刚刚缩小的容量(数字一定要和刚刚的一致哈~)。 
3:缩小文件系统 
4:最后缩小逻辑卷哈。 
5:确认文件系统和逻辑卷大小一致。

/******

/***需要恢复lv大小时,按如下操作

[root@rhel5 ~]# umount /mnt/mylv2 
[root@rhel5 ~]# lvresize -L 150M /dev/myvg/mylv2 
  Rounding up size to full physical extent 152.00 MB 
  Extending logical volume mylv2 to 152.00 MB 
  Logical volume mylv2 successfully resized

/****** 
[root@rhel5 ~]# e2fsck -f /dev/myvg/mylv2 
e2fsck 1.39 (29-May-2006) 
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/myvg/mylv2: 12/38912 files (8.3% non-contiguous), 10580/155648 blocks 
[root@rhel5 ~]# resize2fs /dev/myvg/mylv2 100M 
resize2fs 1.39 (29-May-2006) 
Resizing the filesystem on /dev/myvg/mylv2 to 102400 (1k) blocks. 
The filesystem on /dev/myvg/mylv2 is now 102400 blocks long.

[root@rhel5 ~]# lvresize -L 100M /dev/myvg/mylv2 
  WARNING: Reducing active logical volume to 100.00 MB 
  THIS MAY DESTROY YOUR DATA (filesystem etc.) 
Do you really want to reduce mylv2? [y/n]: y 
  Reducing logical volume mylv2 to 100.00 MB 
  Logical volume mylv2 successfully resized 
[root@rhel5 ~]# e2fsck -f /dev/myvg/mylv2 
e2fsck 1.39 (29-May-2006) 
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/myvg/mylv2: 12/26624 files (8.3% non-contiguous), 9032/102400 blocks 
[root@rhel5 ~]# mount -t ext3 /dev/myvg/mylv2 /mnt/mylv2 
[root@rhel5 ~]#


2、RHEL7自带存储管理工具system-storage-manager(ssm)

# yum install system-storage-manager

# ssm list

一次性创建pv、vg、lv、并挂载到指定目录/mnt/ssmtestdir:

# ssm create -s 500M -n ssmtestlv --fstype xfs -p ssmtestpool /dev/sdb3 /mnt/ssmtestdir

扩展逻辑卷并使文件系统生效:

# ssm resize -s +500M /dev/centos/root

# xfs_growsf /dev/centos/root



PS

参考鸟哥的lvm管理

http://vbird.dic.ksu.edu.tw/linux_basic/0420quota_3.php