3分钟看懂linux磁盘划分

哎哟,跟你唠唠我之前整Linux盘分区的坑。
那年头,公司那台服务器突然卡得不行,一查,根分区快满了,就3 0G了,可还有块1 6 0G的盘闲着呢。
想扩容,又不能重启,不然用户都炸锅了。

我当时就懵了,赶紧查资料,发现LVM这玩意儿正好能搞。
记得是真急,手忙脚乱的。

先说那1 6 0G盘,得先变成LVM能认识的类型。
用fdisk /dev/sdb进去,新建个分区,分区类型选成8 e,就是LVM专用那种。
这一步要小心,选错了还得重来,我当年就因为选了个别的类型,搞了半天才发现,差点没把键盘砸了。

分好区,变成物理卷(PV)了,用pvcreate /dev/sdb1 命令。
然后看下物理卷是不是真的建好了,用pvdisplay瞅瞅,看到active状态就对了。

下一步是扩卷组(VG)。
服务器上原来有个卷组叫centos,我就把新加的物理卷加进去,vgextend centos /dev/sdb1 加完再用vgdisplay看看,发现卷组的总容量一下子就变大了,从原来的多少变成了1 8 5 G,心里才踏实点。

然后是扩逻辑卷(LV)。
把卷组里剩下的所有空间都给逻辑卷,lvextend -l +1 00%FREE /dev/mapper/centos-root。
这一步也挺关键,加多了系统跑慢,加少了又不够用。
我那次就加得正好。

扩完逻辑卷,还得扩文件系统。
服务器用的是XFS,我就用xfs_growfs /dev/mapper/centos-root。
这一步不能停,系统会同步扩容。
看着进度条慢慢走,真煎熬。

最后用df -h看看根分区,显示是1 8 5 G了,扩容成功!那一刻,感觉自己就是救火英雄。

不过,这过程中也有不少坑。
比如分区类型必须选对,选错了PV就加不进VG,我当年就因为这个踩坑了。
还有文件系统兼容性,XFS只能扩不能缩,Ext4 就行。
最最重要的是,操作前一定要备份!我有个同事,就因为没备份,扩容时系统蓝屏了,数据全没了,那家伙,第二天全公司都在找他算账。

总的来说,LVM确实方便,不用重启就能扩容,特别适合服务器。
不过,每一步都得走对,走错一步,哭都来不及。
这块我踩过坑,你可得留心。

如何扩展Linux逻辑卷 LVM扩容实战步骤详解

说白了,扩容LVM逻辑卷就像给电脑内存加餐,关键是要按步骤来,顺序不能乱。

先说最重要的,扩容前一定要摸清家底。
用pvdisplay看看物理卷还剩多少地,比如去年我们跑的那个项目,发现一块1 T的旧盘还有6 00G没动。
再看vgdisplay,如果卷组vg00的VGFreePE/Size是0,那说明地分完了,得先扩卷组。
比如有个客户用vgextend vg00 /dev/sdb1 加了块新盘,结果忘了用pvcreate把盘变成LVM的地,直接扩组就报错了,说实话挺坑的。

另外一点,扩逻辑卷时别忘加-r参数。
去年我们扩lv_root时加了1 0G,用lvresize -r -L +1 0G /dev/vg00/lv_root,然后顺手用resize2 fs手动调整了一下ext4 系统,后来发现不对,因为有些旧系统resize2 fs会卡死,必须先用e2 fsck检查一遍。
还有个细节挺关键的,如果你用的是xfs,直接用xfs_growfs就行,但这个命令对文件系统大小有限制,比如不能小于1 M。

我一开始也以为扩完就完事了,结果有个项目用lvresize加了5 G,但文件系统没跟着变,结果系统挂了。
等等,还有个事,如果你加的盘是GPT分区,pvcreate命令可能要加--metadatasize参数,比如pvcreate --metadatasize 1 2 8 M /dev/sdc,否则可能会报"metasize is too small"的错误。

建议实战时先在虚拟机里练练手,特别是加新盘那步,跑几次再上生产环境。
你觉得呢?

linux lvm缩容为何会失败

这LVM缩容真是个头疼事儿,我前年帮隔壁公司搞过一次,差点把数据全弄没。
你这总结得挺全乎,我就按我那会儿踩的坑,跟你唠唠:
先说那卷组空间不足。
那年夏天,我给他们缩一个1 0T的逻辑卷,结果缩到一半,提示空间不够。
你想想,LVM缩容是得有地方放临时数据的,它自己内部还要搞点元数据啥的。
我当时一看,嚯,卷组里就剩1 T可用空间了。
咋办?赶紧加个物理卷,扩了3 T,这才把缩容给搞定了。
所以啊,缩之前,vgdisplay 看看余量,不够就得先扩容。

还有一次,逻辑卷已挂载坑了我。
一个系统半夜报警,说缩容失败。
我远程一看,好家伙,那个逻辑卷还挂着呢!Linux这保护机制真逗,一挂载,你缩它干啥,肯定失败啊。
我赶紧umount,卸载了,然后半夜折腾了俩小时才缩好。
所以,缩之前,mount | grep /dev/ 看看有没有挂载的,有的话必须先卸载。

文件系统损坏我也碰到过。
有个盘用了好几年,突然缩容就报文件系统不一致。
我直接用fsck -y /dev/mapper/vg-lv 干了一遍,花了快一个小时,最后缩成功了。
不过这事儿得小心,万一fsck搞坏了,那数据就没了。
所以,缩前备份是必须的!
还有权限问题,这老掉牙了。
我见过运维小弟用普通用户去缩,结果提示权限不够。
Linux这东西,权限就是天,必须sudo 或者su
切换到root才行。
别想着找什么特殊命令,直接sudo lvreduce 就完事了。

哦对了,系统资源不足也踩过坑。
一次缩一个5 T的逻辑卷,结果系统卡得像屎一样,CPU1 00%,内存爆表。
我赶紧杀掉几个不用的进程,才把缩容弄完。
所以,缩之前,free -h top 看看资源够不够,不够就先释放点。

最后,我那会儿总结了一套经验,就是分步来。
先缩小文件系统,比如用resize2 fs 缩小一下,看看没问题了,再缩逻辑卷。
或者用lvreduce --test 先模拟一下,不出错再正式执行。
还有,缩完之后,查看系统日志,比如journalctl -xe,看看有没有啥提示。
要是真搞不懂,还是得请教老手。

总之啊,LVM缩容这事儿,得细心,得备份数据,一步步来,千万别急。
你记住了这些点,基本就错不了。