最近,使用群晖的virtual manager manager创建的linux虚拟机空间不足,需要扩容,本来以为关机下,在编辑界面将硬盘空间加点就可以了,没想到没这么简单
出现的问题
编辑界面硬盘空间增加至50G后,linux系统内并未识别,/dev/sda1区还是30G
解决方法
以下操作有风险,建议拍个快照再来操作
1,删除其它区
root@john:~# fdisk -l
Disk /dev/sda: 30 GiB, 32212254720 bytes, 62914560 sectors
Disk model: Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xca151631
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 60913663 60911616 29G 83 Linux
/dev/sda2 60915710 62912511 1996802 975M 5 Extended
/dev/sda5 60915712 62912511 1996800 975M 82 Linux swap / Solaris
可以看到除了主分区(/dev/sda1),还有扩展分区(/dev/sda2)及扩展分区下的swap区(/dev/sda5)
需要删除/dev/sda2及/dev/sda5,才能对主分区进行扩容:
使用cfdisk进行分区删除,保存结果记得"write"
禁用swap
由于上面删除的分区是swap功能,还需要禁用swap
编辑/etc/fstab,注释掉此行
# swap was on /dev/sda5 during installation
#UUID=1969daf3-fbdb-4157-88e3-eca53ff74148 none swap sw `
执行扩容命令
重启后执行以下命令
growpart /dev/sda 1
resize2fs /dev/sda1
重启,搞定
root@john:~# fdisk -l
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: Storage
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xca151631
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 104857566 104855519 50G 83 Linux
注意
- 上面教程会删除扩展分区及swap分区,并禁用swap,你也可以想办法恢复
- 如果你的系统分区比较复杂,请谨慎操作!