一、LVM简介
LVM是Logical Volume Manager(逻辑卷管理 )的简写,最开始是由 Heinz Mauelshagen在Linux 2.4内核上实现。LVM是一个系统硬盘管理工具,它可以多个硬盘的分区在逻辑上集合一个大硬盘使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。LVM并不需要重启就可以让内核知道分区的存在。LVM使用分层结构,如下图所示,可以清晰展示LVM的在磁盘管理的优势。
![](http://img.blog.itpub.net/blog/attachment/201604/26/27039319_14616409752QU5.jpg?x-oss-process=style/bb)
二、LVM相关的概念
物理卷(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格式分区
点击(此处)折叠或打开
- Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors
- Units = sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disk label type: gpt
- # Start End Size Type Name
- 1 2048 2099199 1G Linux filesyste
- 2 2099200 4196351 1G Linux filesyste
- 3 4196352 6293503 1G Linux filesyste
- 4 6293504 8390655 1G Linux filesyste
点击(此处)折叠或打开
- [root@localhost ~]# pvcreate /dev/sdb{1..4}
- WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y
- Wiping xfs signature on /dev/sdb1.
- Physical volume "/dev/sdb1" successfully created
- WARNING: xfs signature detected on /dev/sdb2 at offset 0. Wipe it? [y/n]: y
- Wiping xfs signature on /dev/sdb2.
- Failed to get offset of the xfs_external_log signature on /dev/sdb2.
- 1 existing signature left on the device.
- Aborting pvcreate on /dev/sdb2.
- WARNING: dos signature detected on /dev/sdb3 at offset 510. Wipe it? [y/n]: y
- Wiping dos signature on /dev/sdb3.
- Physical volume "/dev/sdb3" successfully created
- Physical volume "/dev/sdb4" successfully created
点击(此处)折叠或打开
- [root@localhost ~]# pvcreate -f /dev/sdb2
- WARNING: Failed to get offset of the xfs_external_log signature on /dev/sdb2. Wiping skipped.
- Physical volume "/dev/sdb2" successfully created
- [root@localhost ~]#
- [root@localhost ~]# pvs
- PV VG Fmt Attr PSize PFree
- /dev/sda2 rhel lvm2 a-- 22.00g 4.00m
- /dev/sdb1 lvm2 --- 1.00g 1.00g
- /dev/sdb2 lvm2 --- 1.00g 1.00g
- /dev/sdb3 lvm2 --- 1.00g 1.00g
- /dev/sdb4 lvm2 --- 1.00g 1.00g
- [root@localhost ~]#
Vgcreate创建以自己姓名的卷组,我们使用sdb1和sdb2
点击(此处)折叠或打开
- [root@localhost ~]# vgcreate libo /dev/sdb{1,2}
- Volume group "libo" successfully created
- [root@localhost ~]# vgs
- VG #PV #LV #SN Attr VSize VFree
- libo 2 0 0 wz--n- 1.99g 1.99g
- rhel 1 2 0 wz--n- 22.00g 4.00m
- [root@localhost ~]#
点击(此处)折叠或打开
- [root@localhost ~]# lvcreate -n X -L 1.5g libo
- Logical volume "X" created.
- [root@localhost ~]# lvs
- LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
- X libo -wi-a----- 1.50g
- root rhel -wi-ao---- 20.00g
- swap rhel -wi-ao---- 2.00g
- [root@localhost ~]#
点击(此处)折叠或打开
- [root@localhost ~]# pvscan
- PV /dev/sdb1 VG libo lvm2 [1020.00 MiB / 0 free]
- PV /dev/sdb2 VG libo lvm2 [1020.00 MiB / 504.00 MiB free]
- PV /dev/sda2 VG rhel lvm2 [22.00 GiB / 4.00 MiB free]
- PV /dev/sdb3 lvm2 [1.00 GiB]
- PV /dev/sdb4 lvm2 [1.00 GiB]
- Total: 5 [26.00 GiB] / in use: 3 [24.00 GiB] / in no VG: 2 [2.00 GiB]
- [root@localhost ~]# vgscan
- Reading all physical volumes. This may take a while...
- Found volume group "rhel" using metadata type lvm2
- Found volume group "libo" using metadata type lvm2
- [root@localhost ~]# lvscan
- ACTIVE '/dev/rhel/swap' [2.00 GiB] inherit
- ACTIVE '/dev/rhel/root' [20.00 GiB] inherit
- ACTIVE '/dev/libo/X' [1.50 GiB] inherit
- [root@localhost ~]#
点击(此处)折叠或打开
- [root@localhost ~]# vgdisplay libo
- --- Volume group ---
- VG Name libo
- System ID
- Format lvm2
- Metadata Areas 2
- Metadata Sequence No 2
- VG Access read/write
- VG Status resizable
- MAX LV 0
- Cur LV 1
- Open LV 0
- Max PV 0
- Cur PV 2
- Act PV 2
- VG Size 1.99 GiB
- PE Size 4.00 MiB
- Total PE 510
- Alloc PE / Size 384 / 1.50 GiB
- Free PE / Size 126 / 504.00 MiB
- VG UUID 4oyTTF-gXjA-snPu-4nn9-H1PY-LaQ1-StRNtp
- [root@localhost ~]# pvdisplay /dev/sdb1
- --- Physical volume ---
- PV Name /dev/sdb1
- VG Name libo
- PV Size 1.00 GiB / not usable 4.00 MiB
- Allocatable yes (but full)
- PE Size 4.00 MiB
- Total PE 255
- Free PE 0
- Allocated PE 255
- PV UUID SOh1Lm-1WEE-JoGS-hF2j-S4d5-q2Fh-Nmf3sI
- [root@localhost ~]#
点击(此处)折叠或打开
- [root@localhost ~]# vgcreate -s 16M x1 /dev/sdb{3,4}
- Volume group "x1" successfully created
- [root@localhost ~]# vgdisplay x1
- --- Volume group ---
- VG Name x1
- System ID
- Format lvm2
- Metadata Areas 2
- Metadata Sequence No 1
- VG Access read/write
- VG Status resizable
- MAX LV 0
- Cur LV 0
- Open LV 0
- Max PV 0
- Cur PV 2
- Act PV 2
- VG Size 1.97 GiB
- PE Size 16.00 MiB
- Total PE 126
- Alloc PE / Size 0 / 0
- Free PE / Size 126 / 1.97 GiB
- VG UUID SAcFuq-3jec-OiB4-YW5X-Zl3k-PdpI-Nqy05f
- [root@localhost ~]#
点击(此处)折叠或打开
- [root@localhost ~]# mkfs.xfs /dev/libo/X
- [root@localhost ~]# mount /dev/libo/X /lvm
- [root@localhost ~]# df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/mapper/rhel-root 20G 3.7G 17G 19% /
- devtmpfs 898M 0 898M 0% /dev
- tmpfs 913M 84K 913M 1% /dev/shm
- tmpfs 913M 9.1M 904M 1% /run
- tmpfs 913M 0 913M 0% /sys/fs/cgroup
- /dev/sda3 1014M 33M 982M 4% /163
- /dev/sr0 3.8G 3.8G 0 100% /mnt
- /dev/md5 2.0G 33M 2.0G 2% /md5
- /dev/sda1 797M 165M 633M 21% /boot
- tmpfs 183M 16K 183M 1% /run/user/42
- tmpfs 183M 0 183M 0% /run/user/0
- /dev/mapper/libo-X 1.5G 33M 1.5G 3% /lvm
- [root@localhost ~]#
LVM 是一个非常不错系统空间管理工具,灵活方便。下面接着深入了解LVM的扩容和删除等操作
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27039319/viewspace-2088513/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27039319/viewspace-2088513/