LVM

来源:互联网 发布:gekka睡眠面膜 知乎 编辑:程序博客网 时间:2024/06/08 16:02

一、传统磁盘管理的问题
当分区大小不够用时无法扩展其大小,只能通过添加磁盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原始数据导入。
二、LVM逻辑卷的基本概念

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

再挂载
mount /dev/vg0/lv0 /mnt

缩小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


xfs格式的文件只能扩容,不能缩减
扩容后文件系统同步
xfs_growfs /dev/vg0/lv0


快照

将挂载的卷卸载
umount /mnt
创建快照
lvcreate -L 50M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt

若将文件删除要reset,先卸载删除快照
lvremove /dev/vg0/lv0-backup

原创粉丝点击