什么是LVM?
LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。
相关概念
- Physical Volume(PV)
物理卷,将实际的磁盘分区(partition)系统识别码(system ID)修改为8e后,在通过pvcreate指令转化为LVM最底层的物理卷,作为后续空间管理的基础。
- Volume Group(VG)
卷组,将数个PV进行整合,即形成了VG,在32位的操作系统中,LV的大小与PE的大小有关;在64位的操作系统中,LV几乎没有容量限制。
- Physical Extent(PE)
物理区块,他是LVM中的最小存储单元。PE类似于文件系统中的block。
- Logical Volume(LV)
逻辑卷,由VG划分而来,LV的大小与PE的大小及PE的数量有关,Size(LV)= Count(PE)* Size(PE)
LVM的优缺点
优点:
- 可以在系统运行的状态下动态的扩展文件系统的大小
- 文件系统跨越多个磁盘,文件系统的大小不受磁盘大小的限制
- LVM的存储空间可以通过新增磁盘的方式扩容
缺点:
- 从卷组中移除一个磁盘的时候必须使用reducevg命令
- 当卷组中有一个磁盘损坏了,整个卷组都会受到影响(由于一份数据可能会存储在不同的磁盘中)
- 在磁盘创建过程中增加了额外的步骤,所以数据存贮性能会受到影响
1.部署逻辑卷
前提先将虚拟机恢复到初始状态并且在虚拟机中添加两块新的硬盘设备(sdb sdc)
(1)让新增加的两块硬盘设备支持LVM技术。
pvcreate /dev/sdb /dev/sdc
(2)把两块硬盘设备加入到storage卷组中,然后查看卷组的状态
vgcreate storage /dev/sdb /dev/sdc
vgdisplay
(3)切割出一个约为150MB的逻辑卷设备。
注意,参数不同。对于逻辑卷切割的计量单位不同,参数-L是以容量为单位,例如:使用-L 150M生成大小为150MB的逻辑卷,另一种是以基本单位的个数为单位,所使用的参数为-l,每个基本单元的大小默认为4MB,例如:使用-l 37可以生成大小为148MB的逻辑卷
lvcreate -n vo -l 37 storage
lvdisplay
(4).把生成好的逻辑卷进行格式化,然后挂载使用。
mkfs.ext4 /dev/storage/vo
mkdir /bobby
ount /dev/storage/vo /bobby
(5).查看挂载状态
df -h
2.扩容逻辑卷
扩展前一定要卸载设备和挂载点的关联
umount /bobby
(1).增加新的物理卷到卷组
pvcreate /dev/sdd
vgextend storage /dev/sdd
vgdisplay
(2) .把上一个实验中的逻辑卷vo扩展至290MB
lvextend -L 290M /dev/storage/vo
(3).检查硬盘完整性,并重置硬盘容量。
e2fsck -f /dev/storage/vo
resize2fs /dev/storage/vo
(4).重新挂载硬盘设备并查看挂载状态
mount -a
df -h
3.缩小逻辑卷
umount /bobby
(1).检查文件系统的完整性
e2fsck -f /dev/storage/vo
(2).把逻辑卷vo的容量减小到120MB
resize2fs /dev/storage/vo 120M
lvreduce -L 120M /dev/storage/vo
(3).重新挂载文件系统并查看系统状态。
mount -a
df -h
4.删除逻辑卷
取消逻辑卷与目录的挂载关联
umount /bobby
(2).删除逻辑卷设备,
lvremove /dev/storage/vo
(3).删除卷组。
vgremove storage
(4).删除物理卷设备
pvremove /dev/sdb /dev/sdc