我有一台装有 64 位 Debian Squeeze 的 XenServer6 VM,只有 1 个分区 /dev/xvda1 95 GB + linux 分区:
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 95G 63G 28G 70% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 68K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
我使用 XenCenter 将此 VM 的可用空间调整为 300 GB。这有效。但现在我需要告诉 ext3 文件系统添加一些空间。我只找到了一些有关 LiveCD 等的说明,但我的服务器是租用的,并且位于远程数据中心,我真的不想尝试使用远程 LiveCD 等。它是一个正在运行的 Web 服务器,所以我不会丢失任何数据或分区。我可以在晚上做这件事,所以在可达性方面没有太大的问题。服务器应该有一个 RAID(2x 1TB HDD)。我还有另外 2 个 VM。
问题是:我该如何做才能避免太多风险,并且不使用 LiveCD?还有其他方法可以告诉文件系统:
"look up the free space and add this to the existing /dev/xvda1 partition"
非常感谢您的知识和想法。
凱撒
编辑:XenServer 主磁盘上仍有可用空间。我可以创建一个新的 XenServer 磁盘并将此磁盘作为额外空间添加到 VM。然后如何在不停机的情况下更改和复制所有内容?
编辑 2:我刚刚在 XenCenter 中创建了一个新磁盘,并在其上创建了新分区 ext3,其中有主分区、ext 分区(内部有逻辑交换分区)。该分区现在安装为 /dev/xvdb1。Swap/EXT 未安装(我认为这没问题,不是吗?)。我现在如何将整个系统从原始分区复制到新分区,我应该如何告诉 Debian 他现在必须使用新分区而不是旧分区?我将删除旧磁盘(带有旧分区),并且该服务器应从新分区 xvdb1 启动。
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 95G 63G 28G 70% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 84K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/xvdb1 184G 188M 174G 1% /mnt/xvdb1
谢谢你!
答案1
由于您没有使用 LVM,因此您必须重新启动才能执行此操作。使用fdisk
或parted
删除现有分区,并使用完全相同的起始扇区重新创建它,但大小更长。确保您使用扇区作为单位。您可以使用u
fdisk 中的命令(如果尚未执行)执行此操作,然后使用unit s
parted 命令执行此操作。
由于分区仍在使用中,您将收到一条错误消息,告知内核已发生更改。重新启动,然后resize2fs
在设备上运行。