尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【GaussDB】507内核版本安装包的调整

【GaussDB】507内核版本安装包的调整 【GaussDB】507内核版本安装包的调整背景GaussDB 507这个版本的安装包有较大调整正常安装基本照着官方文档操作就行这个版本的安装文档阅读不如之前版本流畅需要反复在多个文档页面来回跳转建议多打开几份但有时候会有一些特殊情况可能会有应急非标操作、故障排查、甚至源码分析所以需要对这些安装包有一些了解。官方文档 《软件包概述》本文主要描述507版本相对于506版本在安装包和文档上的一些改动GaussDB的各种版本号这里先明确一下各种版本号的含义华为云Stack版本GaussDB版本GaussDB数据库引擎版本GaussDB内核引擎版本8.6.126.861.0V2.0-10.0.0507.0.08.6.025.860.0-LTSV2.0-8.219.0505.2.1.SPC09008.6.025.860.0-LTS.1V2.0-9.0.0506.0.0.SPC09008.5.125.1.32V2.0-8.218.0505.2.1.SPC08008.5.125.1.32.20V2.0-9.0.0506.0.0.SPC05008.5.125.1.30.10V2.0-9.0.0506.0.0.SPC01008.5.024.7.30.10V2.0-8.202.0505.2.0.SPC01008.3.124.1.30V2.0-8.102.0505.1.08.3.02.23.07.210V2.0-8.1505.0.0.SPC01008.2.12.23.01.210V2.0-3.202.0503.1.0SPC0300华为云Stack版本 又叫解决方案版本软件维护的生命周期是跟着这个版本走的一套解决方案下可以有多个GaussDB内核的版本也就是说光提GaussDB内核版本无法区分其生命周期华为方面可以随时调整将旧版本GaussDB内核打个补丁再放到新的解决方案版本里。GaussDB版本 又叫数据库服务版本这里其实是包含TPOPS及GaussDB内核在一起的整合版本号GaussDB数据库引擎版本 又叫数据库界面内核版本直白点讲就是销售合同上的版本号这里列的都是v2.0即国测通过的版本GaussDB内核引擎版本 又叫数据库后台内核版本内核软件里写的版本号和内核研发沟通时用这个版本号对齐版本搞这么多版本号其实还是用的云产品多组件的那套玩法一个GaussDB内核二进制其实只有几十MB503.1.0.SPC1700_Kylin 56MB到一百多MB507.0.0_Euler 125MB但是发给客户的安装介质高达十几GB。GaussDB内核只是GaussDB的一个组件而已。其中V2.0-9.0.0这个引擎版本即506内核版本的产品文档已经从华为官方的 support.huawei.com 及 doc.hcs.huawei.com 网站上删除这里我特意把表格补充了一下未来备查因为最外层安装包文件名上是看不到内核版本号的只能看到25.1.30.10、26.861.0这样的版本号。TPOPS包tpops安装时需要的包打成了分arm64/amd64的两个大包TPOPS-GaussDB-Server_x86_64_V2.0_26.861.0.20260601164122.132474918.tar.gzTPOPS-GaussDB-Server_aarch64_V2.0_26.861.0.20260601164122.132474918.tar.gz解压后是一个TPOPS-GaussDB-Server目录里面放了和之前一样的几个包DBS-docker-service*.tar.gzDBS-GaussDBConsole-Server*.tar.gzDBS-GaussDB-Server*.tar.gzDBS-Platform-Server*.tar.gzGaussDB_OS_PATCH*.zip减少了需要分发的文件挺好。但是本质上安装需要的东西还是一样的只是额外又打了一层包而已。内核安装包操作系统/CPU的合并与拆分之前是每个操作系统对应一个内核安装包arm64和amd64的在一个包里且带符号表现在合并成了改为3个操作系统乘以2个cpu架构一共6个内核安装包不带符号表。GaussDB这么一改我之前写的提取内核安装包的脚本就不适用了(【GaussDB】如何从GaussDB发布包中提取出内核二进制文件)。3个操作系统分别为Hce/Euler/Suse但这并不意味着就只支持这三个操作系统其实这三个只是标识真正对应的是三个分支及其发行版安装包名Linux分支官方支持的操作系统DBS-GaussDB-Suse-Kernel*SUSESUSE 12 SP5 (Linux 4.x)SUSE 15 SP7 (Linux 6.x)DBS-GaussDB-Euler-Kernel*openEuler 20* (Linux 4.x)麒麟 V10 SP1麒麟 V10 SP2麒麟 V10 SP3麒麟 V10 SP3 2403(arm64)统信 V20 1050eBClinux 21.10(arm64/intel)BClinux R8U2(海光)(基于Anolis OS 8.2)中科方德 V4.0麒麟信安 v3.4.5 update1(arm64)CTyunOS V2.0 22.06(Linux 5.x)DBS-GaussDB-Hce-Kernel*openEuler 22/24(Linux 5.x/6.x)HCE 2.0openEuler 22.03麒麟 V11 2503(arm64)这种合并有利于减少厂家发布的安装包体积以及分发到客户的安装包体积符号表不用发内核包只发对应CPU架构的而且对于原厂的测试工作量来说也会少很多暂不确定华为是否有针对不同操作系统搭了完整测试流水线还是仅做了基本兼容性测试。这个分法其实很奇怪一开始我以为是按Linux内核版本后面细看不对SUSE还是混了两个内核版本当然安装步骤有些特殊要求就当是例外了CTyunOS 是基于openEuler 22的对应的是Linux 5.xHCE2.0 是 Linux 5.x;麒麟V11 是Linux 6.x。再细看官方文档发现有个特殊的点如果主机的操作系统是麒麟 V10、统信、中科方德、麒麟信安、CTyunOS或者BCLINUX则支持的Python版本为3.7.9如果主机的操作系统是麒麟 V11则支持的Python版本为3.11.6如果主机的操作系统是HCE或者openEuler则支持的Python版本为3.9.9如果主机的操作系统为SUSE12.5则支持的Python版本为3.8.5。如果主机的操作系统为SUSE15.7则支持的Python版本为3.11.4。也就是说抛开SUSE不看其实只有两个特殊情况即CTyunOS 22和麒麟v11后者是唯一的Linux 6.x前者是把默认的Liunx 5.x的python 3.9.9改成了3.7.9,所以归到了openEuler 20的那一组。然后还有个特殊的中科方德v4.0其实有基于openEular 20、22SP2两个版本的这里没有区分不知道是华为没测还是这两个版本的python版本也一样。所以真正的分组方式可以说是按操作系统默认的python版本来的SUSE不算3.7.9一组大于等于3.9.9一组。在版本兼容性方面最恶心的高级开发语言另外不同操作系统总会有些小版本补丁之前505和506版本时对操作系统版本要求明确到了小版本号实施时发现小版本对不上又得重装操作系统而操作系统厂家说这个版本有漏洞要升级数据库文档又明确只能用指定得版本无法实施。到507这个版本则去掉了对小版本的指定在GaussDB版本说明书里有这样一段说明:Kylin在同一个SP会发布小补丁版本比如表中SP1小补丁版本4.19.90-23.35、4.19.90-23.42、4.19.90-23.48等这种小补丁主要针对漏洞和问题修复Kylin确认接口保持前向兼容的情况下GaussDB默认是兼容的。如果局点需要验证可在现场使用《GaussDB 验收测试指南》快速完成验证。《GaussDB V2.0-26.861.0 集中式版验收测试指南(for 轻量化部署形态) 01.docx》但这个测试里对于数据库本身的测试只有建库、建schema、建用户、授权、建表、增删改查。部署形态新增及飞腾的支持之前有内核有集中式/分布式两个版本包名带ha的是集中式不带ha的是分布式现在变成了5个分别为集中式 v10.0.0-GaussDBV5-install-euler-ha-aarch64_5e56410e558bd0e6e034289287885539053de7c9d9e6e7aed26cb7252a26d70f.tar.gz分布式 v10.0.0-GaussDBV5-install-euler-aarch64_832c43e8b76864ebdb3965b188eb48d093151ad08015c4225a6924632aafe32c.tar.gz集中式 noLSE v10.0.0-GaussDBV5-install-euler-ha-aarch64_5e56410e558bd0e6e034289287885539053de7c9d9e6e7aed26cb7252a26d70f.tar.gz分布式 noLSE v10.0.0-GaussDBV5-install-euler-noLSE-aarch64_bd184f01beed2f409edc3e02a73fd7acb50f4866bcda0d24f372d187403b2f53.tar.gz透明多写cloudnative v10.0.0-GaussDBV5-install-euler-cloudnative-aarch64_ebbda1430bb1695618cad18dbca607462be53bc416f00a34046ff8ec92de95a4.tar.gznoLSE是针对飞腾CPU的支持虽然和鲲鹏920同为arm64架构但飞腾cpu不支持LSE指令旧版本openGauss在飞腾机器上跑不起来就是这个原因所以内核需要额外编译一个不同的版本。505.2SPC0800版本飞腾的包是单独的大包。对于透明多写这个我相当想吐槽为何包名要叫云原生但后来去了解了下GaussDB的透明多写不再是传统架构了而是使用多计算节点、内存池化、分布式共享存储、PDB级日志流等重构了资源的使用方式符合常规意义上的云原生架构。透明多写的相关说明可参考 《专家实录GaussDB池化透明多写架构带来的三重突破》符号表原本符号表是在内核安装包里的现在拆出来了比如GaussDB的Euler版本对应的符号表包DBS-GaussDB-Euler-Symbol_aarch64_V2.0-10.0.0_26.861.0.0.1109004653171008.tar.gzDBS-GaussDB-Euler-Symbol_x86_64_V2.0-10.0.0_26.861.0.0.1109004653171008.tar.gz注意解压后会区分不同的系统版本安装文档里未提及比如Hce2.0和Hce3.0、Euler2.5和Euler2.10。Euler2.5的Linux内核是3.x 没找到对应的数据库内核二进制Euler2.10的Linux内核是4.xHCE 2.0基于openEuler 22.03 LTS版本对应Linux 5.xHCE 3.0基于openEuler 24.03 LTS SP1版本,对应Linux 6.x 对应了麒麟V11的Linux版本驱动包在505版本里除了单独的driver包内核包里也带了连接驱动506版本内核包里就不带驱动了507版本同样不在内核包里带驱动driver包也拆成了arm64和amd64两个。driver包里的python驱动不是按照操作系统默认的python版本来了而是统一改成了基于python 3.11的【GaussDB】手动编译不同python版本的psycopg2驱动以适配airflow之前这篇文章里提到的在麒麟v10arm64使用python3.10和3.11调用psycopg2会coredump的问题改用这个包就没问题了。505 的jdbc驱动只有 jdk8的506增加了jdk17的507又增加了jdk21的。OM-AGENT包和DBMIND包这两个包没有变化仍然是DBS-GaussDB-Kernel_*.tar.gz – OM-AGENTDBS-DBMind-Manual_*.tar.gz – DBMIND文档包这个版本的产品文档可以免登录直接下载:https://support.huawei.com/enterprise/zh/cloud-computing/hcs-gaussdb-v2.0-software-pid-265624857产品文档包发生了变化里面除了原本的chm文件还多了一个zip这个zip和外面这个zip同名解压的时候注意不要覆盖了。里面的zip解压后是一个html版本的文档支持简单的搜索但首次搜索很慢还需要消耗浏览器2GB内存(这个内存会慢慢降到700MB左右)。于是我顺便用AI优化了一下增强了搜索优化了性能节省了内存占用文档优化补丁的代码可以从这里获取 https://cnb.cool/darkathena/gaussdb-507-docs-html-patch 。多了一个 GaussDB V2.0-26.861.0 虚拟化最佳实践(for 轻量化部署形态) 01 里面是如何在虚拟机里部署tpops及GaussDB这算是从官方层面认可了GaussDB可以在虚拟机上使用之前华为交付上都是把在虚拟机部署GaussDB认为是非标安装出现问题可以不负责的。多了一个 “GaussDB AI助手 V2.0-26.861.0.1 产品文档(for 轻量化部署形态)”基本就是一个带知识库的、能对接TPOPS及HCS获取主机及实例信息的AI对话工具用户需自行提供大模型api。另外有一个点需要提一下 GaussDB V2.0-26.861.0 账户一览表(for 轻量化部署形态) 01 这个文件里部分之前版本有写的密码在新版本中不再提供了比如tpops的元库core用户的密码如果需要获取密码需要在tpops服务器上使用以下命令获取sh/data/docker-service/action/common/metadb_operator.sh query_pwd core其他文档我就没细去对比了。supportGaussDB这个版本起support网站的路径都发生了变化原本是GaussDB和GaussDB inside,改到了HCS GaussDB V2.0 Softwarehttps://support.huawei.com/enterprise/zh/cloud-computing/hcs-gaussdb-v2.0-software-pid-265624857总结从文档和安装介质上的变更来看GaussDB 507这个版本的确是做了不少东西能够看到华为在GaussDB上面的投入量还是挺大的。本文作者DarkAthena本文链接https://www.darkathena.top/archives/gaussdb-507-kernel-setup-package-changes版权声明本博客所有文章除特别声明外均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处
返回列表