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 扩展文件系统。
参考
http://book.51cto.com/art/201012/240835.htm
结束
更多欢迎到此讨论:
71921660 37275208 (已满)本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/818735