由于LVM可以弹性调整文件系统的大小,但是缺点是可能没有加速与硬件备份(与快照不同)的功能。而磁盘阵列则具有性能与备份的功能,但是无法提供类似LVM的优点。在此情境中,我们想利用在RAID上面构建LVM的功能,以达到两者兼顾的能力。

   实验环境:VMware 

   操作系统:RHEL5.4

实验步骤:

  1.为虚拟机添加几块磁盘(本实验为增加四块分别为sdb,sdc,sdd,sde),先构建RAID

   mdadm  --create --auto=yes /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd{b,c,d,e}

   注:构建时用的是整块磁盘并没有给每个磁盘分区,其目的是为简化步骤

  2.对这个磁盘阵列进行格式化:

   mkfs -t ext3 /dev/md0 

  3.由上篇所讲,用pvcreate创建PV(t物理卷),用vgcreate创建VG组:

    pvcreate  /dev/md0

   vgcreate raidvg /dev/md0

  4.vgdisplay查看VG组的详细情况如下图:

通过RAID实现LVM_LVM创建

  

  5.上篇命令lvcreate新建一个LV(逻辑卷)

   lvcreate -l 2071 -n raidlv raidvg

   lvcreate -l 500  -n raidlv2 raidvg

  6.lvdisplay查看创建的两个LV的详细信息

通过RAID实现LVM_LVM创建_02

 7.LV创建成功,然后格式化,设置挂载点(以其中的一个为例)

 mkfs -t ext3 /dev/raidvg/raidlv2

 mkdir /mnt/raidlv2

 mount /dev/raidvg/raidlv2  /mnt/raidlv2

8.现在我们就可以正常使用新挂载的raidlv2,并可以用df  -h 来查看文件系统的整体磁盘使用量。如下图:

通过RAID实现LVM_用RAID实现LVM_03

9.测试完毕之后请务必要关闭本题所新建的各项的信息

  lvremove /dev/raidvg/raidlv2

  vgchange -a n raidvg  让VG组不活动

  pvremove /dev/md0

  mdadm --stop /dev/md0

 

10.有读者该问了,通过RAID创建的LVM能像基本磁盘一样实现LV容量的扩充与缩小呢?

   个人见解:是可以实现的,但有了一定的限制,比如RAID磁盘阵列创建后,再添加一块磁盘来扩充RAID,对我来说还是一个问题(多多研究,搞定后即与大家分享),扩充与缩小LV只能在创建lv时保留一部分PE块用于实现LV容量的扩充。

   基于上篇的内容可以自己实现LV容量的扩充。^_^

   一定要记得扩充时支持on-line模式,而缩小时必须先卸载文件系统,再对其进行操作。