暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Mogdb - 银河麒麟SP2版本使用sudo高权限用户安装集群数据库(附:处理由于ssh版本导致的gs_om等工具不可用问题)

原创 由迪 2023-12-06
596

原作者:赵安琪

版本

系统版本:Kylin V10 SP2
SSL版本:openssl-1.1.1f
SSH版本:openssh-8.2p1
CURL版本:crul-7.71.1
数据库版本:Mogdb 303

处理的问题

1、root系统用户密码未知,或过于复杂
针对4A管理网段用户无法提供root密码,或者root密码过于复杂/超长等场景,可以使用高权限sudo的omm用户替代root用户安装数据库。

2、麒麟特殊版本中,ssh版本导致的部分OG自带工具失效
在部分Kylin V10 SP2版本中(sp1.1+update/sp2+update),由于ssh/ssl依赖了OPENSSL_1_1_1f动态库文件,而OG没有配置OPENSSL_1_1_1f相关依赖库文件,所以Mogdb安装后omm用户调用ssh相关工具时,会出现version OPENSSL_1_1_1f not found (required by ssh)报错,OG自带的gs_om/gs_guc等工具无法使用。可用通过升级ssh/ssl版本处理该问题。
图片.png

处理方式

1、建立omm用户,并给予高权限。

2、在数据库安装之前,需要将openssh-8.2p1升级到openssh-8.4p1,openssl-1.1.1f 升级到 openssl-1.1.1g,crul-7.71.1升级到 curl-7.86.0。

安装流程:

配置sudo高权限用户

## 建立omm用户
su - root
groupadd dbgrp -g 2000
useradd omm -g 2000 -u 2000 
passwd omm
# 密码:Mogdb@1234(请勿修改该密码,或者可以使用ptk encrypt命令自行生成配置文件中密匙)

## sudo赋权
su - root
cp /etc/sudoers /etc/sudoers.bak
echo "omm  ALL=(ALL)  NOPASSWD:ALL" >>/etc/sudoers
cat /etc/sudoers

图片.png

安装ptk

## 上传ptk及mogdb软件包/插件包
su - root
mkidr /opt/software
rz Toolkits-3.0.3-openEuler-x86_64.tar.gz
rz Plugins-3.0.3-openEuler-x86_64.tar.gz
rz MogDB-3.0.3-openEuler-x86_64.tar.gz
rz ptk_linux_x86_64.tar.gz

## 加压缩ptk,并修改PATH环境变量
tar -xvf ptk_linux_x86_64.tar.gz
vi ~/.bashrc
# 最下部分插入
export PATH=$PATH:/opt/software/
# 保存
source ~/.bashrc
ptk --version

图片.png

配置ptk参数文件

su - root
cd /opt/software
vi config.yaml
global:
  cluster_name: "MogDB3"
  user: "omm"
  group: "dbgrp"
  db_password: "pTk6NWY3MzI2NmI8Pj48PT89Qms5SzFNRXZRTFZHWU5mUnNSblRLeXFGUnliLUlWWmY4dmhTYmxyWHFMeFk="
  db_port: 51000
  base_dir: "/dbdata"
  app_dir: "/dbdata/app"
  log_dir: "/dbdata/log"
  data_dir: "/dbdata/data"
  tool_dir: "/dbdata/tool"
  ssh_option:
     port: 22
     user: omm
     password: "pTk6NWY3MzI2NmI8Pj48PT89Qms5SzFNRXZRTFZHWU5mUnNSblRLeXFGUnliLUlWWmY4dmhTYmxyWHFMeFk="

db_servers:
  - host: "192.168.1.10"
    db_port: 51000
    ha_port: 51001
    role: "primary"
  - host: "192.168.1.11"
    db_port: 51000
    ha_port: 51001
    role: "standby"
# 保存

ptk预检查

su - root
ptk checkos -f /opt/software/config.yaml
# 当出现配置文件无法识别等问题或某个参数错误时,可以使用网站,查看yaml格式是否对其:https://www.bejson.com/validators/yaml_editor/

图片.png

# 运行修复脚本(主备都需要运行,备库需要手工复制脚本)
su - root
sh root_fix_os.2023.0222.095941.sh

图片.png

ptk安装数据库

su - root
cd /opt/software
ptk install -y -f /opt/software/config.yaml -p MogDB-3.0.3-openEuler-x86_64.tar.gz --skip-create-user

## 安装完毕了之后,进行简单的安装验证
su - root
ptk ls

图片.png

su - root
ptk cluster -n  MogDB3 status --detail

图片.png

升级ssl/ssh

1、备份ssl/ssh/curl历史版本

--ssl备份

su - root
openssl version
ls -ltrd /usr/bin/openssl
mv /usr/bin/openssl /usr/bin/openssl.old_111f

--ssh备份
ssh -V
ls -ltr /usr/bin/ssh
ls -ltr /usr/sbin/sshd
ls -ltr /usr/bin/ssh-keygen
cp /usr/bin/ssh /usr/bin/ssh.old_82p
cp /usr/sbin/sshd /usr/sbin/sshd.old_82p
cp /etc/ssh/sshd_config /etc/ssh/sshd.config_old_82p
cp /usr/bin/ssh-keygen /usr/bin/ssh-keygen.old_82p
mv /etc/ssh /etc/ssh_old_82p

