基于openEuler的openGauss实验环境建设实践探析

作者: 林美蓉

基于openEuler的openGauss实验环境建设实践探析0

摘要:国产开源操作系统和数据库是我国基础软件领域的基石,openEuler和openGauss是我国着力打造的自主开放的开源生态。openEuler操作系统是openGauss数据库部署的最优选择,基于openEuler进行openGauss的实验环境建设可以帮助高校学生全面掌握开源操作系统的管理和运维以及更好的学习和使用开源数据库。

关键词:欧拉开源操作系统;高斯数据库;虚拟机;开源;单节点

中图分类号:TP393 文献标识码:A文章编号:1009-3044(2023)16-0078-03

0 引言

国产操作系统和数据库进一步做大做强,生态建设至关重要。开源对于覆盖更多的用户、吸纳更多的技术优势有很大的帮助。openEuler(欧拉开源操作系统,简称欧拉)和openGauss(高斯开源数据库,简称高斯)都是我国基础软件领域的开源共建产品,聚焦基础软件核心能力构建,引领基础软件持续创新[1]。ope⁃nEuler 是一个开源免费的Linux 发行版系统,源于Linux Kernel上游社区,是我国的开源操作系统根社区,通过开源协作社区创新平台,支持服务器、云计算、边缘计算、嵌入式等全应用场景,支持多样性计算,致力于提供安全、稳定、易用的操作系统,方便开发者和运维人员简单、平稳高效地进行操作系统迁移和智能运维[2]。openGauss是我国的开源关系型企业级数据库,是GaussDB云数据库服务的开源版本,其内核深度融合华为在数据库领域多年的经验,是结合企业级场景的高安全性、高可用性数据库。目前已在金融、制造等多行业核心系统广泛应用[3]。本文将基于openEuler国产开源操作系统进行openGauss国产开源关系型数据库的单节点实验环境建设,助力高校学生全面掌握开源操作系统的管理和运维以及更好的学习和使用开源数据库。

1 openEuler 环境准备

1.1 基于虚拟机的openEuler 安装

openEuler 的下载地址是openEuler 的开源社区https://www.openeuler.org/zh/download/,选择对应平台的最新版本,目前的最新版本是openEuler22.09,本文使用的是x86_64 架构的基础安装ISO,openEuler-22.09-x86_64-dvd.iso,是包含了运行最小系统的核心组件的镜像文件。如果需要全量软件包需要下载openEuler-22.09-everything-x86_64-dvd.iso,该ISO文件包含运行系统所需要的所有组件。安装过程可以参考openEuler 的官方文档和openEuler 的技术白皮书。安装过程类似Redhat或CentOS等Linux内核操作系统。需要注意事项:一是需要开启宿主机的CPU虚拟化功能,确保CPU虚拟化功能处于“已启用”的状态。二是满足最小的虚拟化硬件需求。如内存不小于2G,硬盘不小于32G等空间和平台兼容性要求。三是建议选择英文,因为后续openGauss数据库的安装目前只支持英文方式。四是软件安装方式选择为“服务器”。五是需要满足root的用户密码复杂度要求,不能太简单或太有规律,必须能够通过openEuler的字典校验。六是普通用户创建时密码的设置不能和root用户相同。openEuler目前暂未支持图形化界面,因此openEuler安装完成重启后,进入的是命令行模式,通过cat /etc/os-release 查看openEuler 操作系统的相关系统信息[4]。

1.2 网络环境准备

openEuler提供多种网络配置的方式,本文采用的是虚拟机的NAT网络模式。先查看虚拟网络编辑器确定NAT网络的网段和网关,然后通过vim编辑器修改ifcfg文件的方式配置静态网络。在root用户权限下,修改/etc/sysconfig/network-scripts/目录下的ifcfgens160文件,将BOOTPROTO 值由默认的dhcp 改为none,并根据需求添加IP地址、网关和DNS首选地址等参数,具体设置方式如图1所示。

ifcfg 文件修改完成后,保存退出。需要执行nmcli conn reload;nmcli conn up ens160命令重新加载配置文件,重新激活网卡连接,网络配置才能生效。

1.3 软件准备

1.3.1 软件源准备

因为后续openGauss的安装有软件依赖的需求,而且依赖的软件官方推荐使用openEuler操作系统安装光盘的默认安装包,因此需要配置好openEuler的本地软件源。将ISO文件导入openEuler的光驱中,使用mount /dev/cdrom /mnt 命令挂载到本地,使用dnfconfig-manager-add-repo file:///mnt 命令将挂载的镜像添加为本地软件源,使用vim编辑器编辑/etc/yum.repo.d/目录下的mnt.repo文件,增加gpcheck=1和gpg⁃key=file:///mnt/RPM-GPG-KEY-openEuler 两行,保存并退出。可以通过dnf repolist 命令验证查看,发现mnt已经在软件源列表中,如图2所示。

1.3.2 openGauss 依赖软件安装

