Linux/LVM

Linux/LVM

Logical Volume Management

相关命令

pvs # 物理分区
vgs # 分区组(volume group)
lvs # 逻辑分区
pvscan
vgdisplay
pvcreate /dev/sda1
vgextend vg_tecmint /dev/sda1

创建 LVM 基本流程

  1. fdisk / gdisk 给物理硬盘分区,分区时指定fs类型为 "Linux LVM" (fdisk: 8e; gdisk: 8e00)
  2. pvcreate /dev/sdb1 在物理分区上建立LVM
  3. vgcreate VolGroup1 /dev/sdb1 (以后添加第2块物理硬盘分区到LVM时,用 vgextend VolGroup1 /dev/sdb2)
  4. lvcreate -n lvol0 -l 100%FREE VolGroup1
  5. mkfs.ext4 /dev/VolGroup1/lvol0 格式化逻辑分区
  6. mount /dev/VolGroup1/lvol0 /mnt/data1
  7. lsblk -f 查看创建的逻辑分区 uuid,加入 /etc/fstab 实现开机自动挂载

调整 LVM 分区大小

调整逻辑分区大小

扩大逻辑分区 (+后面的数值是分配可用块数量,不能超过 vgdisplay 显示的 Free PE)

lvextend -l +4607 /dev/mapper/rhel-root

缩写逻辑分区:(以下缩小 8GB; 或缩小 2048 个 PE 块)

lvreduce -L -8G /dev/mapper/rhel-home
lvreduce -l -2048 /dev/mapper/rhel-home

注:

  • lvextend 可以指定 -r 参数以自动 resize 底层 fs 的分区大小,测试支持 xfs 分区。

调整 fs 分区大小

除了调整 LVM 逻辑分区,还需要调整 fs 文件系统的分区表大小

resize2fs /dev/mapper/rhel-home

对于 xfs 文件系统 (RedHat 7+ 默认),不能用 resize2fs,需要用 xfs_growfs:

xfs_growfs /dev/mapper/rhel-root

但 xfs_growfs 只能扩大,不能缩小(shrink) 分区大小。

如果需要缩小 xfs 分区大小,只能备份数据后重新格式化分区:

mkfs.xfs -f /dev/mapper/rhel-home

操作步骤

  • 各操作前先 umount 逻辑分区。
  • 扩大分区时,先扩大逻辑分区,再扩大 fs 分区。
  • 缩小分区时,先缩小 fs 分区,再缩小逻辑分区。

Last update: 2022-04-20 07:43:06 UTC