登录故障节点
注释已损坏磁盘UUID
vi /etc/fstab
给新磁盘做raid10
mdadm --create /dev/md1 -v --raid-devices=4 --level=raid10 /dev/vd{b..e} && mdadm --create /dev/md2 -v --raid-devices=4 --level=raid10 /dev/vd{f..i}
磁盘格式
mkfs.xfs /dev/md1 && mkfs.xfs /dev/md2 && mkdir /mnt/data_{1..2} && mount /dev/md1 /mnt/data_1 && mount /dev/md2 /mnt/data_2
绑定新的UUID
echo UUID=$(blkid /dev/md1 | awk 'BEGIN { FS="\"" } {print $2}') /mnt/data_1 xfs rw,nodev,noatime,nobarrier,inode64 0 0 >> /etc/fstab
echo UUID=$(blkid /dev/md2 | awk 'BEGIN { FS="\"" } {print $2}') /mnt/data_2 xfs rw,nodev,noatime,nobarrier,inode64 0 0 >> /etc/fstab
挂载磁盘
mount -a
创建GP数据目录(注意每个磁盘下都要创建)
mkdir mirror
mkdir primary
修改用户及用户组
chown -R gpadmin:gpadmin data_*
登录master节点
查看集群mirror配置和同步状态
gpstate -m
生成要修复数据的文件的
gprecoverseg -o ./recover_20220527
查看生成的文件是否匹配损坏的镜像
后台命令修复数据,并输出日志
nohup gprecoverseg -a -v -F -i ./recover_20220527 > recover_20220527.log 2>&1 &
切换镜像角色
nohup echo 'y' | gprecoverseg -r &
done