LVM(逻辑卷管理器)
导语:其重点在于可以弹性调整文件系统的容量,通过交换PE物理扩展块来进行数据转换,将原本LV内的PE转移到其他设备中以降低LV容量,或将其他设备的PE加到此LV中以加大容量。
LVM实作流程(vmware- redhate-5.4)
1.先准备几个磁盘,或是一个磁盘创建多个分区均可以;
2.并修改其ID号为8e,如下图:
注:分区的ID为8e,它的出现会导致system变成“Linux LVM”。其实没有设置成为8e也没关系,不过某些LVM的检测命令可能会检测不到该分区。
3.PV(物理卷)阶段
用pvcreate将物理分区新建成为pv;
用pvscan查看目前系统里面任何具有pv的磁盘,如下图:
4.VG(卷用户组)阶段
vgcreate:创建vg组,
vgdisplay显示目前系统上面的VG状态
以liuvg为例,如下图:
5. LV(逻辑卷)阶段
lvcreate:新建LV;
lvscan:查询系统上面的LV;
将逻辑卷格式化,并设置挂载点
我们现在已经构建好一个LV了,你可以自由应用/mnt/liuvm内的所有资源!
注:因上面做了两个VG组,所以就/dev/liuvg/liulv和/dev/yuavl/yualv
还有/media/liuvm和/media/yuavm不必太过较真,只是个事例。
6.LV的优点就是能够弹性调整文件系统的容量,如下图,设备上没有空间:放大LV容量,
新建物理卷,并将其加入相同的vg组
可以通过vgdisplay 查看PE块的剩余情况,
并用lvresize -l (小写的L,不是1) +pe块数 /dev/yuavg/yualv
用lvdisplay 查看系统上面的LV状态,发现LV size 已经增大
但用df -h 查看文件系统时,/dev/yuavg/yualv的文件系统大小并没有增加,
需要resize2fs /dev/yuavg/yualv,实现将LV容量扩充到整个文件系统,如下图:
7.缩小LV容量(从中抽离出一个文件分区由实验环境设置可知,也就是121个PE块,但PE块的说法是在VG组建立之后才有的。)
首先卸载挂载的LV逻辑卷,延续上例,
7.1 umount /mnt/yuavm
注:在扩充LV容量时支持on-line模式,但缩小LV容量时一定要先卸载
7.2用resize2fs命令缩小/dev/yuavg/yualv的大小
7.3 用lvresize缩小yualv的容量
7.4通过pvdisplay命令可知/dev/sdd2已经被抽离出来,但可能我们并不想抽离出它,而是另一块分区/dev/sdd1,
7.5. 通过pvmove /dev/sdd1 /dev/sdd2
pvmove 来源PV 目标PV,可以将/dev/sdd1内的全部PE移动到 /dev/sdd2尚未被使用的PE(Free PE)去。
7.6 再通过pvscan查看,就已经达到了我们预期的效果
7.7 但是/dev/sdd1还是属于VG yuavg组的,
通过vgreduce yuavg /dev/sdd1
pvremove /dev/sdd1
fdisk /dev/sdd 修改文件系统分区ID,实现彻底的复原
注:扩充LV容量与缩小LV容量时,要注意lvresize的使用顺序,
扩充时,先用lvresize 增加PE,实现扩充,再用resize2fs扩充到整个文件系统;
而缩小时,不支持on-line缩减,应先用resize2fs实现文件系统的缩小,再用lvresize实现lv的缩小,最终实现各自目的。
总结与扩展:LVM的重点在于弹性调整文件系统的容量,而并非在于性能与数据保全上面,所以可以利用RAID上面构建LVM的功能,以达到两者兼顾的目的,有关内容近期更新……
vg命令:
vgcreate /dev/sda domovg
lvcreate -L -n www domovg
##add lv space
lvresize -L 1G /dev/domovg/www
resize2fs /dev/domovg/www 1G
##extend lv space
lvextend -L +10G /dev/domovg/www
resize2fs /dev/domovg/www