一、传统磁碟管理的问题
当分割槽大小不够用时无法扩充套件其大小,只能通过新增磁碟、建立新的分割槽来扩充空间,但是新新增进来的硬碟是作为独立档案系统存在的,原有的档案系统并未得到扩充,上层应用很多时候只能访问一个档案系统。只能让现有磁碟下线,换上新的磁碟之后,再将原始资料汇入。
二、 LVM 逻辑卷的基本概念
LVM(Logical volume Manager)逻辑卷管理通过将底层物理硬碟抽象封装起来,以逻辑卷的形式表现给上层系统,逻辑卷的大小可以动态调整,而且不会丢失现有资料。新加入的硬碟也不会改变现有上层的逻辑卷。
作为一种动态磁碟管理机制,逻辑卷技术大大提高了磁碟管理的灵活性。
PE(physical extend)预设为 4MB 的基本块
PV(physical volume)硬碟或分割槽
VG(volume group)由一个或多个 PV 组成的整体
LV(logical volume)从 VG 中切割出的空间用于建立档案系统
三、 LVM 建立过程
1. 物理磁碟被格式化为 PV,空间被分为一个个 PE
2. 不通的 PV 加入同一个 VG,不同 PV 的 PE 全部进入 VG 的 PE 池内
3.LV 基于 PE 建立,大小为 PE 的整数倍,组成 LV 的 PE 可能来自不同物理磁碟
4.LV 现在就直接可以格式化后挂载使用了
5.LV 的扩充缩减实际上就是增加或减少组成该 LV 的 PE 的数量。其过程不丢失原始资料
四、建立 LVM
将物理磁碟装置初始化为物理卷
pvcreate /dev/sdb /dev/sdc
建立卷组,并将 PV 加入卷组中
vgcreate vg0 /dev/sdb /dev/sdc
基于卷组建立逻辑卷
lvcreate -n lv0 -L 5G vg0
为建立好的逻辑卷建立档案系统
mkfs.ext4 /dev/vg0/lv0
将格式化好的逻辑卷挂载使用
mount /dev/vg0/lv0 /mnt/
将挂载资讯写入/etc/fstab 中重启依然生效
echo “/dev/vg0/lv0 /mnt ext4 defaults 0 0 ” >> /etc/fstab
五、检视 LVM
检视物理卷资讯:pvs 、 pvdisplay(详细)
检视卷组资讯:vgs 、 vgdisplay(详细)
检视逻辑卷资讯:lvs 、 lvdisplay(详细)
六、删除 LVM
删除 LV:lvremove /dev/vg0/lv0
删除 VG:vgremove vg0
删除 PV:pvremove /dev/sdb
七、拉伸一个逻辑卷
逻辑卷的拉伸操作可以线上执行,不需要解除安装逻辑卷
保证 VG 中有足够的空闲空间
vgs 、 vgdisplay
扩充逻辑卷
lvextend -L +5G /dev/vg0/lv0
检视扩充后 LV 大小
lvs 、 lvdisplay
更新档案系统
resize2fs /dev/vg0/lv0
检视更新后的档案系统
df –h
八、拉伸一个卷组
将要新增到 VG 的硬碟格式化为 PV
pvcreate /dev/sdd
将新的 PV 新增到指定卷组中
vgextend vg0 /dev/sdd
检视扩充后 VG 大小
vgs 、 vgdisplay
九、缩小一个逻辑卷
逻辑卷的缩小操作必须离线执行,要解除安装逻辑卷
解除安装已经挂载的逻辑卷
umount /dev/vg0/lv0
缩小档案系统(原 lv0 为 10G)
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 3G
缩小 LV
lvreduce -L -7G /dev/vg0/lv0
检视缩小后的 LV
lvs 、 lvdisplay
挂载
mount /dev/vg0/lv0 /mnt
十、缩小卷组
将一个 PV 从指定组中移除
vgreduce vg0 /dev/sdd
检视缩小后的卷组大小
vgs 、 vgdisplay
移除 PV
pvremove /dev/sdd