我在 VMware 上有一台 CentOS 服务器,其中有一个 1.5TB 的磁盘,单个 xfs 分区使用整个磁盘。该磁盘/分区空间不足,因此我需要将其大小增加到 2.5TB。
所以我在VMware上增加了大小并尝试删除和添加分区,但失败了。当然,原始分区是MBR,新分区必须是GPT,但是当尝试删除/添加分区时,转换失败。我发现原始分区位于扇区 128,新分区尝试从扇区 2048 开始,我尝试修改该分区,但无法修改(我猜是因为 GPT 需要比 MBR 更多的空间?)。
然后我想到移动原始分区,使其从扇区 2048 开始,将分区转换为 GPT,然后增加分区的大小。
是否有意义?那可能吗?特别是移动隔断的第一部分。谢谢!
更新
出于格式原因,以下是建议命令的输出:
parted /dev/disk unit s print free
Disk /dev/sdb: 5368709120s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Numero Inicio Fin Tamaño Typo Sistema de ficheros Banderas
63s 127s 65s Free Space
1 128s 3259013119s 3259012992s primary xfs
3259013120s 5368709119s 2109696000s Free Space
答案1
因此,您有一个从扇区 128 开始的 msdos 分区。
这种情况并不常见,因为标准是 MiB 对齐,从扇区 2048 开始(对于 512 字节逻辑扇区大小)。
使用 GPT,您仍然可以使用起始扇区 128,这不是问题:
# parted /dev/loop0 unit s print free
Model: Loopback device (loopback)
Disk /dev/loop0: 3259017216s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
34s 127s 94s Free Space
1 128s 3259017182s 3259017055s
但是,parted
当你创建它时,会向你抱怨:
# parted /dev/loop0
(parted) mklabel gpt
(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 128s
End? 100%
Warning: The resulting partition is not properly aligned for best performance:
128s % 2048s != 0s
Ignore/Cancel? Ignore
如果您不关心 MiB 对齐(并且由于您的数据已经存在,因此您别无选择),您可以忽略此警告。 128 的起始扇区仍将是 4K 对齐(64K 对齐),因此也可以。
GPT 还在磁盘末尾存储备份,因此末尾扇区有时可能会出现问题。不过,您很幸运,磁盘末尾有 4096 个可用扇区,因此您的情况没有问题。否则,在转换为 GPT 之前,您必须先增大磁盘容量。
如果要实现 MiB 对齐,则必须移动所有数据。最安全的方法(如果有足够的空间)是将其完全复制到新磁盘。重新定位数据可能存在风险。