lvm-逻辑卷管理器

lvm-逻辑卷管理器

在Linux 操作系统中使用LVM 逻辑卷管理器可以很方便的扩展磁盘容量,无论是物理机还是虚拟机均可,或者与OVF模版结合使用,快速部署虚拟机。

一 LVM的基本术语


  1. 物理存储介质(Thephysicalmedia) 
  2. 指的就是存储设备硬盘 例如:/dev/sda  /dev/sdb等 
  3.  
  4. 物理卷(physicalvolume) 
  5. 指的是磁盘的分区,使用 pvcreate指令创建物理卷 
  6.  
  7. 卷组(VolumeGroup) 
  8. 卷组将多个物理卷组织成一个整体,屏蔽了底层物理卷细节,可以在卷组上建立多个LVM分区(即逻辑卷)而不用考虑具体的物理卷信息。 
  9.   
  10. 逻辑卷(logicalvolume) 
  11. LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/ 或者/var等) 
  12.  
  13. PE(physicalextent) 
  14. 每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。
  15. PE的大小是可配置的,默认为4MB。 
  16.  
  17. LE(logicalextent) 
  18. 逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。 



二 LVM 相关命令


  1. 2.1 物理卷相关命令 
  2. pvcreate 指令用于将物理硬盘分区初始化为物理卷,以便被LVM使用。 
  3. 注意:要创建物理卷必须首先对硬盘进行分区,并且将硬盘分区的类型设置为"8e"后,才能使用pvcreate指令将分区初始化为物理卷 
  4. pvcreate /dev/sdb1         //将分区初始化为物理卷 
  5.  
  6. pvscan 指令会扫描系统中连接的所有硬盘,列出找到的物理卷列表 
  7. pvscan                     //扫描所有硬盘上的物理卷 
  8.  
  9. pvdisplay 指令用于显示物理卷的属性(大小,PE大小,被卷组描述符使用的空间) 
  10. pvdisplay                  //显示物理卷基本信息 
  11.  
  12. pvremove 指令用于删除一个存在的物理卷 
  13. pvremove /dev/sdb2         //删除物理卷 
  14.  
  15. pvck 指令用来检查物理卷的LVM元数据的一致性。 
  16. pvck -v /dev/sdb1          //检查物理卷元数据 
  17.  
  18. pvchange 指令允许管理员改变物理卷的分配许可。 
  19. pvchange -x n /dev/sdb1    //禁止分配"/dev/sdb1"上的PE 
  20.  
  21.  
  22. 2.2 卷组相关命令 
  23. vgcreate 指令用于创建LVM卷组 
  24. vgcreate myvg1 /dev/sdb1   //创建卷组"myvg1"并且将物理卷"/dev/sdb1"添加到卷组中 
  25.  
  26. vgscan 指令查找系统中存在的LVM卷组,并显示找到的卷组列表。 
  27. vgscan                     //扫描并显示LVM卷组列表 
  28.  
  29. vgdisplay 指令用于显示LVM卷组的元数据信息。 
  30. vgdisplay                  //显示所有卷组的属性 
  31.  
  32. vgextend 指令用于动态的扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。 
  33. vgextend myvg1 /dev/sdb2   //将物理卷"/dev/sdb2"加入卷组"myvg1" 
  34.  
  35. vgreduce 指令通过删除LVM卷组中的物理卷来减少卷组容量。 
  36. 注意:不能删除LVM卷组中剩余的最后一个物理卷。 
  37. vgreduce myvg1 /dev/sdb2   //将物理卷"/dev/sdb2"从卷组"myvg1"中删除 
  38.  
  39. vgchange 指令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或者非活动状态。 
  40. 注意:处于活动状态的卷组无法被删除,必须使用vgchange指令将卷组设置为非活动状态后才能删除。 
  41. vgchange -ay myvg1         //将卷组"myvg1"设置为活动状态 
  42.  
  43. vgremove 指令用户删除LVM卷组。 
  44. vgremove myvg1             //删除卷组"myvg1" 
  45.  
  46.  
  47. 2.3 逻辑卷相关命令 
  48. lvcreate 指令用于创建LVM的逻辑卷。 
  49. lvcreate -L 10G -n lv1 myvg1 //在卷组myvg1上创建大小为10G的逻辑卷lv1,-L 参数指定逻辑卷的大小,
  50. 单位为'kKmMgGtT'字节 
  51.  
  52. lvscan 指令用于扫描当前系统中存在的所有的LVM逻辑卷 
  53. lvscan                     //扫描所有的逻辑卷 
  54.  
  55. lvdisplay 指令用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。 
  56. lvdisplay                  //省略"逻辑卷"参数,则lvdisplay指令显示所有的逻辑卷属性 
  57.  
  58. lvextend 指令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。 
  59. lvextend -L +10G /dev/myvg1/lv1  //为lv1增加10G空间 
  60.  
  61. lvreduce 指令用于减少LVM逻辑卷占用的空间大小。 
  62. 注意:使用lvreduce指令收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据,需谨慎操作。 
  63. lvreduce -L -10G /dev/myvg1/lv1  //将逻辑卷的空间大小减少10G 
  64.  
  65. lvremove 指令用于删除指定LVM逻辑卷。 
  66. 注意:如果逻辑卷已经使用mount指令加载,则不能使用lvremove指令删除。必须umount后,逻辑卷方可被删除。 
  67. lvremove /dev/myvg1/lv1          //删除逻辑卷 lv1 
  68.  
  69. lvresize 指令用于调整LVM逻辑卷的空间大小,可以增大空间和缩小空间。 
  70. 注意:使用lvresize指令调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。 
  71. lvresize -L +10G /dev/myvg1/lv1  //将逻辑卷空间增加200M 



