一、 LVM简介

在 Linux 中规定,每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4 个。

对于每一个硬盘(IDE 或 SCSI)设备,Linux 分配了一个 1 到 16 的序列号码,这就代表了这块硬盘上面的分区号码。

LVM 是一个应用于 Linux 内核的本地卷管理器 (Logical Volume Manager)。 使用 LVM 你可以抽象你的存储空间,并且可以有很容易更改的“虚拟分区”。LVM的基本模块如下:

Physical volume (PV): 物理卷,例如一个硬盘,或一个Software RAID设备; 硬盘的一个分区 (或者甚至硬盘本身或者回环文件),在它上面可以建立卷组。

Volume group (VG): 卷组,将一组物理卷收集为一个管理单元;

Logical volume(LV): 逻辑卷,等同于传统分区,可看作便准的块设备,以容纳文件系统;

Physical extent (PE): 物理块,划分物理卷的数据块。

使用 LVM 你可以比正常的硬盘分区更容易的管理硬盘分区(逻辑卷)。例如,你可以:

使用卷组(VG),使众多硬盘空间看起来像一个大硬盘。

使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。

可以根据需要,对分区(LV)和硬盘空间(VG)进行创建、删除、调整大小等操作

clip_p_w_picpath002

二、 创建LVM

应用场景存:一台Linux服务器增加两块硬盘,实现lvm便于动态扩展空间。

1、分别建立两个lvm逻辑分区

fdisk /dev/sdb

输入n

输入p

输入1

Enter

Enter

输入t

输入8e 设置lvm分区号

输入w 保存

fdisk /dev/sdc

输入n

输入p

输入1

Enter

Enter

输入t

输入8e 设置lvm分区号

输入w 保存

2、建立Physical Volume(物理卷PV)

yum install lvm2

pvcreate /dev/sdb1

pvcreate /dev/sdc1

pvscan :搜索当前系统具有pv的磁盘。

pvdisplay:显示当前系统pv状态。

pvremove:将pv属性删除,该分区不具有pv属性。Pvremove /dev/sdb1

pvmove: 把pv的数据迁移到另外空闲的pv。

3、建立Volume Group(卷组VG)

vgcreate vg1 /dev/sdb1 /dev/sdc1

vg1:卷组名。

/dev/sdb1:物理卷名。

/dev/sdc1: 物理卷名。

vgscan:搜索是否vg存在。

vgdisplay:显示VG状态。

vgremove:删除卷组,vgremove vg1

vgextend:卷组内增加额外的物理卷pv,vgextend vg1 /dev/hdc1

vg1:当前卷组名。

/dev/hdc1:新的物理卷pv

vgreducd: 在卷组VG中删除物理卷pv,vgreducd vg1 dev/sdc1。删除前确保pv未被LV使用使用pvdisplay显示当前系统pv状态。

clip_p_w_picpath003

4、设置卷组VG启动

vgchange –a y

vgremove vg1 删除指定的vg。

5、建立逻辑卷LV

lvcreate -L 14G -n lv1 vg1

lv1:逻辑卷名。

vg1:卷组名。

lvscan:查看系统中lv。

lvdisplay:查看lv状态。

lvremove:删除逻辑卷lv,Lvremove vg1 lv1。

lvextend :在 LV 里面添加容量。
lvreduce :在 LV 里面减少容量。
lvresize :对 LV 进行容量大小的调整。

clip_p_w_picpath004

6、格式化

mkfs.ext3 /dev/vg1/lv1

7、挂载

mkdir /lvm

mount /dev/vg1/lv1 /lvm

vi /etc/fstab

/dev/vg1/lv1 /lvm ext3 defaults 0 0

8、扩展LV空间

clip_p_w_picpath006

对新磁盘进行分区

1) fdisk -l 查看目前分区情况

clip_p_w_picpath007

2)新增磁盘hdd未分区,对hdd磁盘分区操作

clip_p_w_picpath009

3)建立Physical Volume(PV)

pvcreate /dev/sdd1

clip_p_w_picpath010

4)将新pv添加到原卷组

vgextend vg1 /dev/sdd1

clip_p_w_picpath011

5)查看卷组剩余空间

vgs

clip_p_w_picpath012

6)扩展lv容量到17.80G

clip_p_w_picpath013

vgs

clip_p_w_picpath015

7) 增加LV容量100M。

clip_p_w_picpath016

vgs

clip_p_w_picpath018

8)在线扩展空间

扩充了LV后,重新挂载,查看大小当前的LV大小并没有增大。

umount /dev/vg1/lv1

mount /dev/vg1/lv1 /lvm

df –h

clip_p_w_picpath019

在线进行空间扩展

resize2fs /dev/vg1/lv1

clip_p_w_picpath021

df –h 在线扩展成功

clip_p_w_picpath023

离线扩展:

umount /dev/vg1/lv1

resize_reiserfs /dev/vg1/lv1

mount -treiserfs /dev/vg1/lv1 /lvm