软硬件环境需求
📄字数 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/SP3 | x86_64 aarch64 |
| 统信 UOS V20 | x86_64 aarch64 |
| SUSE Enterprise Linux | x86_64 aarch64 |
| Debian | x86_64 aarch64 |
| Ubuntu | x86_64 aarch64 |
| 凝思 LinxOS | x86_64 aarch64 |
| 龙蜥 AnolisOS | x86_64 aarch64 |
| 中科方德 NFSChina | x86_64 aarch64 |
| Fedora | x86_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动态库,如环境中自带动态库已经满足使用需求,则无需额外安装
- 从https://openssl-library.org/source/old/index.html 下载所需版本的 OpenSSL 源码文件,格式为
tar.gz。 - 执行命令
tar -zxvf xxx.tar.gz,解压 OpenSSL 源码文件。其中“xxx”为 OpenSSL 版本号,例如:openssl-1.1.1f。 - 执行命令
cd openssl-1.1.1f,进入源码目录。
执行命令./config --prefix=<your_path>,配置安装路径。“<your_path>”为自定义的安装路径。配置过程中可能会出现一些问题,可以根据实际出现的报错在搜索引擎中搜索或参考 OpenSSL 的官方文档进行解决。 - 执行命令
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。 - 配置环境变量,目前虚谷数据库依赖
libcrypto和libssl动态库,因此根据当前操作系统的环境变量配置方式,可以考虑以下 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.1、libssl.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.x、1.1.x、3.x 版本和Tongsuo所有版本进行了适配支持,使用上述版本均可以正常运行数据库,但在不同的版本下,XuguDB可以支持的功能有所差异,版本与功能对应表格如下:
| 随机数 | dbms_crypto | SM2、SM3、SM4 CBC | SM4 GCM | TLS | TLCP | |
|---|---|---|---|---|---|---|
| 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.dll与libssl-1_1-x64.dll位于BIN目录下,和数据库可执行程序同级。同时安装包中也附带了 tongsuo 8.3.1 的动态库,位于安装包的BIN/LIB_TONGSUO目录下,如需使用,需将动态库复制到BIN目录下,原有的动态库文件注意备份。
