Linux VG卷组是由多个物理磁盘或逻辑卷组成的逻辑存储设备,通过创建、激活、查看、扩容、减小和删除VG卷组,可以更好地管理和组织磁盘空间。
LVM利用Linux内核的device-mapper功能来实现存储系统的虚拟化(系统分区独立于底层硬件)。 通过LVM,可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便,它相比传统的分区系统可以更灵活地管理磁盘。
||-------------------------OS----------------------------||
||-------------------------LVM---------------------------||
|| LV-1 (/) |LV-2 (swap)| LV 3 (/home) | LV-4 (/tmp)|| Logical Volumes(LV)
||------------------------------------------|------------||
|| VG 1 | VG 2 || Volume Groups(VG)
||------------------------------------------|------------||
|| /dev/sda2 | /dev/sda3 | /dev/sdb2 | /dev/sdd4 || Physical Volumes(PV)
||-------------------------------------------------------||
- 创建 物理卷(Physical Volumes)
sh
pvcreate device1 device2 ...
注意: 如果你用的是未格式化过且擦除块(erase block)大小小于1M的SSD,请采用以下命令pvcreate --dataalignment 1m /dev/sda来设置对齐(alignment)。
- 创建 卷组 (Volume Groups)
sh
vgcreate vg_name pv1 pv2 ...
- 创建逻辑卷 (Logical Volumes)
sh
lvcreate -L <lv_size> <vg_name> -n <lv_name>
sh
# 将卷组vg_name下所有剩余空间给创建的lv_name逻辑卷
lvcreate -l +100%FREE <vg_name> -n <lv_name>
- 格式化并挂载逻辑卷
sh
mkfs.xfs /dev/mapper/vg_postgres-lv_database01
- 挂载
sh
mount /dev/mapper/<vg_name>-<lv_name> <mount_point>
sh
chown -R postgres:postgres /mnt/data1