一、LVM介绍
LVM: Logical Volume Manager, Version: 2
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
允许在多个物理设备间重新组织文件系统
将设备指定为物理卷
用一个或者多个物理卷来创建一个卷组
le 逻辑盘区 ,从卷组中划分pe给逻辑卷后,即成为le
pe : 物理盘区.即在卷组中指定的块,在物理设备中的表现
物理卷是用固定大小的物理区域( Physical Extent,PE)来定义的
在物理卷上创建的逻辑卷是由物理区域( PE)组成
可以在逻辑卷上创建文件系统
结构示意图:
dm: device mapper: 将一个或多个底层块设备组织成一个逻辑设备的模块
设备名: /dev/dm-#(真实名字)
centos 5 中,则成为mapper
centos 6zhong ,/dev/lv/
软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM可以弹性的更改LVM的容量
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他
设备中的PE加到LV中以加大容量
二、图形化LVM 管理:
查看lvm 的使用情况:
增加或逻辑卷:
删除逻辑卷:
三、LVM 管理命令
命令汇总:
物理卷命令命令:pv
pvcreate pvremove psdisplay pvscan pvs (显示卷组信息)
pvmove(移动数据)
pvcreate 物理卷
卷组的管理命令:vg
vgcreate vgscan vgs vgextend(扩充)、vgremove(删除) vgreduce(移除,缩容)
vgcreate
-s:pe大小,默认4M
格式:
vgcreate 全局卷组名 需要使用的物理卷组
逻辑卷的管理命令:lv
lvcreate lvscan lvs lvextend(扩充)、lvremove(删除) vgreduce(移除,缩容)
lvcreate
-n:指定名称
-L: 指定大小
-l:%vg|pvs|FREE,打算分配%
1、pv(物理卷)管理工具
pv : 将物理磁盘,转换(创建)为物理卷(pv)
显示pv信息
pvs: 简要pv信息显示
pvdisplay 详细信息显示
创建pv
pvcreate /dev/DEVICE
2、 vg(卷组)管理工具
显示卷组
vgs 简要显示
vgdisplay 详细显示
创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
PhysicalDevicePath [PhysicalDevicePath…]
管理卷组
增加:
vgextend VolumeGroupName PhysicalDevicePath
[PhysicalDevicePath…]
缩减:
vgreduce VolumeGroupName PhysicalDevicePath
[PhysicalDevicePath…]
注意:
增加时,(由底层至顶层)
应先增加pv,再增加vg,即,先扩大物理边界,再扩大vg逻辑边界
缩减时,(由顶层至底层)
应先减小vg逻辑边界,再减小pv物理边界
删除卷组
必须先做vgremove 先做pvmove
3、lv (逻辑卷)管理工具
显示逻辑卷
lvs 简要显示
Lvdisplay 详细显示
创建逻辑卷
lvcreate -L #[mMgGtT](指定大小) -n NAME VolumeGroup
删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
重设文件系统大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
逻辑卷扩展的步骤:
1.先确保扩展的大小;并确保所属的卷组有足够的剩余空间
2、扩展物理边界
lvextend -L [+]size /path/to/lv_device 仅能在自己的卷组拓展
拓展之前,需要先确定pv中,有可拓展的设备,再用vgs 确认 Vfree
数值,确保有足够的空闲空间
3、扩展逻辑边界
resize2fs /path/to/lv_devive 默认拓展到物理边界的大小
缩减逻辑卷的步骤:
1、卸载卷(umount),并执行强制检查
先umount lv设备
e2fsck -f /path/to/lv_devive
2、缩减逻辑边界
resize2fs /path/to/lv_device SIZE
3、缩减物理边界:
lvreduce -L [-]size /path/to/lv_device
4、挂载卷
扩展逻辑卷:
# 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
四、lvm 操作实例
步骤: 创建 8e类型 分区 —》 创建 pv —> 创建vg —> 创建 lv—> 挂载
过程涉及命令:
1、fdisk t 8e ——分区准备
2、pvcreate /dev/sd{a7,b} —–创建pv 物理卷(最底层)
pvs pvdisplay
3、vgcreate vg0 /dev/sd{a7,b} —–创建 vg 逻辑卷组
vgs
vgdisplay
PE size 默认为4096k , vgcreate -s 可以用于PE 调整
4、lvcreate -n lv0 -L 15G vg0 ——-创建 lv 逻辑卷
lvs
lvdisplay
5、创建文件系统
mkfs.ext4 /dev/vg0/lv0
6、挂载
vim /etc/fstab
7、逻辑卷扩展
lvextend -L 25G /dev/vg0/lv0 拓展到指定大小
lvextend -l +100%FREE /dev/vg0/lv0 拓展free空间的n%
resize2fs /dev/vg0/lv0
8、卷组扩展
pvcreate /dev/sdc
vgextend vg0 /dev/sdc
1. 添加硬盘:
虚拟机示例(最少2个盘即可)
添加新硬盘后,扫描新设备:
1.重启电脑
2.如果不想重启,执行命令:echo "- – -" > /sys/class/scsi_host/host0/scan
若执行后无新设备,则修改host0/1/2,尝试多几次即可
2.准备分区:
分区大小可以不一致,fdisk 中类型设置为 8e –linux lvm
(此处准备了 sdc5 , sdd5 , sde5,大小均为1G)
(此处不需要格式化分区,lvm 中,只需要对创建成功的lv 格式化)
3.创建 底层–pv 物理卷层 (sde5 作为拓展示例用,后续才扩容添加)
pvcreate /dev/sd{d,c}5
查询pv创建情况:
4.创建vg 卷组:
vgcreate vg_name devices
查询vg创建情况
5.创建 lv 逻辑卷 :
lvcreate -n lv_name -L size vg_name
6. 格式化lv0 ,并挂载使用
配置 /etc/fstab, 自动加载
注意:
此处uuid 使用的是 /dev/vg0/lv0 的UUID
而 lv0 的UUID 为:
LV UUID mvZbcZ-u3cr-7s23-42nv-EMuJ-SfAP-owwkyi
6.拓容:
步骤: 拓展pv 物理边界–> 拓展vg逻辑边界—》 为lv添加容量
(缩减时,顺序相反)
拓展pv物理边界:
拓展vg :
确定存在free空间, ( VFree)
拓展lv:
lvextend -L 25G /dev/vg0/lv0
lvextend -l +100%FREE /dev/vg0/lv0
resize2fs /dev/vg0/lv0