目录

一、前言:传统表空间创建的运维痛点

二、自动创建表空间目录核心方案

2.1 核心控制参数

2.2 功能强制约束条件

2.3 多场景实操测试(含大小写混合路径)

场景1:目标目录已存在

场景2:目标目录部分存在

场景3:全目录不存在(大小写混合路径)

三、信创生态下的国产环境深度适配

3.1 异构系统路径跨平台兼容

3.2 主流国产文件系统适配

3.3 结合国产加密文件系统实现透明加密

四、功能价值与总结


一、前言:传统表空间创建的运维痛点

在日常运维KingbaseES旧版本的过程中,经常遇到表空间创建失败的问题。旧版数据库有一个硬性要求,必须提前登录服务器手动建立好对应的存储目录,否则直接执行建表空间SQL,会直接抛出异常导致创建失败。这种传统的手动操作方式,在实际项目落地中非常不友好。

实际工作中能明显感受到这套流程的弊端,手动建目录、改属主、调权限,步骤繁琐且很容易手滑出错。尤其是在跨平台迁移、信创服务器部署时,目录权限适配杂乱,报错频率很高。同时这种人工前置操作,完全跟不上现在自动化部署、容器集群批量运维的节奏,整体部署效率大打折扣。

二、自动创建表空间目录核心方案

针对一线运维遇到的这类实际问题,金仓在后续版本迭代中针对性优化,上线了表空间目录自动创建功能。运维人员在创建表空间时,若填写的存储路径不存在,数据库会自动递归生成完整的目录结构,省去了手动新建目录的步骤,很大程度简化了表空间的部署流程。

2.1 核心控制参数

这个自动功能的启停,由数据库参数 auto_createtblspcdir 控制,数据库默认开启该参数,适配日常绝大多数的运维场景,无需额外配置。

参数为on时,未存在的目录会自动创建,但路径中已有的上级目录,必须归属KingbaseES操作系统用户;如果将参数改为off,自动创建功能直接关闭。此时创建表空间必须保证目标目录已存在、为空且权限正确,不然就会报错,一般生产核心环境都会关闭该参数,用来严格管控存储目录权限。

2.2 功能强制约束条件

为兼顾运维便捷性与数据库运行安全性,该自动创建功能需要满足五项官方固定约束条件,全部达标后才可正常使用。

第一,配置的存储路径必须是绝对路径,不支持相对路径;第二,目录路径不能设置在数据库data系统目录内;第三,目标路径下不能存在其他表空间,避免出现存储数据冲突;第四,表空间创建操作仅允许数据库超级用户执行;第五,路径中已存在的上级目录,操作系统属主必须为KES运行用户。

2.3 多场景实操测试(含大小写混合路径)

参考官方给出的测试用例,我选取了三类高频使用场景验证该功能的实际可用性,同时专门针对大小写混合路径做兼容性测试,贴合真实部署环境。

场景1:目标目录已存在

服务器端已提前搭建好完整的存储目录结构,可直接执行建表空间SQL语句,顺利完成创建操作,业务测试结束后可正常清理资源。

-- 操作系统提前创建完整目录
\! mkdir -p /home/zhangjing/dailybuild0904/bin/test/test1/test2/mysp1
-- 创建表空间
create tablespace mysp1 location '/home/zhangjing/dailybuild0904/bin/test/test1/test2/mysp1';
-- 资源清理
drop tablespace mysp1;
\! rm -rf /home/zhangjing/dailybuild0904/bin/test
场景2:目标目录部分存在

针对运维中常见的“上级目录存在、下级存储目录缺失”场景,KES可自动补齐所有缺失的多级目录,无需人工手动逐级创建。

-- 操作系统仅创建部分上级目录
\! mkdir -p /home/zhangjing/dailybuild0904/bin/test/test1
-- 自动补全目录并创建表空间
create tablespace mysp1 location '/home/zhangjing/dailybuild0904/bin/test/test1/test2/test3/mysp1';
-- 资源清理
drop tablespace mysp1;
\! rm -rf /home/zhangjing/dailybuild0904/bin/test
场景3:全目录不存在(大小写混合路径)

本次测试特意使用大小写混合路径TEst3,用来验证数据库对非常规路径的兼容能力。全程无需手动创建任何目录,直接执行语句即可自动生成完整路径,同时支持正常建表和业务数据写入。

