什么是LVM
LVM 的重点在于“可以弹性的调整 filesystem 的容量!而并非在于性能与数据保全上面。
若需要文件的读写性能或者是数据的可靠性,应该用RAID磁盘阵列
LVM 可以整合多个实体 partition 在一起,让这些 partitions 看起来就像是一个磁盘一样!而且,还可以在未来新增或移除其他的实体 partition 到这个 LVM 管理的磁盘当中
PV、VG、PE、LV
2.LVM中PV、VG、PE、LV:
LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑卷轴管理员。
LVM 的作法是将几个实体的 partitions (或 disk)通过软件组合成为一块看起来是独立的大磁盘(VG),然后将这块大磁盘再经过分区成为可使用分区(LV),最终就能够挂载使用了。
Physical Volume, PV, 实体卷轴
我们实际的 partition (或 Disk)需要调整系统识别码(system ID)成为 8e (LVM 的识别码),然后再经过pvcreate 的指令将他转成 LVM 最底层的实体卷轴(PV),之后才能够将这些 PV 加以利用!调整 system ID 的方是就是通过gdisk
Volume Group, VG, 卷轴群组
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态的添加或移除物理卷。许多个物理卷可以分别组成不同的卷组,卷组的名称由用户自行定义。
所谓的 LVM 大磁盘就是将许多 PV 整合成这个 VG 的东西就是啦!所以 VG 就是 LVM 组合起来的大磁盘!
那么这个大磁盘最大可以到多少容量呢?(PE 以及 LVM 的格式版本有关)
在默认的情况下,使用 32位的 Linux 系统时,基本上 LV 最大仅能支持到 65534 个 PE 而已,若使用默认的 PE 为 4MB 的情况下,最大容量则仅能达到约 256GB 而已~不过,这个问题在 64位的 Linux 系统上面已经不存在了!LV 几乎没有啥容量限制
Physical Extent, PE, 实体范围区块
LVM 默认使用 4MB 的 PE 区块,而 LVM 的 LV 在 32 位系统上最多仅能含有 65534 个 PE (lvm1 的格式),因此默认的 LVM 的 LV 会有4M*65534/(1024M/G)=256G。
他是整个 LVM 最小的储存区块,也就是说,其实我们的文件数据都是借由写入PE 来处理的。(类似文件系统的block大小)
Logical Volume, LV, 逻辑卷轴
逻辑卷建立子啊卷组之上,与物理卷没有直接关系,对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷,使用mkfs等工具在逻辑卷上创建文件系统以后,就可以直接挂载到Linux操作系统中目录下使用。
最终的 VG 还会被切成 LV,这个 LV 就是最后可以被格式化使用的类似分区
上手使用
#创建PV(物理卷)
pvcreate device1 device2
#查看当前PV信息
pvs pvscan pvdisplay
#删除PV
pvremove device1 device2
#创建VG(卷组)
vgcreate vg_test1 /dev/sdb1 /dev/sdb2
#查看VG
vgs vgscan vgdisplay
#删除VG
vgremove 卷组名
#扩容VG
vgextend 卷组名 device
#缩小VG
vgreduce 卷组名 device
#创建LV(逻辑卷)
lvcreate -L 50G vg_test1 -n lv_test
#查看LV
lvs lvscan lvdisplay
#删除LV
lvremove /dev/vg_test1/lv_test
#扩容LV
格式:lvextend -L <extend_size(扩容数量)> <lv_path>
#缩小LV
lvextend -L <extend_size(缩小数量)> <lv_path>
#格式化并挂载LV
mkfs.<filesystem_type> /dev/vg_test1/lv_test
#挂载LV
mount /dev/vg_test1/lv_test(路径) 目录