转载请注明出处:
LVM(Logical Volume Manager,逻辑卷管理器)是一个用于Linux系统的磁盘管理工具。它提供了一种更加灵活的存储管理机制,可以方便地进行磁盘的扩容、缩减、快照以及迁移等操作。
基本概念
- 物理卷(PV):物理磁盘或分区,如
/dev/sda1
。 - 卷组(VG):由一个或多个物理卷组成的集合。
- 逻辑卷(LV):从卷组中分配的逻辑磁盘,可以被文件系统格式化并用于存储数据。
安装LVM
在ubuntu系统可以通过下面的命令进行安装
# Ubuntu/Debian sudo apt-get install lvm2
创建LVM
第一步:创建物理卷(PV)
假设有一个新的磁盘/dev/sdb
,需要先将其初始化为物理卷:
sudo pvcreate /dev/sdb
应用示例:
root@swan2:~# sudo pvcreate /dev/vdbPhysical volume "/dev/vdb" successfully created. root@sdwan2:~# vgdisplay--- Volume group ---VG Name ubuntu-vgSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 2VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 1Max PV 0Cur PV 1Act PV 1VG Size <96.95 GiBPE Size 4.00 MiBTotal PE 24818Alloc PE / Size 12409 / 48.47 GiBFree PE / Size 12409 / 48.47 GiBVG UUID RCjkb6-7ngM-9nss-OWOL-eqMR-9MDp-JCyLjk
第二步:创建卷组(VG)
创建一个名为vg_data
的卷组,将新创建的物理卷加入其中:
sudo vgcreate vg_data /dev/sdb
第三步:创建逻辑卷(LV)
创建一个名为
lv_data
的逻辑卷,大小为10G:
sudo lvcreate -n lv_data -L 10G vg_data
第四步:格式化逻辑卷
对逻辑卷进行格式化,例如使用ext4文件系统:
sudo mkfs.ext4 /dev/vg_data/lv_data
第五步:挂载逻辑卷
创建一个挂载点,然后将逻辑卷挂载到该挂载点:
mkdir /mnt/data
sudo mount /dev/vg_data/lv_data /mnt/data
扩容LVM
假设我们需要将逻辑卷lv_data
扩展到20G,可以遵循以下步骤:
第一步:增加物理卷
假设在物理卷/dev/sdb
上增加了空间(例如增加了第二个物理卷/dev/sdc
),首先需要将新的物理卷初始化:
sudo pvcreate /dev/sdc
然后,将其加入到卷组:
sudo vgextend vg_data /dev/sdc
应用示例:
root@sdwan2:~# sudo vgextend ubuntu-vg /dev/vdbVolume group "ubuntu-vg" successfully extended root@swan2:~# vgdisplay--- Volume group ---VG Name ubuntu-vgSystem ID Format lvm2Metadata Areas 2Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 1Max PV 0Cur PV 2Act PV 2VG Size 1.09 TiBPE Size 4.00 MiBTotal PE 286961Alloc PE / Size 12409 / 48.47 GiBFree PE / Size 274552 / <1.05 TiBVG UUID RCjkb6-7ngM-9nss-OWOL-eqMR-9MDp-JCyLjk
第二步:扩展逻辑卷
使用以下命令将逻辑卷
lv_data
扩展到20G:
sudo lvextend -L 20G /dev/vg_data/lv_data
或者,如果想使用所有可用的空间:
sudo lvextend -l +100%FREE /dev/vg_data/lv_data
应用示例:
root@swan2:~# lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lvSize of logical volume ubuntu-vg/ubuntu-lv changed from 48.47 GiB (12409 extents) to 1.09 TiB (286961 extents).Logical volume ubuntu-vg/ubuntu-lv successfully resized. root@sdwan2:~#
第三步:扩展文件系统
扩展完逻辑卷后,需要扩展文件系统以利用新增的空间:
sudo resize2fs /dev/vg_data/lv_data
应用示例:
root@swan2:~# sudo resize2fs /dev/ubuntu-vg/ubuntu-lv resize2fs 1.45.5 (07-Jan-2020) Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 141 The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 293848064 (4k) blocks long.root@swan2:~#
查看LVM的信息
可以使用以下命令查看LVM的信息:
- 查看所有物理卷:
sudo pvdisplay
- 查看所有卷组:
sudo vgdisplay
- 查看所有逻辑卷:
sudo lvdisplay
- 查看详细的LVM状态:
lvs