我在 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
这些是我在另一个实例上转换的相同版本。
是的,我的数据已备份,这实际上是我正在尝试的数据库的副本。这不是实时生产数据库。