lvm
定义:
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:”development”和”sales”,而不是使用物理磁盘名”sda”和”sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
lvm术语:
*物理存储介质(PhysicalStorageMedia)
指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
*物理卷(Physical Volume,PV)
指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
*卷组(Volume Group,VG)
类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
*逻辑卷(Logical Volume,LV)
类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
*物理块(Physical Extent,PE)
每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
*逻辑块(Logical Extent,LE)
逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
创建逻辑卷 pv-vg-lv
操作:
1 创建3个分区,将这三个分区变成物理卷
2 然后在创建卷组
3 从卷组中拿出空间成立逻辑卷
1
.root@desktop4 ~]# pvcreate /dev/vdb{3,5,6}
pvs 查看物理卷
已经创建好物理卷!
2
.
[root@desktop4 ~]# vgcreate vg0 /dev/vdb{3,5,6}
[root@desktop4 ~]# vgs 查看卷组
VG #PV #LV #SN Attr VSize VFree
vg0 3 0 0 wz--n- 4.99g 4.99g
3.
[root@desktop4 ~]# lvcreate -n lv0 -L 1.5G vg0
指定名字 指定大小 来源
Logical volume "lv0" created
[root@desktop4 ~]# lvs 查看逻辑卷
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv0 vg0 -wi-a----- 1.50g
以下三个文件其实是一个东西:
[root@desktop4 ~]# ll /dev/vg0/lv0
lrwxrwxrwx. 1 root root 7 Nov 5 08:49 /dev/vg0/lv0 -> ../dm-1
[root@desktop4 ~]# ll /dev/mapper/vg0-lv0
lrwxrwxrwx. 1 root root 7 Nov 5 08:49 /dev/mapper/vg0-lv0 -> ../dm-1
[root@desktop4 ~]# ll /dev/dm-1
brw-rw----. 1 root disk 252, 1 Nov 5 08:49 /dev/dm-1
逻辑卷要格式化才可以挂载
mkfs.ext4 /dev/mapper/vg0-lv0 将逻辑卷格式化
blkid 可以看一下是否成功格式化
mkdir /lv/
mount /dev/mapper/vg0-lv0 /lv/ 挂载到/lv/
可以看到/dev/mapper/vg0-lv0挂载在/lv/
逻辑卷的拉伸与缩减
注意:
逻辑卷时可以扩展和缩小的,载扩展和缩小之前, 都要先取消挂载
ext格式 可以拉伸和缩减
xfs格式 只可以拉神,不能缩减
如何实现拉伸缩减?
拉伸的时候先拉伸设备,再拉伸文件系统
缩减的时候应该先缩减文件系统,载缩减设备
具体操作
:
拉伸:lvextend 在前 resize2fs在后
原来逻辑卷 /dev/vg0/lv0大小是1.5G
1)
[root@desktop4 ~]# lvextend -L 2G /dev/vg0/lv0
Extending logical volume lv0 to 2.00 GiB
Logical volume lv0 successfully resized
[root@desktop4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv0 vg0 -wi-ao---- 2.00g
设备已经拉伸,df -h 查看还是1.5G
此时再拉伸文件系统
[root@desktop4 ~]# resize2fs /dev/mapper/vg0-lv0
df -h 查看是2G!
代表拉伸成功!
缩减: resize2fs在前 lvextend 在后
将/dev/vg0/lv0缩减到1000M
umount /lv/ 取消挂载
[root@desktop4 ~]# e2fsck -f /dev/vg0/lv0
[root@desktop4 ~]# resize2fs /dev/vg0/lv0 1000M
[root@desktop4 ~]# lvreduce -L 1000M /dev/vg0/lv0
lvs 查看
缩减文件系统resize2fs:
缩减逻辑卷lvreduce:
lvs查看是否成功:
成功缩减到1000M!
以上说的是ext格式,还有一中常见格式是xfs格式
拉伸具体操作:
如何删除逻辑卷 lv-vg-pv
1删除逻辑卷
.[root@desktop4 ~]# lvremove /dev/vg0/lv0
Do you really want to remove active logical volume lv0? [y/n]: y
Logical volume "lv0" successfully removed
lvs 查看
2.删除卷组
[root@desktop4 ~]# vgremove vg0
Volume group "vg0" successfully removed
vgs 查看
3.删除磁盘
[root@desktop4 ~]# pvremove /dev/vdb{3,5,6}
Labels on physical volume "/dev/vdb3" successfully wiped
Labels on physical volume "/dev/vdb5" successfully wiped
Labels on physical volume "/dev/vdb6" successfully wiped
pvs 查看