openGauss所需的软件有:libaio-deve,flex,bison,ncurses-devel,glibc-devel,patch lsb_release,readlinedevle,libnsl,前期已经做好的软件源的相关准备工作,可以使用dnf install -y命令进行依赖软件的安装。

默认情况下,openEuler已安装大部分openGauss所需的软件。

1.4 远程管理准备

openGauss需要root用户远程登录的权限。因此openEuler需要开启ssh服务。默认情况下,openEuler已支持远程登录,ssh服务默认处于已开启状态,且openEuler22.09已默认允许root用户远程登录(即Per⁃mitRootLogin参数值为yes) 。但在实验过程中,发现从Windows10客户端登录远程登录openEuler22.09服务器时会发生算法不匹配的问题,需要修改/etc/ssh/sshd_cofig配置文件,将HostKeyAlgorithms 和Pubkey⁃AcceptedKeyTypes两行原有的算法注释掉,添加Host⁃KeyAlgorithms ssh-rsa,ssh-dss 和PubkeyAcceptedKey⁃Types ssh-rsa,ssh-dss两行新的算法。并确保Permit⁃RootLogin参数的值为yes,实现root用户可以远程登录。修改完配置文件,需要使用systemctl restart sshd命令重启sshd服务,ssh服务的相关配置才能生效。

1.5 关闭防火墙

根据openGauss的官方文档,目前openGauss仅支持防火墙关闭的状态下安装,所以需要关闭防火墙和SELinux。通过vim 编辑器修改/etc/selinux/config 文件,设置SELINUX参数的值为“disabled”。并通过命令systemctl stop firewalld和systemctl disable firewalld,永久关闭防火墙。重启服务器后,通过getenforce命令和systemctl status firewalld 命令确保防火墙和SE⁃Linux已处于关闭状态。

1.6 关闭RemoveIPC

根据openGauss的官方文档,CentOS操作系统无须进行此步骤,但openEuler需要在数据库的各个节点上操作此步骤。单节点只需在本服务器上操作即可。首先用vim编辑器修改/etc/systemd/logind.conf文件,将该文件中的RemoveIPC 参数设为no(取消Re⁃moveIPC=no前的注释即可)。然后用vim编辑器修改/usr/lib/systemd/system/systemd-logind.service 文件,将该文件中的RemoveIPC值设为no(即文件末增加一行RemoveIPC=no) 。修改之后注意必须重载配置参数,配置才能生效systemctl daemon-reload;systemctl re⁃start systemd-logind。

1.7 系统参数调优

openGauss安装前还需要对openEuler系统内核进行参数调优,为了重启系统后参数调优依然有效,需要直接修改配置文件/etc/sysctl.conf,增加net.ipv4.tcp_retries1=5,net. ipv4. tcp_syn_retries=5,net. sctp.path_max_retrans=10,net.sctp.max_init_retransmits=10等参数设置。还需要修改资源限制文件/etc/security/limits.conf,在文件末增加* soft nofile 1000000,* hardnofile 1000000,* soft nproc60000等参数设置,修改用户可以使用的最大文件数和最大线程。系统参数调优后,需要重启openEuler服务器。

2 openGauss 的极简版单节点安装

2.1 用户和用户组准备

完成了系统部分的准备工作,开始进入数据库的安装阶段。openGauss 的安装建议规划单独的用户组,以root用户登录openEuler服务器,使用命令grou⁃padd dbgrp创建用户组dbgrp。并规划单独的用户用于管理和运维openGauss数据库,创建组成员普通用户omm,同步设置用户密码:useradd -g dbgrp omm;passwd omm。

2.2 目录和权限准备

仍然使用root用户登录openEuler操作系统,创建openGauss 的安装包存放目录mkdir -p /opt/huawei/openGauss,并赋予该目录可读写的权限chmod 777-R/opt/huawei。修改该安装包存放目录的 /opt/huawei/openGauss的属主和属组为之前规划的数据库单独用户和用户组。设置属主为omm,属组为dbgrp:chown -R omm:dbgrp /opt/huawei。

2.3 openGauss 下载

openGauss 的下载请到openGauss 的开源社区https://www.opengauss.org/zh/download/选择对应平台的最新版本,目前openGauss server 的最新版本是openGauss_3.1.0,开源社区提供企业版、极简版和轻量版三种支持openEuler操作系统的软件包。企业版主要针对企业和对数据库性能要求较高的用户,安装流程比较复杂,功能更全。极简版主要针对高校和个人测试,可以进行单节点和一主一备的节点环境安装部署。轻量版删减部分组件,安装,卸载,升级等需要手动操作。本文使用的是极简版软件包:openGauss-3.1.0-openEuler-64bit.tar.bz2。使用openGauss 的管理用户omm登录openEuler服务器,切换到已创建的目录 /opt/huawei/openGauss下载软件包并解压缩该软件包,通过wget https://opengauss. obs. cn-south-1. myhuaweicloud.com/3.1.0/x86_openEuler/openGauss-3.1.0-openEuler-64bit.tar.bz2命令获取安装软件包。

上一篇 点击页面呼出菜单 下一篇