mogdb主从架构小版本升级
前置操作:
(1)上传mogdb 3.0.4版本软件,解压软件到新目录。
(2)备份当前数据库。
具体操作:
(1)备库都关闭mogha ,备库关闭mogdb ,替换软件。
(2)备库10.2.136.63使用新版本启动mogdb,验证版本。
(3)启动备库mogha,切换主备库角色。
(4)确认vip已经切换到10.2.136.63上。 确认业务已经连接到10.2.136.63库。
(5)原主库新备库10.2.136.64 关闭mogha,关闭mogdb, 替换软件。
(6)原主库新备库10.2.136.64使用新版本启动mogdb,验证版本,启动mogha 。
(7)主备角色再次进行切换。
实施操作步骤
(1)上传mogdb 3.0.4版本软件,解压软件到新目录。
root:
cd /opt/software
tar -xzvf MogDB-3.0.4-openEuler-arm64.tar.gz
cd /opt/mogdb27000
mkdir app3.0.4
tar -xzvf MogDB-3.0.4-openEuler-64bit.tar.gz -C /opt/mogdb27000/app3.0.4/
chown -R omm27000: /opt/mogdb27000/app3.0.4
(2)备份当前数据库。
brm backup -i mogdb27000
(3)备库都关闭mogha ,备库关闭mogdb,替换软件。
关闭mogha:
systemctl stop mogha27000
systemctl status mogha27000
关闭mogdb:
gs_ctl stop -D /data/mogdata27000
gs_ctl status -D /data/mogdata27000
用app3.0.4目录下的 bin 和 lib 替换旧的 app目录下的 bin lib :
cd /opt/mogdb27000/app
mv lib lib3.0.3
mv bin bin3.0.3
cp -r …/app3.0.4/bin ./
cp -r …/app3.0.4/lib ./
然后再将原本bin目录下的 cluster_static_config 和 upgrade_version拷贝到新的bin目录:
cp /opt/mogdb27000/app/bin3.0.3/cluster_static_config /opt/mogdb27000/app/bin/
cp /opt/mogdb27000/app/bin3.0.3/upgrade_version /opt/mogdb27000/app/bin/
检查原本的mogdb库是否用到插件:
gsql postgres –p 27000 -r
\dx
将原本lib目录下的 postgresql文件夹(插件信息)也替换成原来的:
mv /opt/mogdb27000/app/lib/postgresql /opt/mogdb27000/app/lib/postgresql3.0.4
cp -r /opt/mogdb27000/app/lib3.0.3/postgresql /opt/mogdb27000/app/lib/
(4)备库10.2.136.63使用新版本启动mogdb,验证版本。
/opt/mogdb27000/app/bin/gs_ctl -D /data/mogdata27000 start -M standby
root :
ptk cluster status -n mogdb_27000
gsql
select version();
(5)启动备库mogha,切换主备库角色。
systemctl start mogha27000
systemctl status mogha27000
gs_ctl switchover -D /data/mogdata27000
gs_om -t refreshconf
(6)确认vip已经切换到10.2.136.63上。 确认业务已经连接到10.2.136.63库。
ifconfig
(7)原主库新备库10.2.136.64 关闭mogha,关闭mogdb,替换软件。
关闭mogha:
systemctl stop mogha27000
systemctl status mogha27000
关闭mogdb:
gs_ctl stop -D /data/mogdata27000
gs_ctl status -D /data/mogdata27000
用app3.0.4目录下的 bin 和 lib 替换旧的 app目录下的 bin lib :
cd /opt/mogdb27000/app
mv lib lib3.0.3
mv bin bin3.0.3
cp -r …/app3.0.4/bin ./
cp -r …/app3.0.4/lib ./
然后再将原本bin目录下的 cluster_static_config 和 upgrade_version拷贝到新的bin目录:
cp /opt/mogdb27000/app/bin3.0.3/cluster_static_config /opt/mogdb27000/app/bin/
cp /opt/mogdb27000/app/bin3.0.3/upgrade_version /opt/mogdb27000/app/bin/
检查原本的mogdb库是否用到插件:
gsql postgres –p 27000 -r
\dx
将原本lib目录下的 postgresql文件夹(插件信息)也替换成原来的:
mv /opt/mogdb27000/app/lib/postgresql /opt/mogdb27000/app/lib/postgresql3.0.4
cp -r /opt/mogdb27000/app/lib3.0.3/postgresql /opt/mogdb27000/app/lib/
(8)原主库新备库10.2.136.64使用新版本启动mogdb,验证版本,启动mogha 。
启动mogdb:
/opt/mogdb27000/app/bin/gs_ctl -D /data/mogdata27000 start -M standby
gs_ctl status -D /data/mogdata27000
验证版本:
gsql
select version();
启动mogha:
systemctl start mogha27000
systemctl status mogha27000
(9)主备角色再次进行切换。
gs_ctl switchover -D /data/mogdata27000
gs_om -t refreshconf
gs_ctl status -D /data/mogdata27000
ptk cluster status -n mogdb_27000
ifconfig
回退方案
关闭mogha ,关闭 mogdb ,调整GAUSSHOME环境变量,使用之前版本的安装目录下的命令启动数据库集群。