Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


软硬件环境需求

📄字数 3.4K
👁️阅读量 加载中...

本文介绍 XuguDB 对软件和硬件环境的需求。XuguDB 可以很好地部署和运行在 Intel 架构服务器环境、ARM 架构的服务器环境及主流虚拟化环境,并支持绝大多数的主流硬件网络。作为一款高性能数据库系统,XuguDB 支持主流的 Linux 操作系统环境。

一、操作系统及平台要求

针对不同操作系统和 CPU 架构,XuguDB 支持以下操作系统以及对应的 CPU 架构组合:

操作系统支持的CPU架构
Windows 7/10/11​​x86_64
Red Hat Enterprise Linux 8.4 及以上的 8.x 版本x86_64
aarch64
银河麒麟 V10 SP1/SP2/SP3x86_64
aarch64
统信 UOS V20x86_64
aarch64
SUSE Enterprise Linuxx86_64
aarch64
Debianx86_64
aarch64
Ubuntux86_64
aarch64
凝思 LinxOSx86_64
aarch64
龙蜥 AnolisOSx86_64
aarch64
中科方德 NFSChinax86_64
aarch64
Fedorax86_64
aarch64

1.1 编译和运行 XuguDB 所依赖的库

1.1.1 安装OpenSSL

提示

OpenSSL 支持发行包安装和源码安装,请根据实际应用场景选择合适的方式安装。

1.1.1.1 发行包安装

请尝试从如下网站中下载并安装所需版本的 OpenSSL 发行包:
https://pkgs.org/search/?q=openssl
https://rpmfind.net/linux/rpm2html/search.php?query=openssl
https://ftp.debian.org/debian/pool/main/o/openssl/
https://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/?C=M;O=D
如未能找到所需的发行包,可尝试OpenSSL源码安装,源码安装可根据需求更灵活的选择OpenSSL版本。

1.1.1.2 源码安装

提示

下述操作步骤展示的源码安装方式仅支持在Linux操作系统进行。
该章节内容仅作为源码编译安装方式参考,目前数据库支持多版本的openssl,linux环境中通常已经存在openssl动态库,如环境中自带动态库已经满足使用需求,则无需额外安装

  1. https://openssl-library.org/source/old/index.html 下载所需版本的 OpenSSL 源码文件,格式为tar.gz
  2. 执行命令tar -zxvf xxx.tar.gz,解压 OpenSSL 源码文件。其中“xxx”为 OpenSSL 版本号,例如:openssl-1.1.1f
  3. 执行命令cd openssl-1.1.1f,进入源码目录。
    执行命令./config --prefix=<your_path>,配置安装路径。“<your_path>”为自定义的安装路径。配置过程中可能会出现一些问题,可以根据实际出现的报错在搜索引擎中搜索或参考 OpenSSL 的官方文档进行解决。
  4. 执行命令make && make install,编译并安装 OpenSSL。
    也可以选择先执行命令make,结束后在当前路径下可以看见编译产物,如“libcrypto.a”、“libcrypto.so”等,再执行命令make install,结束后在“--prefix”路径下可以看见安装后的内容,主要包含bin、include、lib三个目录,lib目录下的内容主要包含: libcrypto.so, libcrypto.so.1.1, libcrypto.a, libssl.so, libssl.so.1.1, libssl.a
  5. 配置环境变量,目前虚谷数据库依赖 libcryptolibssl 动态库,因此根据当前操作系统的环境变量配置方式,可以考虑以下 3 种配置方法:
  • 方法一:配置 LD_LIBRARY_PATH。
    将安装目录下的 lib 目录,配置入 LD_LIBRARY_PATH 环境变量,可选择临时配置和持久化配置两种方式。

    • 临时配置:执行命令export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:openssl_lib_path,将 libcrypto.so.1.1、libssl.so.1.1 所在路径添加到 LD_LIBRARY_PATH。该配置在终端退出后失效,新终端需要重新配置。
    • 持久化配置:执行命令export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:openssl_lib_path,写入“~/.bashrc”、“~/.bash_profile”或系统级别的“/etc/profile”,然后执行命令source ~/.bashrc保存并使配置生效(或使其他文件生效的对应操作)。该配置持久生效。
  • 方法二:配置ld.so.conf.d
    执行命令echo "openssl_lib_path" | sudo tee /etc/ld.so.conf.d/openssl_lib.conf,创建一个新的配置文件,然后执行命令sudo ldconfig。(注:此处“openssl_lib_path”为之前编译好的 OpenSSL 的 lib 的路径,“openssl_lib.conf”文件的名称任意,此处仅为示例,文件名以.conf结尾即可)。

  • 方法三:拷贝动态库到系统默认路径。
    将安装目录下的lib目录中的libcrypto.so.1.1libssl.so.1.1拷贝至环境中现有的环境变量路径下,如/usr/lib64等。