--curl备份
ls -ltr /usr/bin/curl
cp /usr/bin/curl /usr/bin/curl.old_771

2、安装配置telnet

su - root
yum install xinetd telnet-server -y

ls -ltr /etc/xinetd.d/telnet

echo "xvc0" >> /etc/securetty
echo "pts/0" >> /etc/securetty
echo "pts/1" >> /etc/securetty
echo "pts/2" >> /etc/securetty
echo "pts/3" >> /etc/securetty

cat /etc/securetty

systemctl enable telnet.socket
systemctl enable xinetd

systemctl start telnet.socket
systemctl start xinetd
netstat -lntp|grep 23

3、升级ssl

## ssl下载地址:ftp://ftp.fi.muni.cz/pub/openssl/

su - root
openssl version

tar -zxvf /opt/software/openssl-1.1.1g.tar.gz -C /opt/software
cd /opt/software/openssl-1.1.1g
rpm -qa|grep zlib-devel
./config --prefix=/usr/local/openssl shared zlib-dynamic
make && make install

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/

ll /usr/lib64/lib*.so.1.1

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v|grep ssl

openssl version

4、升级ssh

## ssh下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/

su - root
ssh -V

tar -zxvf /opt/software/openssh-8.4p1.tar.gz -C /opt/software
cd /opt/software/openssh-8.4p1
./configure --with-md5-passwords --with-zlib --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-openssl-includes=/usr/local/openssl/include
make && make install

ls -ltr /etc/init.d/ssh*
ls -ltr /usr/local/sbin/ssh*
ls -ltr /usr/bin/ssh*
ls -ltr /usr/sbin/sshd*
ls -ltr /usr/local/sbin/sshd*

cp /opt/software/openssh-8.4p1/ssh /etc/init.d/ssh
cp /opt/software/openssh-8.4p1/ssh /usr/local/sbin/ssh
cp /opt/software/openssh-8.4p1/ssh /usr/bin/ssh

cp -a /opt/software/openssh-8.4p1/contrib/redhat/sshd.init /etc/init.d/sshd
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp /opt/software/openssh-8.4p1/sshd /usr/sbin/sshd
cp /opt/software/openssh-8.4p1/sshd /usr/local/sbin/sshd

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

ls -ltr /usr/lib/systemd/system/sshd.service
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak

chkconfig --add sshd
systemctl enable sshd
systemctl stop sshd && systemctl start sshd && systemctl status sshd

ssh -V

5、升级curl

## curl下载地址:https://curl.se/download/
su - root
curl -V
tar -zxvf /opt/software/curl-7.86.0.tar.gz -C /opt/software
cd /opt/software/curl-7.86.0
./configure  --prefix=/usr/local/curl --with-config-file-path=/opt/php/etc --with-config-file-scan-dir=/opt/php/etc/php.d  --enable-fpm --disable-opcache --disable-fileinfo  --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --with-iconv=/usr/local/libiconv --with-freetype-dir  --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr  --enable-xml --disable-rpath --enable-bcmath --enable-shmop  --enable-exif --enable-sysvsem --enable-inline-optimization  --with-curl=/usr/local/curl --enable-mbregex --enable-mbstring  --with-password-argon2 --with-sodium=/usr/local --with-gd --with-openssl=/usr/local/openssl --with-mhash --enable-pcntl --enable-sockets  --with-xmlrpc --enable-ftp --enable-intl --with-xsl  --with-gettext --enable-zip --enable-soap --disable-debug
make && make install

ls -ltr /usr/bin/curl.bak
cp /usr/local/curl/bin/curl /usr/bin/curl
curl --version

6、验证

su - omm
openssl version
ssh -V
curl --version

图片.png

主备omm用户配置ssh互信

## 主库运行
su - omm
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub omm@192.168.118.166:~/.ssh/authorized_keys

## 备库把公钥传给主库
su - omm
ssh 192.168.118.166
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys omm@192.168.118.165:~/.ssh/authorized_keys

## 修改主备库hosts
su - root
vi /etc/hosts
192.168.118.165 scfsdb1
192.168.118.166 scfsdb2

## 刷新ssh config文件
su - omm
> ~/.ssh/config

## 互信验证
su - omm
ssh omm@scfsdb1 -C "hostname;date"
ssh omm@scfsdb2 -C "hostname;date"
ssh omm@192.168.118.165 -C "hostname;date"
ssh omm@192.168.118.166 -C "hostname;date"

检查gs_om/gs_guc等工具

su - omm
gs_om -t status --detail

图片.png

数据库相关兼容插件安装

## 上传插件
su - root
cd /opt/software
rz Plugins-3.0.3-openEuler-x86_64.tar.gz
rz compat-tools-master-v2022.06.28.zip
ls -ltr /opt/software

## 安装插件
su - root
ptk ls
ptk cluster install-plugin -n Mogdb_303 -p /opt/software/Plugins-3.0.3-openEuler-x86_64.tar.gz

图片.png

## 数据库安装插件
su - omm
gsql -d postgres -p 51000 -r
create extension whale;

图片.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论