扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
GPDB 数据迁移可以通过全量恢复的方式,如果原来有3个机器,每个机器上面有2个Primary, 2个Mirror,那么可以通过扩展3部机器,变成每部机器上一个Primary,1个Mirror,在迁移的过程中,需要保证:
目前创新互联已为上千多家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、什邡网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。原有的机器利用Primary+Mirror可以组成一个完成的原有集群DB,可以正常启动,这样才能全量恢复,将数据恢复到扩展的机器上。
如下图,将原有机器的P1/P2/P3/M0/M2/M3 迁移到新机器,原有机器依然保留P0/P2/P4/M1/M2/M3能够启动整个数据库
[root@gpsegment2 ~]# systemctl stop firewalld.service
[root@gpsegment2 ~]# systemctl disable firewalld.service
[gpadmin@gpsegment2 ~]$ vim /etc/hosts #修改hosts文件
192.168.56.103 gpmaster
192.168.56.101 gpsegment3
192.168.56.104 gpsegment1
192.168.56.105 gpsegment2
192.168.56.102 gpsegment4
192.168.56.106 gpsegment5
192.168.56.107 gpsegment6
[gpadmin@gpmaster conf]$ gpssh-exkeys -f hostlist #将新机器域名加入到hostlist文件,运行即可建立ssh互信
[gpadmin@localhost greenplum]$ ln -s greenplum-db-4.3.17.0/ greenplum-db
迁移设置的目的是,让原有的机器通过组合一半Primary+Mirror暂时先设置为Primary,并且设置为不同步数据;然后将另外一半需要迁移的Primary+Mirror的状态都设置为宕机了,同时都设置为Mirror,并且设置为同步数据中;这样先将数据库启动起来,数据库检查发现有一半Mirror节点宕机了,就忽略了,然后利用其他的先启动,此时,数据库依然可以使用,我们通过GPDB自带的恢复工具,让他自动将宕机的Mirror都全量恢复,如此即可完成数据迁移
[gpadmin@gpmaster ~]$ gpstart -m
[gpadmin@gpmaster ~]$ PGOPTIONS='-c gp_session_role=utility' psql #utility模式进入交互
testdb=# set allow_system_table_mods='dml' #设置为允许修改系统配置表
有6台机器无法启动,被忽略了,但是正常启动了6台,所以可以使用
[gpadmin@gpmaster ~]$ gpstart -a
3个Mirror是Fail,另外3个被当成主机启动了
[gpadmin@gpmaster ~]$ gprecoverseg -F
可以查看到数据库已经启动恢复
开启另外一个窗口,运行gpstate -m可以查看恢复进度
需要等到所有的节点都恢复成Synchronized状态
等所有新机器都全量同步完毕之后,因为新机器都设置为Mirror,旧机器的Mirror有一部分被用于Primary,所以需要在运行gprecoverseg -r 让Mirror和Primary恢复正常
[gpadmin@gpmaster ~]$ gprecoverseg -r
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流