阿里云挂载数据盘重启后gpt格式fdisk显示Microsoft basic类型

问题

阿里云 ecs因为libc异常导致系统自动重启,重启发现容器化mysql启动异常。

分析

经过分析容器化msql日志,发现my.cnf文件丢失,进一步通过df -hT|grep vd fdisk -l
发现/dev/vdb1未挂载。

e43e8466e6190900df85a2291f0e46aa.png

当时fdisk -l 看到分区类型 Micosoft basic,给迷惑了实际超过2T的磁盘分区都是parted gpt分区引导,number 1(/dev/vdb1), blkid lsblk都可以看到/dev/vdb1存在的。

解决

1./etc/fstab

$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Sep 14 07:14:22 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9f2d3e15-a78a-4f3d-8385-0165b4b67864 /                       ext4    defaults        1 1
UUID=1f7b2cfb-77cf-4a9e-9528-22e87f327e97 /mnt ext4 defaults 0 0

(base) root@xxxx[五 6月 20  17:54:39]:~
$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0    2T  0 disk 
└─vda1 253:1    0    2T  0 part /
vdb    253:16   0    1T  0 disk 
└─vdb1 253:17   0 1024G  0 part /mnt

(base) root@xxxx[五 6月 20  17:54:46]:~
$ blkid
/dev/vda1: UUID="9f2d3e15-a78a-4f3d-8385-0165b4b67864" TYPE="ext4" 
/dev/vdb1: UUID="1f7b2cfb-77cf-4a9e-9528-22e87f327e97" TYPE="ext4" PARTLABEL="primary" PARTUUID="67f75415-113f-4234-8680-eeb11ddd235e" 

2.刷新挂载

mount -a && df -hT |grep vd

3.mount挂载(可选)

mount /dev/vdb1 /mnt

如何fdisk -l显示正确

1.安装 gdisk(如果未安装)
sudo yum install gdisk  # CentOS
sudo apt install gdisk  # Ubuntu/Debian

2.启动 gdisk
sudo gdisk /dev/vdb  # 注意替换为你的磁盘

# 然后输入:
t   # 改变分区类型
1   # 选择第一个分区(或你要修改的分区号)
8300  # 输入 Linux filesystem 的代码(8300)
w   # 保存并退出

3.fdisk -l