快速命令:
1.删除/home 将其空间分给/
umount /home
vi /etc/fstab
lvremove /dev/centos/home
vgs
lvextend -L +9.31G /dev/centos/root
xfs_growfs /dev/centos/root
df -h
2.添加一块硬盘,扩展给/
lsblk
pvcreate /dev/sdb
pvs
vgs
vgextend centos /dev/sdb
lvextend /dev/centos/root /dev/sdb
xfs_growfs /dev/centos/root
df -hT
3、虚拟机增加硬盘容量给/分区
pve上面虚拟机关机,硬件的硬盘+10G,然后开机,进去此时看到lsblk下sda增加了10G
lsblk fdisk /dev/sda
删除2分区,新建2分区,此时lsblk可以看到sda2分区变大了10G
刷新分区表,扩大pv
partprobe pvresize /dev/sda2
此时pvs增加了10G,vgs看到VG也增加了10G
lvextend -L +10G /dev/mapper/centos-root
可以看到lv也增加了10G
xfs_growfs /dev/mapper/centos-root
成功后df -h 看到/分区也增加了10G
据说用下面这条命令可以在扩大LV的时候同时格式化,还没试过,先记录下来
lvextend -rL 10G /dev/mapper/centos-root
事情起因是笔者在测试虚拟机的磁盘性能时根分区被写满,由于上篇讲到用dd命令可以测试磁盘读写速度,因此笔者周末放假在家对虚拟机进行测试,结果发生了意外。本篇要讲的就是如何解决这个意外。
笔者用的命令就是time dd if=/dev/zero of=test bs=1M count=4096 这条命令,同时发现了另外一个问题,那就是这条命令会占用磁盘空间,测试完后根分区的可用空间会缩小,当然这是笔者解决了意外之后专门再次做的测试,现在把它放到文章开头来讲,好了废话不多说,上图:
开始前的磁盘容量
接着开始dd操作
dd之后磁盘的容量,少了1.4G
试图删除,恢复磁盘容量
失败,磁盘容量并未恢复
看来磁盘性能测试用dd命令,会占用不小的磁盘空间。当然产生的文件是可以删除的,然后磁盘空间会得到释放。
现在正式开始分享根分区容量调整的过程
发现磁盘容量不足
lsblk
lvs
好了,磁盘情况已经知道了,根分区只有8.2G,/home反而有9.3G,那就把/home的容量给根分区使用,这种方法适用于只有一块硬盘的情况。接下来的思路就是先卸载/home这个挂载点,然后删除这个名称为home的LV,然后将删除后空余出来的VG容量挂载给根分区,最后还要删除/etc/fstab里的home挂载,以免下次重启开不了机。
当然什么是LVM,参考红帽认证rhcsa逻辑卷管理。
当然操作之前我还是百度了的,但是百度来的都是坑,只能看我自己的红帽教程才解决。以下是百度坑
resize2fs -p /dev/mapper/VolGroup-lv_home 20G
磁盘满了tab键用不了,重启机器之后可以用了
继续参照百度出来的文章坑操作
好了,放弃。开始我自己的红帽教材方法
卸载
umount /home
删除
lvremove /dev/mapper/centos-home
查看lv和vg
lvs
vgs
明显看到VG有了9.31GB的空余,那么把它扩容到root,这个root就是根分区的LV名称,扩给它就是扩给了根分区
lvextend -L +9.31G /dev/centos/root
可以看到LV root的容量变成了17.51GB,表示扩容成功。接下来扩容的最后一步
xfs_growfs /dev/centos/root
还有一步别忘了,既然你删除了/home挂载点,就要去/etc/fatab下面删除开机挂载,否则有可能开不了机(我还没试过,有兴趣的可以做好快照了试试)
vi /etc/fstab
上面说了,根分区满了,只有一块硬盘我们把/home删掉扩展给根分区,那么假如我再添加一块新的硬盘用来扩展根分区该怎么操作呢?
那思路是这样的,一般是lsblk命令查看有几块硬盘,硬盘的名称一般是第一块sda,第二块sdb,第三块sdc。云服务器是vda,vdb,vdc来命名的。那就把sdb第二块硬盘分区,然后创建成一个PV,然后对原来的VG进行扩容,然后挂载,挂载当然是写进/etc/fstab。
好了,思路有了,开始操作
看到第二块硬盘有10G。那么用fdisk进行分区,一路回车,最后按w保存退出。再次lsblk发现多了个sdb1分区
接着创建PV
pvcreate /dev/sdb1
有警告出现是因为我之前多此一举对它进行了xfs格式化,创建PV的时候让我确认是否删除,当然要删除
PV创建好了,接下来开始扩容VG
vgextend centos /dev/sdb1
可以看到有了10G的空余,继续扩容LV
lvextend /dev/centos/root /dev/sdb1
LV扩容第二步
xfs_growfs /dev/mapper/centos-root
可以看到根分区成功扩容到了28G,下面的图是之前的根分区
经过对比,刚好把第二块磁盘的10G容量扩容到了根分区,操作成功!!!
发表评论