提示

方法三需谨慎操作,建议使用方法一或方法二,系统默认openssl动态库如被替换,可能导致原有应用(如SSH)无法使用等问题。
数据库启动时,如未能链接到合适的libcrypto、libssl动态库,则会停止启动并在ERROR.LOG中记载相关信息。
若ERROR.LOG中记录报错:Load openssl lib failed,则代表未找到libcrypto或libssl动态库。检查环境中是否存在libcrypto.so.1.1和libssl.so.1.1,或libcrypto.so.3和libssl.so.3,或libcrypto.so.1.0.0和libssl.so.1.0.0,若不存在,可以执行 which openssl 命令,找到环境中 openssl 的绝对路径,假定为/usr/local/bin/openssl,执行 ldd /usr/local/bin/openssl,则可以在下方的动态链接列表中得到环境中libcrypto与libssl动态库的位置,可以选择创建软链接libcrypto.so和libssl.so分别指向它们,之后重启数据库

二、软件配置要求

2.1 OpenSSL

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用。

提示

虚谷数据库自V12.8.5版本起(之前版本不受影响),运行依赖于OpenSSL,请在安装部署前配置正确版本的OpenSSL。
如果您的服务器中已有符合版本要求的OpenSSL,则可跳过本章节。

2.1.1 版本需求

2.1.1.1 Linux

XuguDB目前对 OpenSSL 1.0.x1.1.x3.x 版本和Tongsuo所有版本进行了适配支持,使用上述版本均可以正常运行数据库,但在不同的版本下,XuguDB可以支持的功能有所差异,版本与功能对应表格如下:

随机数dbms_cryptoSM2、SM3、SM4 CBCSM4 GCMTLSTLCP
openssl 1.0.x支持支持不支持不支持支持不支持
openssl 1.1.0支持支持不支持不支持支持不支持
openssl 1.1.1支持支持支持不支持支持不支持
openssl 3.0支持支持支持不支持支持不支持
openssl 3.1及以上支持支持支持支持支持不支持
tongsuo支持支持支持支持支持支持

以OpenSSL 1.1.1版本为例,可以支持随机数、dbms_crypto包、SM2算法、SM3算法、SM4算法CBC模式、TLS连接加密,不支持SM4算法GCM模式和TLCP连接加密。

提示

  • 上文表格中内容仅作为理论参考,实际环境中的动态库未必支持,比如 Openssl 若在编译时开启no-sm4选项,则编译出的动态库中则不包含sm4算法相关的符号,对应功能也就无法支持
2.1.1.2 Windows

Windows平台下,XuguDB 安装包中附带了OpenSSL 1.1.1的依赖库,如果平台的 OpenSSL 不符合要求,可使用安装包中附带的依赖库,依赖库libcrypto-1_1-x64.dlllibssl-1_1-x64.dll位于BIN目录下,和数据库可执行程序同级。同时安装包中也附带了 tongsuo 8.3.1 的动态库,位于安装包的BIN/LIB_TONGSUO目录下,如需使用,需将动态库复制到BIN目录下,原有的动态库文件注意备份。