-- 自动生成全部缺失目录(大小写混合路径)
create tablespace mysp1 location '/home/zhangjing/dailybuild0904/bin/test/test1/test2/TEst3';
-- 创建业务表并写入数据
create table cc(id int,name varchar(50)) tablespace mysp1;
insert into cc values(1,'xiaozhang'),(2,'xiaozhao'),(3,'xiaohong');
-- 数据验证
select * from cc;

从实际测试结果来看,三类场景均运行稳定,数据库能够精准识别大小写混合路径,目录创建、数据读写操作均无异常,整体功能可靠性较高。

三、信创生态下的国产环境深度适配

2026年以来,国产操作系统、国产文件系统在政企场景全面落地商用。KES的目录自动创建功能,除了优化日常运维工作外,还完成了异构路径兼容、国产存储适配、加密存储融合等多项适配优化,完全贴合当下信创业务的部署需求。

3.1 异构系统路径跨平台兼容

数据库在Windows、Linux、国产Unix系统之间迁移时,路径分隔符差异、路径大小写敏感度不同是最常见的适配问题,KES通过内核针对性优化,解决了这一痛点。

路径分隔符层面,Windows默认使用反斜杠,各类国产系统统一使用正斜杠。KES支持用户用统一正斜杠编写SQL,内核会根据当前运行环境自动适配对应系统路径格式,实现跨平台无缝迁移。

大小写适配层面,Windows对路径大小写不敏感,而麒麟、统信UOS等国产系统严格区分大小写。KES完美适配国产系统的运行规则,可正常识别TEst3这类混合大小写路径,有效规避迁移过程中的报错问题。

3.2 主流国产文件系统适配

目前KES已完成龙蜥ANCK FS、欧拉iSula FS等主流国产文件系统的兼容性适配,该自动创建功能在各类国产存储环境中均可稳定、合规运行。

龙蜥ANCK FS兼容标准POSIX协议,KES能够正常识别其目录权限和属主信息;欧拉iSula FS主打容器化云原生场景,支持挂载点多级目录自动创建,适配国产服务器云原生部署架构。

与此同时,该功能完美适配统信UOS、银河麒麟原生文件系统,自动创建的目录会默认绑定kingbase用户属主,完全满足信创项目的等保合规标准。

3.3 结合国产加密文件系统实现透明加密

依托官方明确的目录属主配置要求,KES可以直接对接国产操作系统的文件级加密能力,实现业务数据的透明加密存储,进一步提升信创环境的数据安全等级。

国产加密文件系统有明确权限限制,加密目录仅允许属主账号读写访问。KES自动创建目录时,会统一配置kingbase属主及专属访问权限,完全匹配国产加密系统的权限规范。

借助这一特性,我们可以在国产加密目录中创建表空间,数据文件会自动继承系统加密属性,搭配KES内置的国密SM4加密算法,实现存储全链路加密,符合等保规范和数据安全相关要求。

-- 1. 初始化加密目录及权限
\! mkdir -p /encrypt/kes/tbs
\! chown kingbase:kingbase /encrypt/kes/tbs
\! chmod 700 /encrypt/kes/tbs
-- 2. 自动创建加密路径表空间
create tablespace encrypt_tbs location '/encrypt/kes/tbs/TEst3';
-- 3. 创建加密业务数据表
create table secure_data(id int, info text) tablespace encrypt_tbs;

经过实际操作验证,整套流程执行顺畅,可同时实现目录自动创建、权限隔离和数据加密效果,高度适配国产安全存储应用场景。

四、功能价值与总结

结合实际落地体验来看,KingbaseES新增的表空间目录自动创建功能,是一项很贴合现场运维需求的实用优化。它既解决了传统部署模式的繁琐问题,也兼顾了数据库运行安全,同时深度适配了当下主流的国产信创软硬件环境,在现阶段的国产化替换项目中实用性非常强。

在日常运维工作中,该功能最大的优势就是降低了人为操作风险。省去了手动新建目录、调整权限和属主的重复工作,完美适配现在主流的自动化部署、容器化集群以及批量上线场景,能够实实在在缩短部署耗时,提升整体运维工作效率。

随着信创产业不断落地深化,数据库早已不只是单纯的业务承载工具,生态适配能力尤为关键。本次目录自动创建的优化,看似是小的功能迭代,却极大提升了KES在国产环境的适配度,也充分体现了国产数据库贴合本土生态、适配实际业务场景的研发理念,为各行业核心系统国产化平稳迁移、稳定运行提供了可靠保障。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