CentOS LVM管理,详细安装流程解析
CentOS LVM管理之安装流程详解,LVM(逻辑卷管理)为CentOS提供灵活磁盘空间管理,掌握其安装流程,可高效配置存储,满足系统扩展需求,提升数据管理能力。
CentOS LVM管理实战:从入门到精通的保姆级教程
最近公司新上了几台服务器,系统清一色都是CentOS,硬盘分区这块儿用的是LVM(逻辑卷管理器),说实话,刚开始接触的时候我也是一头雾水,什么PV、VG、LV的,听着就头大,不过经过这段时间的摸索,总算是搞明白了其中的门道,今天就跟大家好好唠唠CentOS下的LVM管理,保证让你看完之后也能轻松上手。
LVM到底是个啥?
咱们先来说说LVM是个啥玩意儿,LVM就是Linux系统下的一种磁盘分区管理工具,跟传统的分区方式比起来,它要灵活得多,传统的分区方式,一旦分区定下来,大小就改不了了,但LVM不一样,它可以动态地调整分区大小,就像给气球打气一样,想大就大,想小就小。

LVM主要由三个部分组成:PV(物理卷)、VG(卷组)和LV(逻辑卷),PV就是咱们实际的硬盘或者硬盘分区;VG呢,就是把一个或者多个PV组合在一起,形成一个大的存储池;LV则是从VG里划分出来的逻辑分区,咱们可以在LV上创建文件系统,挂载使用。
LVM安装与配置
安装LVM工具
在CentOS上,LVM工具一般都是默认安装的,万一你的系统没有安装,也不用担心,用下面的命令就能轻松搞定:
sudo yum install lvm2
创建PV
安装好LVM工具之后,咱们就可以开始创建PV了,假设咱们有一块新的硬盘/dev/sdb
,要把它变成PV,只需要执行下面的命令:
sudo pvcreate /dev/sdb
执行完这个命令之后,你可以用pvs
命令来查看PV的信息,
sudo pvs
输出可能会是这样的:

PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 --- 100.00g 100.00g
这就说明/dev/sdb
已经成功变成PV了,而且大小是100G,目前还没有被使用。
创建VG
有了PV之后,咱们就可以创建VG了,假设咱们要把/dev/sdb
这个PV加入到myvg
这个VG里,执行下面的命令:
sudo vgcreate myvg /dev/sdb
创建好之后,用vgs
命令来查看VG的信息:
sudo vgs
输出可能会是这样的:
VG #PV #LV #SN Attr VSize VFree
myvg 1 0 0 wz--n- 100.00g 100.00g
这就说明myvg
这个VG已经成功创建了,而且大小是100G,目前还没有创建LV。
创建LV
咱们就可以在VG里创建LV了,假设咱们要从myvg
这个VG里划分出50G的空间来创建一个名为mylv
的LV,执行下面的命令:
sudo lvcreate -L 50G -n mylv myvg
创建好之后,用lvs
命令来查看LV的信息:
sudo lvs
输出可能会是这样的:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg -wi-a----- 50.00g
这就说明mylv
这个LV已经成功创建了,大小是50G。
格式化LV并挂载
LV创建好之后,咱们还需要对它进行格式化,然后才能挂载使用,假设咱们要把mylv
格式化成ext4文件系统,执行下面的命令:
sudo mkfs.ext4 /dev/myvg/mylv
格式化好之后,咱们就可以创建挂载点,然后把LV挂载上去了,咱们创建一个名为/mnt/mylv
的挂载点,然后执行下面的命令:
sudo mkdir /mnt/mylv sudo mount /dev/myvg/mylv /mnt/mylv
挂载好之后,你就可以像使用普通分区一样使用/mnt/mylv
这个目录了。
LVM动态调整分区大小
LVM最厉害的地方就是可以动态地调整分区大小,咱们来看看具体是怎么操作的。
扩展LV大小
假设咱们之前创建的mylv
只有50G,现在不够用了,咱们想把它扩展到80G,咱们得看看VG里还有多少空闲空间:
sudo vgs
输出可能会是这样的:
VG #PV #LV #SN Attr VSize VFree
myvg 1 1 0 wz--n- 100.00g 50.00g
从输出可以看出,VG里还有50G的空闲空间,足够咱们把mylv
扩展到80G了,执行下面的命令来扩展LV大小:
sudo lvextend -L 80G /dev/myvg/mylv
扩展好之后,咱们还需要调整文件系统的大小,让它能够使用新增的空间,对于ext4文件系统,执行下面的命令:
sudo resize2fs /dev/myvg/mylv
调整好之后,你就可以用df -h
命令来查看/mnt/mylv
的大小了,应该已经变成80G了。
缩小LV大小
缩小LV大小的操作稍微复杂一些,因为咱们得先确保文件系统里的数据不会被损坏,假设咱们想把mylv
从80G缩小到60G,咱们得卸载LV:
sudo umount /mnt/mylv
咱们得检查文件系统,确保没有错误:
sudo e2fsck -f /dev/myvg/mylv
检查好之后,咱们就可以调整文件系统的大小了:
sudo resize2fs /dev/myvg/mylv 60G
调整好文件系统大小之后,咱们就可以缩小LV的大小了:
sudo lvreduce -L 60G /dev/myvg/mylv
缩小好之后,咱们再重新挂载LV:
sudo mount /dev/myvg/mylv /mnt/mylv
这时候,你再用df -h
命令来查看/mnt/mylv
的大小,应该已经变成60G了。
LVM快照功能
LVM还有一个非常实用的功能,就是快照,快照可以记录LV在某一时刻的状态,就像给LV拍了一张照片一样,如果咱们不小心把LV里的数据弄丢了,或者想恢复到之前的某个状态,就可以用快照来恢复。
创建快照
假设咱们想给mylv
创建一个名为mylv_snap
的快照,大小是10G,执行下面的命令:
sudo lvcreate -L 10G -s -n mylv_snap /dev/myvg/mylv
创建好之后,用lvs
命令来查看快照的信息:
sudo lvs
输出可能会是这样的:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv myvg owi-a----- 60.00g
mylv_snap myvg swi-a----- 10.00g mylv 0.00
从输出可以看出,mylv_snap
这个快照已经成功创建了,大小是10G,而且目前还没有使用任何空间。
恢复快照
如果咱们想恢复到mylv_snap
这个快照的状态,首先得卸载mylv
:
sudo umount /mnt/mylv
咱们用快照来恢复mylv
:
sudo lvconvert --merge /dev/myvg/mylv_snap
恢复好之后,咱们再重新挂载mylv
:
sudo mount /dev/myvg/mylv /mnt/mylv
这时候,mylv
里的数据就已经恢复到快照时的状态了。
常见问题及解决方案
在使用LVM的过程中,咱们可能会遇到一些常见问题,创建LV的时候提示空间不足,这可能是因为VG里的空闲空间不够了,咱们得添加新的PV到VG里,再比如,调整文件系统大小的时候提示错误,这可能是因为文件系统里有错误,咱们得先检查并修复文件系统。
有时候咱们可能会不小心删除了PV、VG或者LV,这时候不要着急,LVM提供了一些恢复工具,比如pvscan
、vgscan
和lvscan
,可以帮助咱们找回丢失的PV、VG和LV。
LVM是CentOS下一个非常强大的磁盘分区管理工具,它让咱们可以更加灵活地管理磁盘空间,通过