无法将 MBR 磁盘转换为 GPT

无法将 MBR 磁盘转换为 GPT

我在 EC2 中运行了一个 MySQL 数据库,我不得不不断地向 EBS 卷添加空间,然后扩大它(使用 growpart/xfs_growfs)。我最终达到了 2TB,但无法弄清楚为什么我无法再扩大分区,当然,这是因为它是一个 MBR 分区表。

问题是,这些数据库位于一个集群中,具有(我认为)完全相同的配置。在其他数据库上,我能够毫无错误地转换为 GPT。只有这个数据库让我遇到了麻烦。

提前致谢

以下是 gdisk、parted 和 fdisk 的输出。

我有点困惑为什么 xvdn1 显示为 GPT 而不是 xvdn ...我过去可能在某个地方搞砸了?

最好的解决方法是什么?错误消息提示要在另一个实用程序中删除/调整大小,我试过了,但每次我要么遇到相同的错误,要么无法挂载它。有没有可能是我没有使用正确的值来重新创建更小的 33 个块分区?

这是命令和错误消息。下面的其他内容只是显示磁盘的 fdisk/parted/sfdisk 的输出。永远

gdisk /dev/xvdn
GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************

Warning! Main partition table overlaps the first partition by 33 blocks!
You will need to delete this partition or resize it in another utility.

磁盘/分区表 如果还有其他有用的调试信息请告诉我

parted /dev/xvdn unit s print
Model: Xen Virtual Block Device (xvd)
Disk /dev/xvdn: 5033164800s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End          Size         Type     File system  Flags
 1      1s     4194298394s  4194298394s  primary  xfs
parted /dev/xvdn1 unit s print
Model: Unknown (unknown)
Disk /dev/xvdn1: 4194298394s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags
fdisk -l -u /dev/xvdn

Disk /dev/xvdn: 2577.0 GB, 2576980377600 bytes
255 heads, 63 sectors/track, 313300 cylinders, total 5033164800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6274

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdn1               1  4194298394  2097149197   83  Linux
lsblk /dev/xvdn
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
xvdn    202:208  0   2.4T  0 disk
└─xvdn1 202:209  0     2T  0 part

已备份...

dd if=/dev/xvdn of=/root/mbrbackups/xvdnbackup.mbr bs=512 count=1

sfdisk -d /dev/xvdn > sfdiskbackup.txt
cat sfdiskbackup.txt
# partition table of /dev/xvdn
unit: sectors

/dev/xvdn1 : start=        1, size=4194298394, Id=83
/dev/xvdn2 : start=        0, size=        0, Id= 0
/dev/xvdn3 : start=        0, size=        0, Id= 0
/dev/xvdn4 : start=        0, size=        0, Id= 0

注意:我看到了类似的问题/答案,但它们似乎与我的有点不同。就我而言,我的磁盘上只有 1 个分区。我也在(我认为)完全相同的配置上执行了此过程,并且能够在线执行该过程。

(交叉发布到 ubuntu 论坛——将在这里更新,反之亦然,如果

版本

root@ip-10-0-2-189:~# sfdisk --version
sfdisk from util-linux 2.20.1
root@ip-10-0-2-189:~# sgdisk --version
GPT fdisk (sgdisk) version 0.8.8

这些是我在另一个实例上转换的相同版本。

是的,我的数据已备份,这实际上是我正在尝试的数据库的副本。这不是实时生产数据库。

相关内容