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

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

原创 伊织鸟 2023-03-03
2263

版本

系统版本: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。

安装流程:

升级ssl/ssh

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

--ssl备份 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

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/ 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/ 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/ 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、验证

openssl version ssh -V curl --version

图片.png

配置sudo高权限用户

## 建立omm用户 groupadd dbgrp -g 2000 useradd omm -g 2000 -u 2000 passwd omm # 密码:Mogdb@1234(请勿修改该密码,或者可以使用ptk encrypt命令自行生成配置文件中密匙) ## sudo赋权 cp /etc/sudoers /etc/sudoers.bak echo "omm ALL=(ALL) NOPASSWD:ALL" >>/etc/sudoers cat /etc/sudoers

图片.png

安装ptk

## 上传ptk及mogdb软件包/插件包 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参数文件

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

# 运行修复脚本(主备都需要运行,备库需要手工复制脚本) 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 ## 安装完毕了之后,进行简单的安装验证 ptk ls

图片.png

ptk cluster -n MogDB3 status --detail

图片.png

主备omm用户配置ssh互信

## 主库运行 ssh-keygen -t rsa scp ~/.ssh/id_rsa.pub omm@192.168.118.166:~/.ssh/authorized_keys ## 备库把公钥传给主库 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 vi /etc/hosts 192.168.118.165 scfsdb1 192.168.118.166 scfsdb2 ## 互信验证 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

数据库相关兼容插件安装

## 上传插件 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 ## 安装插件 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

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

评论