Linux LVM逻辑卷管理及扩容(一)

一、LVM简介
    LVM是Logical Volume Manager(逻辑卷管理 )的简写,最开始是由 Heinz Mauelshagen在Linux 2.4内核上实现。LVM是一个系统硬盘管理工具,它可以多个硬盘的分区在逻辑上集合一个大硬盘使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。LVM并不需要重启就可以让内核知道分区的存在。
   LVM使用分层结构,如下图所示,可以清晰展示LVM的在磁盘管理的优势。

              

二、LVM相关的概念
物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

物理卷(physical volume): 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

卷组(Volume Group): LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

逻辑卷(logical volume): LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

简单来说就是:

PV:是物理的磁盘分区

VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。

LV:也就是从VG中划分的逻辑分区

三、创建和管理LVM
首先,我们创建几个分区,使用gpt格式分区

点击(此处)折叠或打开

  1. Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
  2. Units = sectors of 1 * 512 = 512 bytes
  3. Sector size (logical/physical): 512 bytes / 512 bytes
  4. I/O size (minimum/optimal): 512 bytes / 512 bytes
  5. Disk label type: gpt
  6. # Start End Size Type Name
  7. 1 2048 2099199 1G Linux filesyste
  8. 2 2099200 4196351 1G Linux filesyste
  9. 3 4196352 6293503 1G Linux filesyste
  10. 4 6293504 8390655 1G Linux filesyste
创建物理卷PV,可以看到/dev/sdb2存在xfs_external_log没有创建成功,使用-f 或是--force参数完成

点击(此处)折叠或打开

  1. [root@localhost ~]# pvcreate /dev/sdb{1..4}
  2. WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
  3.   Wiping xfs signature on /dev/sdb1.
  4.   Physical volume "/dev/sdb1" successfully created
  5. WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: y
  6.   Wiping xfs signature on /dev/sdb2.
  7.   Failed to get offset of the xfs_external_log signature on /dev/sdb2.
  8.   1 existing signature left on the device.
  9.   Aborting pvcreate on /dev/sdb2.
  10. WARNING: dos signature detected on /dev/sdb3 at offset 510. Wipe it? [y/n]: y
  11.   Wiping dos signature on /dev/sdb3.
  12.   Physical volume "/dev/sdb3" successfully created
  13.   Physical volume "/dev/sdb4" successfully created
使用pvcreate -f  强制生产PV, 通过我们看看pvcreate的参数。 pvs 打印出新创建的PV

点击(此处)折叠或打开

  1. [root@localhost ~]# pvcreate -f /dev/sdb2
  2. WARNING: Failed to get offset of the xfs_external_log signature on /dev/sdb2. Wiping skipped.
  3. Physical volume "/dev/sdb2" successfully created
  4. [root@localhost ~]#
  5. [root@localhost ~]# pvs
  6. PV VG Fmt Attr PSize PFree
  7. /dev/sda2 rhel lvm2 a-- 22.00g 4.00m
  8. /dev/sdb1 lvm2 --- 1.00g 1.00g
  9. /dev/sdb2 lvm2 --- 1.00g 1.00g
  10. /dev/sdb3 lvm2 --- 1.00g 1.00g
  11. /dev/sdb4 lvm2 --- 1.00g 1.00g
  12. [root@localhost ~]#

Vgcreate创建以自己姓名的卷组,我们使用sdb1sdb2

点击(此处)折叠或打开

  1. [root@localhost ~]# vgcreate libo /dev/sdb{1,2}
  2. Volume group "libo" successfully created
  3. [root@localhost ~]# vgs
  4. VG #PV #LV #SN Attr VSize VFree
  5. libo 2 0 0 wz--n- 1.99g 1.99g
  6. rhel 1 2 0 wz--n- 22.00g 4.00m
  7. [root@localhost ~]#
lvcreate 创建LVM组,名称为X ,大小为1.5G

点击(此处)折叠或打开

  1. [root@localhost ~]# lvcreate -n X -L 1.5g libo
  2. Logical volume "X" created.
  3. [root@localhost ~]# lvs
  4. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  5. X libo -wi-a----- 1.50g
  6. root rhel -wi-ao---- 20.00g
  7. swap rhel -wi-ao---- 2.00g
  8. [root@localhost ~]#
通过pvscan、vgscan、lvscan 查看物理卷、卷组和逻辑卷的状态

