> CentOS > CentOS入门 >

CentOS lvm调整分区大小

一直想学习一下怎么,在linux下调整分区,却一直没有时间。最近刚抽了一点时间来看了一点,特来分享一下。

我记得,最早我还不会使用LVM的时候,对磁盘调整大小,使用了一个最笨,也是最复杂的方法。

例如,我的/home目录磁盘已满,我想要对/home所挂载的磁盘扩大。

苦逼的我只好,再创建出来一个分区,将原本/home目录下的全部文件,先复制到别处目录下面(如果你的/home目录文件很大,这就要苦苦的等待、、、等待、、、)。将新创建的磁盘挂载到/home目录下(注意:新创建的磁盘要和原来的磁盘格式是一样的哦!)然后再将/home目录下的内容复制回来即可。(还要别忘了,在fstab这个文件里面写上/home目录的挂载信息哦!不然开机是不会挂载的)。

LVM

OK~使用lvm来调整分区,一切都是那么的Easy,也不需要格式化磁盘即可扩大分区或者减小分区。当然也要记住,只有是使用了lvm分区的时候,才可以调整分区的哦!!!

LVM的设置流程

lvm

 

例子:

小编在自己的linux主机上添加了一块磁盘/dev/sdb在作为实验。

1、首先创建lvm分区

[root@robo ~]# fdisk /dev/sdb

使用“n”创建三个分区,在这里我都设置了1000M的大小。使用“t”来修改磁盘类型为“8e”(即,为lvm类型)。如图中的/dev/sdb3 、/dev/sdb4 、/dev/sdb6。

sdb

 

2、创建PV

pv阶段所使用的命令:

pvcreate :将实体 partition 建立成为 PV ;

pvscan :搜寻目前系统里面仸何具有 PV 的磁盘;

pvdisplay :显示出目前系统上面的 PV 状态;

pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性。

pv

 

3、创建VG

VG阶段所使用的命令:

vgcreate :就是主要建立 VG 的挃令啦!他的参数比较夗,等一下介绍。

vgscan :搜寻系统上面是否有 VG 存在?

vgdisplay :显示目前系统上面的 VG 状态;

vgextend :在 VG 内增加额外的 PV ;

vgreduce :在 VG 内移除 PV;

vgchange :修改 VG 是否启劢 (active);

vgremove :移除一个 VG 啊!

[root@robo ~]# vgcreate -s 16M vgtest /dev/sdb{3,5,6}      ///-s 是设置PE大小,vgtest为VG名称。

Volume group “vgtest” successfully created

注:根据VG提供的命令,可以调整vgtest的大小。

4、创建LV

LV阶段所使用命令:

lvcreate :建立 LV 啦!

lvscan :查询系统上面的 LV ;

lvdisplay :显示系统上面的 LV 状态啊!

lvextend :在 LV 里面增加容量!

lvreduce :在 LV 里面减少容量;

lvremove :删除一个 LV !

lvresize :对 LV 中行容量大小的调整!

[root@robo ~]# lvcreate -l 100 -n lvtest vgtest       ///-l 后跟pe的数量,这个是100(即,1600M),因为刚设置的pe为16M ;-n 后跟lv的名称。

Logical volume “lvtest” created

5、格式化并挂载

[root@robo ~]# mkdir /mnt/test

[root@robo ~]# mkfs -t ext4 /dev/vgtest/lvtest

[root@robo ~]# mount /dev/vgtest/lvtest /mnt/test

到此,为整个lvm创建分区结束。下面来调整所挂载的文件系统的大小。

6、扩大LV容量

[root@robo ~]# lvresize -l +50 /dev/vgtest/lvtest      ///使用lvresize在增加50个pe的大小给lvtest。

df

如图,为什么我已经将lvtest扩大了,为什么查看/mnt/test目录还是1.6G呢?因为我们只是将lv分区扩大了,但是还需要扩展到文件系统中。

使用resize2fs这个命令来对文件系统进行扩充或减小。

[root@robo ~]# resize2fs /dev/vgtest/lvtest

df1

 

再次查看,文件系统已经扩大了。

7、减小lv容量

[root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vgtest/lvtest is mounted on /mnt/test; on-line resizing required

On-line shrinking from 614400 to 512000 not supported.

注:是用resize2fs来扩充容量可以直接在线,但是减小就需要先卸载了。

[root@robo ~]# umount /dev/vgtest/lvtest

[root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M

resize2fs 1.41.12 (17-May-2010)

请先运行 ‘e2fsck -f /dev/vgtest/lvtest’.

注:系统提示先进行磁盘检查,没办法,就乖乖的检查吧!

[root@robo ~]# resize2fs /dev/vgtest/lvtest 2000M        ///后面的2000M意为,将文件系统减小到2000M

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/vgtest/lvtest to 512000 (4k) blocks.

The filesystem on /dev/vgtest/lvtest is now 512000 blocks long.

OK,文件系统减少了。然后在lv的容量减小就可以了。

由于刚减小了340M,需要从lvtest中移除21个pe即可。

[root@robo ~]# lvresize -l -21 /dev/vgtest/lvtest

WARNING: Reducing active logical volume to 2.02 GiB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lvtest? [y/n]: y

Reducing logical volume lvtest to 2.02 GiB

Logical volume lvtest successfully resized

这就是对centos分区调整大小的。当然,还有添加pv、减小pv等,这些上述有命令,可以自己去测试哦!




(责任编辑:IT)