本篇文章为大家展示了如何理解LVM基本特性及日常管理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
LVM基本特性:(可以通过插件CLVM,实现群集逻辑卷管理)
PV物理卷
LV逻辑卷(逻辑卷管理:会在物理存储上生成抽象层,以便创建逻辑存储卷,方便设备命名)(下面是逻辑卷的分类)Linear线性卷(这是默认的lvm形式,即按顺序占用磁盘,一块写完了再写另一块)Stripe条带逻辑卷RAIDraid逻辑卷Mirror镜像卷Thinly-Provision精简配置逻辑卷Snapshot快照卷Thinly-Provisioned Snapshot精简配置快照卷Cache缓存卷创建PV时(一同被创建的有)1:接近设备起始处,放置一个标签,包括uuid,元数据的位置 #(这个标签每个磁盘默认都保持一份)2:lvm元数据,包含lvm卷组的配置详情3:剩余空间,用于存储数据
lvm逻辑卷概念 及 创建lvm的步骤
#LVM的组成PE:(物理拓展,是VG卷组的基本组成单位)PV:(物理卷)VG:(卷组)LV:(逻辑卷)#创建lvm的步骤1:将磁盘创建为PV(物理卷),其实物理磁盘被条带化为PV,划成了一个一个的PE,默认每个PE大小是4MB2:创建VG(卷组),其实它是一个空间池,不同PV加入同一VG3:创建LV(逻辑卷),组成LV的PE可能来自不同的物理磁盘4:格式化LV,挂载使用
lvm相关命令工具
pv操作命令pvchange更改物理卷的属性pvck检查物理卷元数据pvcreate初始化磁盘或分区以供lvm使用pvdisplay显示物理卷的属性pvmove移动物理Exentpvremove删除物理卷pvresize调整lvm2使用的磁盘或分区的大小pvs报告有关物理卷的信息pvscan扫描物理卷的所有磁盘vg操作命令vgcfgbackup备份卷组描述符区域vgcfgrestore恢复卷组描述符区域vgchange更改卷组的属性vgck检查卷组元数据vgconvert转换卷组元数据格式vgcreate创建卷组vgdisplay显示卷组的属性vgexport使卷组对系统不了解(这是个什么)vgextend将物理卷添加到卷组vgimportclone导入并重命名重复的卷组(例如硬件快照)vgmerge合并两个卷组vgmknodes重新创建卷组目录和逻辑卷特殊文件vgreduce通过删除一个或多个物理卷来减少卷组(将物理卷踢出VG)vgremove删除卷组vgrename重命名卷组vgs报告有关卷组信息vgscan扫描卷组的所有磁盘并重建高速缓存vgsplit将卷组拆分为两个,通过移动整个物理卷将任何逻辑卷从一个卷组移动到另一个卷组lv操作命令lvchange更改逻辑卷属性lvconvert将逻辑卷从线性转换为镜像或快照lvcreate将现有卷组中创建逻辑卷lvdisplay显示逻辑卷的属性lvextend扩展逻辑卷的大小lvmconfig在加载lvm.conf和任何其他配置文件后显示配置信息lvmdiskscan扫描lvm2可见的所有设备lvmdump创建lvm2信息转储以用于诊断目的lvreduce减少逻辑卷的大小lvremove删除逻辑卷lvrename重命名逻辑卷lvresize调整逻辑卷大小lvs报告有关逻辑卷的信息lvscan扫描所有的逻辑卷
PV管理
制作PVpvcreate /dev/sdb1删除pv撤销PV(需先踢出vg)pvremove /dev/sdb1
VG管理
制作VGvgcreate datavg /dev/sdb1vgcreate datavg /dev/sdb1 /dev/sdb2#解释:vgcreate vg名 分区vgcreate -s 16M datavg2 /dev/sdb3#解释:-s 指定pe的大小为16M,默认不指定是4M从卷组中移除缺失的磁盘vgreduce --removemissing datavg vgreduce --removemissing datavg --force#强制移除扩展VG空间vgextend datavg /dev/sdb3pvs踢出vg中的某个成员vgreduce datavg /dev/sdb3vgs
LV管理
制作LVlvcreate -n lvdata1 -L 1.5G datavg#解释:-n lv的name,-L 指定lv的大小,datavg 是vg的名字,表示从那个vg激活修复后的逻辑卷lvchange -ay /dev/datavg/lvdata1lvchange -ay /dev/datavg/lvdata1 -K#强制激活
LVM的快照
用途:注意用途是数据一致性备份,先做一个快照,冻结当前系统,这样快照里面的内容可暂时保持不变,系统本身继续运行,通过重新挂载备份快照卷,实现不中断服务备份。
lvcreate -s -n kuaizhao01 -L 100M /dev/datavg/lvdata1
查看,删除使用方法
1:查看物理卷信息pvs,pvdisplay2:查看卷组信息vgs,vgdisplay3:查看逻辑卷信息lvs,lvdisplay4:删除LVlvremove /dev/mapper/VG-mylv 5:删除VGvgremove VG6:删除PV(注意删除顺序是LV,VG,PV)pvremove /dev/sdb
vg卷组改名
vgrename xxxx-vgid-xxxx-xxxx xinname
拉伸一个逻辑卷LV
1:用vgdisplay查看vg还有多少空余空间2:扩充逻辑卷lvextend -L +1G /dev/VG/LV01lvextend -L +1G /dev/VG/LV01 -r #这个命令表示在扩展的同时也更新文件系统,但是不是所有的发行版本都支持,部分文件系统不支持在线扩展的除外3:进行扩充操作后,df -h你会发现大小并没有变4:更新文件系统(争对不同的文件系统,其更新的命令也不一样)e2fsck -f /dev/datavg/lvdata1#ext4文件系统,检查lv的文件系统resize2fs /dev/VG/LV01#ext4文件系统命令,该命令后面接lv的设备名就行xfs_growfs /nas#xfs文件系统,该命令后面直接跟的是挂载点当更新文件系统后,你就会发现,df -h正常了
缩小逻辑卷LV(必须离线,umount)
1:卸载2:缩小文件系统resize2fs /dev/VG/LV01 2G3:缩小LVlvreduce -L -1G /dev/VG/LV014:查看lvs,挂载使用
拉伸一个卷组VG
1:新插入一块硬盘,若不是热插拔的磁盘,可以试试这个在系统上强制刷新硬盘接口for i in /sys/class/scsi_host/*; do echo "- - -" > $i/scan; done2:将/dev/sdd条带化,格式化为PEpvcreate /dev/sdd3:将一块新的PV加入到现有的VG中vgextend VG /dev/sdd4:查看大小vgs
缩小卷组VG(注意不要有PE在占用)
1:将一个PV从指定卷中移除vgreduce VG /dev/sdd2:查看缩小后的卷组大小
将磁盘加入和踢出VG
将sdd1踢出datavg组里vgreduce datavg /dev/sdd1将sdb1加入datavg组里vgextend datavg /dev/sdb1
lvm灾难恢复场景案例
#场景再现:三块盘做lvm,现在有一块物理坏了,将剩下两块放到其他linux服务器上#恢复步骤第一,查看磁盘信息,lvm信息,确认能查到lvm相关信息,找到VG组的名字(pvs,lvs,vgs,fidsk,blkid)第二:删除lvm信息中损坏的磁盘角色,(强制提出故障磁盘)"vgreduce --removemissing VG_name "第三:强制激活VG组 "vgchange -ay"第四:强制激活LVM "lvchange -ay /dev/VG_name"第五:挂载
上述内容就是如何理解LVM基本特性及日常管理,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。