張小白剛搞到1臺華為云的鯤鵬服務器,系統是CentOS 7.6。由于信創需要,需要將部分應用遷移到國產服務器上,而鯤鵬就是國產服務器的首選。
原來運行在Oracle服務器上的數據和代碼,也需要遷移到國產數據庫中,也有專家推薦使用openGauss的商用版MogDB。
經過咨詢群里的專家,并查看MogDB官網得知,最好的方式是使用openEuler安裝MogDB,但是CentOS其實也能支持,只不過是需要使用CentOS 8.0。

既然PTK支持CentOS8的arm64服務器安裝MogDB,那么首先需要將CentOS7變更為CentOS8,這個操作步驟比較簡單:在ECS 服務器列表點擊更多-》鏡像/磁盤/備份-》切換操作系統:

將鏡像改為CentOS 8.0,然后設置下新系統的root密碼即可。
等機器操作系統切換完畢,使用MobaXterm,以root用戶登陸系統,檢查系統版本和CPU型號:

獲取PTK
curl --proto '=https' --tlsv1.2 -sSf https://cdn-mogdb.enmotech.com/ptk/install.sh | sh

根據提示 source ~/.bash_profile

生產config文件
ptk template --local > config.yaml

檢查安裝條件是否具備:
ptk checkos -f config.yaml

從上面可以看出,跟x86安裝的過程類似,缺libaio和numactl兩個包,然后有一個參數期待never,給的是always。
我們看看生成的 root_fix_os.2022.0822.003426.sh 文件

其實這個shell把解決的方法也告訴我們了,執行下試試:
bash ./root_fix_os.2022.0822.003426.sh

額,好像解決問題不像自己想象的那么順利。
看報錯信息,應該是yum源寫的不對。
先備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

yum makecache

好像這種方法不行。
換種方法試試:
參考 https://blog.csdn.net/mooonlightcal/article/details/123951900
分別修改 CentOS-AppStream.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/AppStream/$basearch/os/
修改 CentOS-Extras.repo
baseurl=https://mirrors.aliyun.com/centos/$releasever-stream/extras/$basearch/os/
yum clean all
yum makecache

看來還是阿里云的yum源好使一些。
重新執行 bash ./root_fix_os.2022.0822.003426.sh

缺的系統依賴包已經安裝完畢。
重新檢查一下:
ptk checkos -f config.yaml

還有一個異常!
重啟下試試:
sync
sync
reboot

再檢查一次:
ptk checkos -f config.yaml

居然還多了個異常。
再執行新生成的shell:
bash ./root_fix_os.2022.0822.010014.sh

ptk checkos -f config.yaml

總算去掉了1個異常。但是還有1個異常。
如果不解決這個問題,貿然安裝:
ptk install -f config.yaml

就會報CPU指令集找不到。
經過專家提示:安裝時需要增加 --skip-check-os 參數
ptk install -f config.yaml --skip-check-os

耐心等待安裝包下載完畢(貌似下載的是openEuler的包。。。)

輸入完兩次密碼后,居然裝完了!
從日志上來看,下載的包名是 MogDB-3.0.1-openEuler-arm64.tar.gz,確實是arm的包。
進行常規檢查:
su - omm
gsql -d postgres -p 26000
create database mydb with encoding 'UTF-8' template = template0;
\c mydb
create table mytable( name varchar(20), age integer);
insert into mytable values('張小白', 18);
select * from mytable;
\q

貌似一切正常!
于是張小白又一次在專家的幫助下完成了ARM版 MogDB 3.0.1的安裝。感謝 @DarkAthena 深夜的深情幫助!
(全文完,謝謝閱讀)




