Lvm介绍
Lvm(逻辑卷管理),主要由模块dm核心形成
逻辑卷可以除物理资源之外,创建逻辑卷,逻辑卷在系统上可以灵活的缩减、扩充、这样就为运维工程师提供了他们梦寐以求的存储灵活性。
dm:将一个或多个底层块设备组织成一个逻辑设备的模块。如下图:
上图所见:
物理卷:由一个或多个分区,或,一个或多个硬盘组成。
卷组:可以由一个或多个物理卷组成。
逻辑卷:一个或多个卷组,可以形成多个一个或多个逻辑卷。
常用命令工具介绍:
pv管理工具:
pvs:简要pv信息显示
pvdisplay:显示pv的详细信息
pvcreate /dev/DEVICE: 创建pv
vg管理工具:
vgs:查看vg信息
vgdisplay:查看详细vg信息
vgcreate [-s # [kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] :创建vg
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]:扩展vg
先做pvmove
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]:缩减vg
vgremove:删除vg
逻辑卷扩展与缩减要求:
1、扩展要求
(1)扩展之前先检查文件系统
(2)逻辑卷边界是紧靠物理卷边界上创建的
(3)先扩展物理卷边界,在扩展逻辑卷边界
2、 缩减逻辑卷要求
(1)不能在线缩减,需先卸载
(2)确保缩减后的空间大小依然能存储原有的数据
(3)在缩减之前应该强行检查文件,以确保文件系统能正常使用
3、快照卷
(1)生命周期为整个数据时长,在这段时间内,数据的增长量不能超出快照卷大小
(2)快照卷应该是只读的,不允许修改,以确保数据在那一刻的状态
(3)跟原卷在同一卷组内
lv管理工具:
lvs:查看lv
lvdisplay::查看详细lv
lvcreate -L #[mMgGtT] -n NAME VolumeGroup:创建lv
lvremove /dev/VG_NAME/LV_NAME:删除lv
扩展逻辑卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME:物理扩展
# resize2fs /dev/VG_NAME/LV_NAME:逻辑扩展
缩减逻辑卷:
# umount /dev/VG_NAME/LV_NAME
# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]:逻辑缩减
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:物理缩减
# mount
快照:snapshot
lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
事例:以分区做实验
1、fdisk -l,查看系统是否有剩余空间
2、创建两个分区,并把类型设为linux LVM
3、内核重读分区表
4、创建pv,查看pv
5、创建vg,并把PE弄成16M,查看vg
6、创建lv,查看lv
7、格式化,挂载
8、创建快照,使用快照
9、扩展逻辑卷:先扩展物理容量,在扩展逻辑容量
10、缩减逻辑卷:先缩减逻辑容量,在缩减物理容量
注意:记得用df -h看下容量还有多少,缩减完剩余的容量是否能装的下剩余的数据,记得先卸载,之后要检查下,是否有错误,在进行缩减操作。
11、移除vg上的分区或硬盘,应先把有数据的分区和硬盘 移动到同组下别的硬盘或分区中;在移除
现在报错很正常,因为我这个组中就一个分区。
这个也是报错,因为我这个组中就一个分区,没法缩减
这个是删除vg1 卷组
原文地址:http://kening.blog.51cto.com/10985929/1726358