lvm-逻辑卷管理器
2012-03-27 19:14:27
标签:Linux 休闲 虚拟化 lvm 扩容
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dngood.blog.51cto.com/446195/818735
lvm-逻辑卷管理器
在Linux 操作系统中使用LVM 逻辑卷管理器可以很方便的扩展磁盘容量,无论是物理机还是虚拟机均可,或者与OVF模版结合使用,快速部署虚拟机。
一 LVM的基本术语
物理存储介质(Thephysicalmedia)
指的就是存储设备硬盘 例如:/dev/sda /dev/sdb等
物理卷(physicalvolume)
指的是磁盘的分区,使用 pvcreate指令创建物理卷
卷组(VolumeGroup)
卷组将多个物理卷组织成一个整体,屏蔽了底层物理卷细节,可以在卷组上建立多个LVM分区(即逻辑卷)而不用考虑具体的物理卷信息。
逻辑卷(logicalvolume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/ 或者/var等)
PE(physicalextent)
每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。
PE的大小是可配置的,默认为4MB。
LE(logicalextent)
逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
二 LVM 相关命令
2.1 物理卷相关命令
pvcreate 指令用于将物理硬盘分区初始化为物理卷,以便被LVM使用。
注意:要创建物理卷必须首先对硬盘进行分区,并且将硬盘分区的类型设置为"8e"后,才能使用pvcreate指令将分区初始化为物理卷
pvcreate /dev/sdb1 //将分区初始化为物理卷
pvscan 指令会扫描系统中连接的所有硬盘,列出找到的物理卷列表
pvscan //扫描所有硬盘上的物理卷
pvdisplay 指令用于显示物理卷的属性(大小,PE大小,被卷组描述符使用的空间)
pvdisplay //显示物理卷基本信息
pvremove 指令用于删除一个存在的物理卷
pvremove /dev/sdb2 //删除物理卷
pvck 指令用来检查物理卷的LVM元数据的一致性。
pvck -v /dev/sdb1 //检查物理卷元数据
pvchange 指令允许管理员改变物理卷的分配许可。
pvchange -x n /dev/sdb1 //禁止分配"/dev/sdb1"上的PE
2.2 卷组相关命令
vgcreate 指令用于创建LVM卷组
vgcreate myvg1 /dev/sdb1 //创建卷组"myvg1"并且将物理卷"/dev/sdb1"添加到卷组中
vgscan 指令查找系统中存在的LVM卷组,并显示找到的卷组列表。
vgscan //扫描并显示LVM卷组列表
vgdisplay 指令用于显示LVM卷组的元数据信息。
vgdisplay //显示所有卷组的属性
vgextend 指令用于动态的扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。
vgextend myvg1 /dev/sdb2 //将物理卷"/dev/sdb2"加入卷组"myvg1"
vgreduce 指令通过删除LVM卷组中的物理卷来减少卷组容量。
注意:不能删除LVM卷组中剩余的最后一个物理卷。
vgreduce myvg1 /dev/sdb2 //将物理卷"/dev/sdb2"从卷组"myvg1"中删除
vgchange 指令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或者非活动状态。
注意:处于活动状态的卷组无法被删除,必须使用vgchange指令将卷组设置为非活动状态后才能删除。
vgchange -ay myvg1 //将卷组"myvg1"设置为活动状态
vgremove 指令用户删除LVM卷组。
vgremove myvg1 //删除卷组"myvg1"
2.3 逻辑卷相关命令
lvcreate 指令用于创建LVM的逻辑卷。
lvcreate -L 10G -n lv1 myvg1 //在卷组myvg1上创建大小为10G的逻辑卷lv1,-L 参数指定逻辑卷的大小,
单位为'kKmMgGtT'字节
lvscan 指令用于扫描当前系统中存在的所有的LVM逻辑卷
lvscan //扫描所有的逻辑卷
lvdisplay 指令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。
lvdisplay //省略"逻辑卷"参数,则lvdisplay指令显示所有的逻辑卷属性
lvextend 指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。
lvextend -L +10G /dev/myvg1/lv1 //为lv1增加10G空间
lvreduce 指令用于减少LVM逻辑卷占用的空间大小。
注意:使用lvreduce指令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,需谨慎操作。
lvreduce -L -10G /dev/myvg1/lv1 //将逻辑卷的空间大小减少10G
lvremove 指令用于删除指定LVM逻辑卷。
注意:如果逻辑卷已经使用mount指令加载,则不能使用lvremove指令删除。必须umount后,逻辑卷方可被删除。
lvremove /dev/myvg1/lv1 //删除逻辑卷 lv1
lvresize 指令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。
注意:使用lvresize指令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。
lvresize -L +10G /dev/myvg1/lv1 //将逻辑卷空间增加200M
三 LVM 实例
3.1 例子1 lvm基本操作
顺序如下: 磁盘分区--> 物理卷 --> 卷组 --> 逻辑卷 --> 使用(格式化挂载等等)
1 首先将分区/dev/sda5 建立物理卷。
pvcreate /dev/sda5
2 创建一个卷组,卷组名字为myvg2,并将/dev/sda5 物理卷加入卷组。
vgcreate myvg2 /dev/sda5
3 在myvg2卷组上,创建逻辑卷名为“lv2”容量为10G
lvcreate -L 10G -n lv2 myvg2
或者(lvcreate -l 313 -n lv2 myvg2 //-l参数为使用多少PE)
4 使用,格式化lv2 并挂载lv2
mkfs.ext3 /dev/myvg2/lv2
mkdir /data/ && mount /dev/myvg2/lv2 /data/
4 察看信息
pvdisplay //物理卷信息
vgdisplay //卷组信息
lvdisplay //逻辑卷信息
3.2 例子2 扩展 "/" 根分区
顺序如下: 査看vg 空间--> 査看 LV名称 --> 扩展逻辑卷 -- > resize2fs 扩展文件系统
1 査看vg 可用空间,注意Free 关键字
vgdisplay
Free PE / Size 313 / 9.78GB
2 査看 "/" 分区名称,注意 LV name 关键字
lvdisplay
LV Name /dev/vg1/lv1
3 扩展逻辑卷
lvextend -l +313 /dev/vg1/lv1
或者(lvextend -L 9.78G /dev/vg1/lv1 //-L参数为使用多少空间单位为'kKmMgGtT'字节)
4 扩展文件系统
resize2fs /dev/vg1/lv1
3.3 扩展“/” 20120405
fdisk /dev/sda
添加新的分区用于创建pv,
使用"t"命令更改分区系统id类型为"8e"
保存退出,
partprobe /dev/sda5 //使用partprobe 命令,不必重启系统就可以发现新分区
pvcreate /dev/sda5 //创建物理卷
vgextend vg1 /dev/sda5 //扩展卷组
vgdisplay //査看卷组可用PE(Free PE)
lvdisplay //査看逻辑卷详细信息
lvextend -l +960 /dev/vg1/lv1_root //扩展逻辑卷(-l 为可用的PE数量)
resize2fs /dev/vg1/lv1_root //扩展文件系统
3.4注意事项
例子2中完成 "/" 根分区扩展,如果你的vg 没有可用PE 那么就没有办法扩展了,不过你可以增加
新的物理存储介质,然后将其创建PV 物理卷,并加入当前卷组中这样就有Free的PE 了,这就LVM优点
所在,以上步骤完成最后别忘了使用 resize2fs 扩展文件系统。
参考
结束
更多欢迎到此讨论:
71921660 37275208 (已满)
本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/818735
阅读(946) | 评论(0) | 转发(0) |