我真的需要一些帮助,弄清楚如何安全地扩展我的 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
。 - 一旦完成,系统将不再启动。
非常感谢您的任何建议或步骤建议。我非常感激您的指导。
六旬老人
你想使用
btrfs filesystem resize max /path
。查看手册页中的示例https://btrfs.readthedocs.io/en/latest/btrfs-filesystem.html#examples标准免责声明适用:在采取任何可能造成破坏的行动之前,请进行备份并确保其正常运行。
您甚至无需费力地重新调整分区即可更改大小
/dev/sda2
。Btrfs 原生支持在单个文件系统中使用多个底层设备,因此添加空间就像在虚拟磁盘末尾的新空闲空间中创建新分区一样简单。所有操作均可在线完成,最多只需两次简单的重启,无需任何备份/恢复(尽管强烈建议您一如既往地进行备份)。/dev/sda
)。这可能需要重启虚拟机才能应用更改。或者,如果更方便,也可以创建一个全新的虚拟机磁盘,而不是调整现有磁盘的大小(可能无需重启,具体取决于您的虚拟机管理程序)。fdisk /dev/sda
/dev/sda5
没有自动出现,请运行partprobe /dev/sda
。如果没有帮助,请重新启动虚拟机。btrfs device add /dev/sda5 /
并享受扩大的根文件系统。