我真的需要一些帮助,弄清楚如何安全地扩展我的 Linux 服务器虚拟机上的根分区。我已经为虚拟机的虚拟磁盘添加了 50GB 的额外空间,并且可以使用 fdisk 查看它,但我不确定如何在不破坏系统的情况下分配它。
这是我当前的分区布局:
home-srv-01:~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
├─sda1 8:1 0 8M 0 part
├─sda2 8:2 0 30.8G 0 part /var
│ /usr/local
│ /tmp
│ /boot/grub2/i386-pc
│ /boot/grub2/x86_64-efi
│ /opt
│ /srv
│ /.snapshots
│ /root
│ /
├─sda3 8:3 0 17.2G 0 part /home
└─sda4 8:4 0 2G 0 part [SWAP]
sr0 11:0 1 15.3G 0 rom
home-srv-01:~ #
home-srv-01:~ # fdisk -l
GPT PMBR size mismatch (104857599 != 209715199) will be corrected by write.
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: VMware Virtual S
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: gpt
Disk identifier: A1C8759F-D45C-4FB4-A365-1402AD4516B3
Device Start End Sectors Size Type
/dev/sda1 2048 18431 16384 8M BIOS boot
/dev/sda2 18432 64600063 64581632 30.8G Linux filesystem
/dev/sda3 64600064 100661247 36061184 17.2G Linux filesystem
/dev/sda4 100661248 104857566 4196319 2G Linux swap
home-srv-01:~ #
目标是将 Btrfs 根分区 (sda2) 扩展到新的可用空间,同时不丢失 /home (sda3 XFS) 上的数据,也不导致系统无法启动。可惜的是,我之前的尝试导致了启动问题,所以现在我得格外小心了。
步骤回顾:
- 备份了
/home
(/dev/sda3
)中的所有数据。 - 启动到实时 CD/USB 环境。
- 将数据从 移动
/home
到外部磁盘。 - 跑去
swapoff /dev/sda4
删了/dev/sda4
。 - 已删除
/dev/sda3
(这会在 旁边创建可用空间/dev/sda2
)。 /dev/sda2
使用时调整了 Btrfs 文件系统的大小btrfs filesystem resize max /
。- 从备份中重新创建
/dev/sda3
并恢复数据。/home
- 重新创建
/dev/sda4
并运行swapon /dev/sda4
。 - 一旦完成,系统将不再启动。
非常感谢您的任何建议或步骤建议。我非常感激您的指导。
六旬老人