Aliens

LVM使用记录

April 2, 2021

在新的硬盘/分区上使用lvm


1.创建新分区

1
2
3
4
5
6
# 创建sda1
fdisk /dev/sda
g
n
...
w

2.创建PV

1
pvcreate /dev/sda1

3.创建VG

1
2
3
4
5
# vg1为VG的名称, sda1为之前创建好的PV
vgcreate vg1 /dev/sda1

# 同时添加多块硬盘
vgcreate vg1 /dev/sda1 /dev/sdb1

4.创建LV

1
2
3
4
# 创建大小为10G, 名为test1的LV
# vg1为之前创建的VG名称

lvcreate -L 10G -n "test1" vg1

这一步完成后, 会创建一个新的硬盘/dev/vg1/test1

5.格式化新创建的硬盘

1
mkfs.ext4 /dev/vg1/test1

扩容


LV扩容

1
2
3
4
5
# 为/dev/vg1/test1新增20GB空间
lvextend -L +20G vg1/test1

# 重载逻辑卷大小
resize2fs -p /dev/vg1/test1

2023年更新:

To extend a logical volume and use 100% of the available free space, you can use the following command:

1
sudo lvextend -r -l +100%FREE /dev/vg_name/lv_name

This will extend the logical volume named “lv_name” in the volume group “vg_name” to use all available free space. The “-r” flag is used to automatically resize the file system on the logical volume after it has been extended.

VG扩容

1
2
# 向vg1中添加新的PV:/dev/sdc1
vgextend vg1 /dev/sdc1

缩减空间


移除部分PV

假设vg1中有两个pv,分别为/dev/sda1/dev/sdb1,现需要将/dev/sdb1从vg1中移除

1
2
3
4
5
# 先转移/dev/sdb1中的数据
pvmove /dev/sdb1

# 从vg1中移除/dev/sdb1
vgreduce vg1 /dev/sdb1