LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样能减少操作成本.
LVM和直接使用物理存储相比,有以下好处:
1. 灵活的容量.
当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷.
2.可伸缩的存储池.
你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.
3.在线的数据再分配.
你能在线移动数据,数据能在磁盘在线的情况下重新分配.比如,你能在线更换可热插拔的磁盘.
4. 方便的设备命名
逻辑卷能按你觉得方便的方式来起所有名称.
5.磁盘条块化.
你能生成一个逻辑盘,他的数据能被条块化存储在2个或更多的磁盘上.这样能明显提升数据吞吐量.
6.映像卷
逻辑卷提供方便的方法来映像你的数据.
7.卷快照
使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据.
LVM基本术语
* 物理存储介质(The Physical Media)
这里指系统的存储设备,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
* 物理卷(PV, Physical Volume)
物 理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等) 比较,却包含有和LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0至2份元数据拷贝.默认为1,保存在设备的开始处.为2时,在 设备结束处保存第二份备份.
* 卷组(VG, Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
* 逻辑卷(LV, Logical Volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
*线性逻辑卷 (Linear Volumes)
一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你能生成120GB的逻辑卷.
*条块化的逻辑卷(Striped Logical Volumes)
当你写数据到此逻辑卷中时,文件系统能将数据放置到多个物理卷中.对于大量连接读写操作,他能改善数据I/O效率.
*映像的逻辑卷(Mirrored Logical Volumes)
映像在不同的设备上保存一致的数据.数据同时被写入原设备及映像设备.他提供设备之间的容错。
*快照卷(Snapshot Volumes)
快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,他复制一份对当前数据区域的改动,由于他优先执行这些改动,所以他能重构当前设备的状态。
* PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小是可设置的,默认为4MB。
* LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
基本结构如图
建立LVM分区指令与磁盘分区类似
fdisk -l 划分物理分区并把分区id修改为8e即可
pvs或pvdisplay 查看物理卷
vgs或vgdisplay 查看物理卷组
lvs或lvdisplay 查看逻辑卷
pvcreate /dev/vdb1 创建PV
vgcreate weixingroup /dev/vdb1 创建VG
lvcreate -L 100M -n weixindata weixingroup创建逻辑卷
mkfs.xfs /dev/westos/lv0 格式化后才能使用
格式化xfs不支持缩减,ext4可增可减
mount /dev/weixingroup/weixindata /weixindata/
即可使用
xfs格式逻辑卷扩容
lvextend -L 80M /dev/weixingroup/weixindata 逻辑卷拉伸(-L扩容到80M)
xfs_growfs /dev/weixingroup/weixindata 扩容weixindata
卷组扩容
pvcreate /dev/vdb3
vgextend weixingroup /dev/vdb3
lvextend -L 600M /dev/weixingroup/weixindata
ext4格式扩容
umount /mnt/
mkfs.ext4 /dev/weixingroup/weixindata
mount /dev/weixingroup/weixindata /weixindata/
lvextend -L 160M /dev/weixingroup/weixindata
resize2fs /dev/weixingroup/weixindata
缩减
umount /weixindata/
e2fsck -f /dev/weixingroup/weixindata 扫描数据,防止过度压缩损坏数据
resize2fs /dev/weixingroup/weixindata 60M 缩减至指定大小
mount /dev/weixingroup/weixindata /weixindata/
lvreduce -L 60M /dev/weixingroup/weixindata 设备缩小
pvmove /dev/vdb2 /dev/vdb3 数据转移
vgreduce weixingroup /dev/vdb2
pvremove /dev/vdb2 缩减设备
LVM快照
与虚拟机快照类似
lvcreate -L 10M -n weixindata_backup1 -s /dev/weixingroup/weixindata
mount /dev/weixingroup/weixindata_backup1 /weixindata/
lvremove /dev/weixingroup/weixindata_backup删除快照
LVM删除顺序:
lvremove /dev/weixingroup/weixindata 删除逻辑卷
vgremove weixingroup 删除卷组
pvremove /dev/vdb3 删除物理卷
fdisk /dev/vdb 删除分区
同步分区表partprobe
写在最后,如果大家喜欢linux运维方面的知识,欢迎关注本博主,会每周更新与linux运维相关的一些小知识,帮助大家入门
愿你与我一同成长!
往期:
https://blog.csdn.net/Stella_Pooter/article/details/83823175 Linux运维入门~21.系统磁盘管理
Never say die