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

从D-SMART信创适配说起

白鳝的洞穴 2020-11-19
3576
随着国产化进程的加速,基石数据也启动了对信创产品的支持。D-SMART是一个十分复杂的应用软件系统,其复杂程度不只是软件系统本身的复杂性,而是作为一款深度运维工具,需要通过D-SMART和几乎所有的企业需要的运维对象进行交互。今天我们讨论一下D-SMART平台的华为泰山服务器的适配工作的情况,从中也可以看到信创生态的建设还是任重道远的。
D-SMART的核心代码是JAVA编写的,从X86架构迁移到ARM架构没有什么压力,都不需要进行重编译就可以平稳迁移。虽然安装部署D-SMART所需的平台软件的时候遇到了一些问题,不过依靠华为云主机提供的YUM源很快也就解决了。

D-SMART熟悉的界面很快就显示出来了。于是马上把D-SMART内置的Postgresql数据库接入了监控。

基本上数据库的重要指标以及健康评估都能够看到了。健康模型也没有任何问题:

难道信创迁移如此简单吗?于是我们准备进行一些比较深入的测试,看看日检分析怎么样。

日检报告是出来了,不过日检中的所有项目返回的结果都不符合标准,这是什么原因呢?是我们的日检工具版本不对吗?

通过诊断工具进行诊断测试,发现也出不来结果。通过后台日志分析发现,原来是我们的所有PYTHON脚本都无法正常运行。于是我们马上一点点排查,把所有报错点的依赖包都改为ARM版本的。这个工作是比较复杂的,为了确保我们的D-SMART能够同时支持X86架构,又能够支持ARM架构,需要对二者不兼容的部分做逐一的修改。幸亏这些代码都在公共代码包里,修改的总体工作量不是很大。经过一晚上的奋战,这部分问题也解决了。
这个时候另外一个问题出现了,因为我们要连接各种数据库、中间件等组件,而这些IT组件的PYTHON连接驱动包都是X86上的,大部分是找不到ARM版本的。于是我们又开始了这部分驱动的ARM版本的寻找。Mysql的ARM版本驱动没有任何困难就找到了。下一步我们再考虑下国产数据库,首先我们考虑到高斯数据库是华为的,因此我们首先查找gaussdb 1.0的驱动,在网上找了半天也找不到。于是我们先放弃了高斯,继续查找达梦的驱动包。也是无法找到,幸亏我们和达梦的合作比较密切,通过和达梦的朋友沟通,很快找到了相关驱动的源代码,在泰山服务器上做一个编译就解决了。
最后我们才想到商用数据库,原来我们访问Oracle数据库的PYTHON驱动是基于OCI的,而Oracle CLIENT是没有支持ARM环境的,这条路是肯定走不通的。于是我们只能采用迂回的方法来解决这个问题。采用python-jdbc的方式可以避免所有数据库的驱动问题,将所有连接数据库的操作转换为通过JDBC引擎实现,虽然在性能上有些牺牲,不过可以较为彻底的解决这个问题。对于无法提供原生态PYTHON驱动的数据库产品只能通过这个模式了。
虽然说我们最终找到了一些方法来解决信创产品的一些兼容性问题,从中,我们也发现了信创生态中存在的一个较大的问题。就是我们缺乏一个信创资源的公共资源库平台,使我们的信创改造工作变得十分复杂,一个小问题就需要通过自己的资源和人脉去到处查找,这不利于信创生态的成长。
文章转载自白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论