三 LVM 实例


  1. 3.1 例子1 lvm基本操作 
  2.  
  3. 顺序如下: 磁盘分区--> 物理卷 --> 卷组 --> 逻辑卷 --> 使用(格式化挂载等等) 
  4. 1 首先将分区/dev/sda5 建立物理卷。 
  5. pvcreate /dev/sda5    
  6.  
  7. 2 创建一个卷组,卷组名字为myvg2,并将/dev/sda5 物理卷加入卷组。 
  8. vgcreate myvg2 /dev/sda5 
  9.  
  10. 3 在myvg2卷组上,创建逻辑卷名为“lv2”容量为10G 
  11. lvcreate -L 10G -n lv2 myvg2 
  12. 或者(lvcreate -l 313 -n lv2 myvg2  //-l参数为使用多少PE) 
  13.  
  14. 4 使用,格式化lv2 并挂载lv2 
  15. mkfs.ext3 /dev/myvg2/lv2 
  16. mkdir /data/ && mount /dev/myvg2/lv2 /data/ 
  17.  
  18.  
  19. 4 察看信息 
  20. pvdisplay //物理卷信息 
  21. vgdisplay //卷组信息 
  22. lvdisplay //逻辑卷信息 
  23.  
  24.  
  25. 3.2 例子2 扩展 "/" 根分区 
  26.  
  27. 顺序如下: 査看vg 空间--> 査看 LV名称 --> 扩展逻辑卷 -- > resize2fs 扩展文件系统 
  28. 1 査看vg 可用空间,注意Free 关键字 
  29. vgdisplay 
  30. Free  PE / Size 313 / 9.78GB 
  31.  
  32. 2 査看 "/" 分区名称,注意 LV name 关键字 
  33. lvdisplay 
  34. LV Name   /dev/vg1/lv1 
  35.  
  36. 3 扩展逻辑卷 
  37. lvextend -l +313 /dev/vg1/lv1 
  38. 或者(lvextend -L 9.78G /dev/vg1/lv1 //-L参数为使用多少空间单位为'kKmMgGtT'字节) 
  39.  
  40. 4 扩展文件系统 
  41. resize2fs /dev/vg1/lv1 

  42. 3.3 扩展“/” 20120405
  43. fdisk /dev/sda
  44. 添加新的分区用于创建pv,
  45. 使用"t"命令更改分区系统id类型为"8e"
  46. 保存退出,

  47. partprobe /dev/sda5 //使用partprobe 命令,不必重启系统就可以发现新分区
  48. pvcreate /dev/sda5 //创建物理卷
  49. vgextend vg1 /dev/sda5 //扩展卷组
  50. vgdisplay //査看卷组可用PE(Free PE)
  51. lvdisplay //査看逻辑卷详细信息
  52. lvextend -l +960 /dev/vg1/lv1_root //扩展逻辑卷(-l 为可用的PE数量)
  53. resize2fs /dev/vg1/lv1_root //扩展文件系统
  54.  
  55.  
  56. 3.4注意事项 
  57. 例子2中完成 "/" 根分区扩展,如果你的vg 没有可用PE 那么就没有办法扩展了,不过你可以增加 
  58. 新的物理存储介质,然后将其创建PV 物理卷,并加入当前卷组中这样就有Free的PE 了,这就LVM优点 
  59. 所在,以上步骤完成最后别忘了使用 resize2fs 扩展文件系统。 



参考
http://book.51cto.com/art/201012/240835.htm

结束

更多欢迎到此讨论:
71921660   37275208 (已满)本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/818735



上一篇:关于网店转让,需要注意的地方


下一篇:Oracle连接odbc数据源