点击(此处)折叠或打开

  1. [root@localhost ~]# pvscan
  2. PV /dev/sdb1 VG libo lvm2 [1020.00 MiB / 0 free]
  3. PV /dev/sdb2 VG libo lvm2 [1020.00 MiB / 504.00 MiB free]
  4. PV /dev/sda2 VG rhel lvm2 [22.00 GiB / 4.00 MiB free]
  5. PV /dev/sdb3 lvm2 [1.00 GiB]
  6. PV /dev/sdb4 lvm2 [1.00 GiB]
  7. Total: 5 [26.00 GiB] / in use: 3 [24.00 GiB] / in no VG: 2 [2.00 GiB]
  8. [root@localhost ~]# vgscan
  9. Reading all physical volumes. This may take a while...
  10. Found volume group "rhel" using metadata type lvm2
  11. Found volume group "libo" using metadata type lvm2
  12. [root@localhost ~]# lvscan
  13. ACTIVE '/dev/rhel/swap' [2.00 GiB] inherit
  14. ACTIVE '/dev/rhel/root' [20.00 GiB] inherit
  15. ACTIVE '/dev/libo/X' [1.50 GiB] inherit
  16. [root@localhost ~]#
通过pvdisplay、vgdisplay、lvdisplay查看物理卷、卷组和逻辑卷的使用情况。这里,我们查看libo卷组的使用情况已经sdb1分区的PE情况,默认大小为4.00 MiB

点击(此处)折叠或打开

  1. [root@localhost ~]# vgdisplay libo
  2. --- Volume group ---
  3. VG Name libo
  4. System ID
  5. Format lvm2
  6. Metadata Areas 2
  7. Metadata Sequence No 2
  8. VG Access read/write
  9. VG Status resizable
  10. MAX LV 0
  11. Cur LV 1
  12. Open LV 0
  13. Max PV 0
  14. Cur PV 2
  15. Act PV 2
  16. VG Size 1.99 GiB
  17. PE Size 4.00 MiB
  18. Total PE 510
  19. Alloc PE / Size 384 / 1.50 GiB
  20. Free PE / Size 126 / 504.00 MiB
  21. VG UUID 4oyTTF-gXjA-snPu-4nn9-H1PY-LaQ1-StRNtp
  22. [root@localhost ~]# pvdisplay /dev/sdb1
  23. --- Physical volume ---
  24. PV Name /dev/sdb1
  25. VG Name libo
  26. PV Size 1.00 GiB / not usable 4.00 MiB
  27. Allocatable yes (but full)
  28. PE Size 4.00 MiB
  29. Total PE 255
  30. Free PE 0
  31. Allocated PE 255
  32. PV UUID SOh1Lm-1WEE-JoGS-hF2j-S4d5-q2Fh-Nmf3sI
  33. [root@localhost ~]#
对于PE的大小,我们也可以在创建VG的时候指定,如下指定为16m

点击(此处)折叠或打开

  1. [root@localhost ~]# vgcreate -s 16M x1 /dev/sdb{3,4}
  2. Volume group "x1" successfully created
  3. [root@localhost ~]# vgdisplay x1
  4. --- Volume group ---
  5. VG Name x1
  6. System ID
  7. Format lvm2
  8. Metadata Areas 2
  9. Metadata Sequence No 1
  10. VG Access read/write
  11. VG Status resizable
  12. MAX LV 0
  13. Cur LV 0
  14. Open LV 0
  15. Max PV 0
  16. Cur PV 2
  17. Act PV 2
  18. VG Size 1.97 GiB
  19. PE Size 16.00 MiB
  20. Total PE 126
  21. Alloc PE / Size 0 / 0
  22. Free PE / Size 126 / 1.97 GiB
  23. VG UUID SAcFuq-3jec-OiB4-YW5X-Zl3k-PdpI-Nqy05f
  24. [root@localhost ~]#
最后是格式化lvm,并挂载

点击(此处)折叠或打开

  1. [root@localhost ~]# mkfs.xfs /dev/libo/X
  2. [root@localhost ~]# mount /dev/libo/X /lvm
  3. [root@localhost ~]# df -h
  4. Filesystem Size Used Avail Use% Mounted on
  5. /dev/mapper/rhel-root 20G 3.7G 17G 19% /
  6. devtmpfs 898M 0 898M 0% /dev
  7. tmpfs 913M 84K 913M 1% /dev/shm
  8. tmpfs 913M 9.1M 904M 1% /run
  9. tmpfs 913M 0 913M 0% /sys/fs/cgroup
  10. /dev/sda3 1014M 33M 982M 4% /163
  11. /dev/sr0 3.8G 3.8G 0 100% /mnt
  12. /dev/md5 2.0G 33M 2.0G 2% /md5
  13. /dev/sda1 797M 165M 633M 21% /boot
  14. tmpfs 183M 16K 183M 1% /run/user/42
  15. tmpfs 183M 0 183M 0% /run/user/0
  16. /dev/mapper/libo-X 1.5G 33M 1.5G 3% /lvm
  17. [root@localhost ~]#


LVM 是一个非常不错系统空间管理工具,灵活方便。下面接着深入了解LVM的扩容和删除等操作


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27039319/viewspace-2088513/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27039319/viewspace-2088513/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值