safety-eval-service/docs/gbs/OSS配置汇总.md

170 lines
7.5 KiB
Markdown
Raw Normal View History

# GBS 平台文件存储(OSS)配置汇总
> **生成时间**2026-06-30 10:05
> **数据来源**Nacosjjb-dragon 命名空间)+ MySQL `jjb-saas-attachment` 库
> **结论**:平台文件存储**全部使用阿里云 OSS**,无 MinIO 在用
---
## 一、核心结论
| 项目 | 值 |
|------|-----|
| **存储后端** | 阿里云 OSSAliyun Object Storage Service |
| **支持的存储类型** | `ALIYUN_OSS`(普通文件 70 个渠道)、`ALIYUN_VIDEO_OSS`(视频点播 28 个渠道) |
| **存储 Region** | 华东1杭州`oss-cn-hangzhou` |
| **Bucket** | `test-dragon-yf-pub`(所有租户共用) |
| **总容量** | 平台级 4 TB4398046511104 字节),单租户默认 100 GB |
| **已用容量** | 平台级 3.09 TB3096225104031 字节 / ≈ 2.81 TiB |
| **Nacos 默认存储策略** | `ALIYUN_OSS` |
| **MinIO 状态** | 容器在运行,但**仅作历史残留**,无任何业务使用 |
---
## 二、Nacos 默认存储策略
Nacos 命名空间 `jjb-dragon` → 配置 `jjb-saas-attachment.yml`
```yaml
attachment:
# 默认存储空间 支持MINIO、ALIYUN_OSS
storage-policies: ALIYUN_OSS # ← 当前使用阿里云 OSS
file-view-url: ${common.gateway.network.http.external}/fileview/onlinePreview
expiration: 3600
default-init-capacity: 102400 # 默认 100 GB
minio:
inter:
replace-enum: true
url: http://192.168.1.117:9001 # ← 旧地址,无效(已弃用)
```
> ⚠️ 注释里仍写着"支持 MINIO、ALIYUN_OSS",但 `minio.inter.url` 指向已不存在的旧环境 `192.168.1.117:9001`。当前业务完全走 OSS不影响上传。
---
## 三、阿里云 OSS 凭证2 套 — 文件/视频)
| 用途 | AccessKeyId | AccessKeySecret | Bucket | Region | 内/外网 Endpoint |
|------|-------------|-----------------|--------|--------|------------------|
| **ALIYUN_OSS**(文件) | `LTAI5tFerUgBCLEbXtinDD6d` | `XyGVNV2RvW8U3ceoJDiy9A9oLvCGYp` | `test-dragon-yf-pub` | oss-cn-hangzhou | `https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com` |
| **ALIYUN_VIDEO_OSS**(视频) | `LTAI5tDAMFkin5tavp4thfaG` | `XoBYTtIgeHOiz3udiP5gm0rcdRWp25` | `test-dragon-yf-pub` | oss-cn-shanghairegionId | 同上 |
**URL 模板**(来自 `attachment_tenant_channel.channel_config` JSON
```json
{
"rootDir": "jjb",
"endpoint": "oss-cn-hangzhou.aliyuncs.com",
"bucketName": "test-dragon-yf-pub",
"expiration": null,
"accessKeyId": "LTAI5tFerUgBCLEbXtinDD6d",
"accessKeySecret": "XyGVNV2RvW8U3ceoJDiy9A9oLvCGYp",
"innerNetBaseUrl": "https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com",
"outerNetBaseUrl": "https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com",
"innerFileViewBaseUrl": "https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com",
"outerFileViewBaseUrl": "https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com"
}
```
> ⚠️ 视频 OSS 凭证中 `regionId: cn-shanghai` 与 `endpoint: oss-cn-hangzhou` 不一致(**疑似配置错配**),但实际请求走 endpoint杭州 bucket 可正常访问。如切换视频点播需注意。
---
## 四、数据库表结构
### 4.1 `attachment_tenant_channel`(租户存储渠道绑定表)
| 字段 | 说明 |
|------|------|
| `id` | 主键 |
| `channel_owner_enum` | 渠道所属PLATFORM / 自定义) |
| `channel_type_enum` | 渠道类型ALIYUN_OSS / ALIYUN_VIDEO_OSS / MinIO 等) |
| `channel_name` | 渠道名称 |
| `channel_config` | 渠道配置 JSON含 endpoint/bucket/accessKey 等) |
| `total_storage_size` | 总容量(字节) |
| `default_enum` | 是否默认渠道 |
| `tenant_id` / `org_id` | 租户/机构 |
**数据规模**98 条记录70 个 ALIYUN_OSS + 28 个 ALIYUN_VIDEO_OSS
### 4.2 `oss_region_endpoint`OSS 区域映射表)
预置 16 个阿里云 OSS Region杭州/上海/北京/深圳/香港/美国等),用于 endpoint 路由。
| 关键 Region | 外网 endpoint | 内网 endpoint |
|-------------|---------------|---------------|
| 华东1杭州 | oss-cn-hangzhou.aliyuncs.com | oss-cn-hangzhou-internal.aliyuncs.com |
| 华东2上海 | oss-cn-shanghai.aliyuncs.com | oss-cn-shanghai-internal.aliyuncs.com |
| 华北2北京 | oss-cn-beijing.aliyuncs.com | oss-cn-beijing-internal.aliyuncs.com |
| 华南1深圳 | oss-cn-shenzhen.aliyuncs.com | oss-cn-shenzhen-internal.aliyuncs.com |
| 中国香港 | oss-cn-hongkong.aliyuncs.com | oss-cn-hongkong-internal.aliyuncs.com |
### 4.3 `attachment_file`(文件元数据表)
| 关键字段 | 说明 |
|----------|------|
| `storage_type_enum` | 存储类型(本地/阿里OSS/本地minio等 |
| `bucket_name` | bucket 名(如 `test-dragon-yf-pub` |
| `url` | 上传文件 URL |
| `preview_url` / `download_url` | 预览/下载地址 |
| `status_enum` / `upload_status_enum` | 状态/上传状态 |
| `file_size` / `name` / `ext` | 文件属性 |
| `channel_id` | 渠道 id关联 `attachment_tenant_channel` |
### 4.4 `attachment_storage`(存储用量表)
| 字段 | 说明 |
|------|------|
| `tenant_id` | 租户 |
| `total_storage_size` | 总配额(字节,默认 107374182400 = 100 GB |
| `occupied_storage_size` | 已用容量(字节) |
**平台总和**4 TB 配额3.09 TB 已用(**73% 使用率**
---
## 五、最近文件上传样本
```
id: 2065350515959717890
name: 48afad885c233d3cf82fa3b779002554
storage_type_enum: NULL
bucket_name: test-dragon-yf-pub
file_size: 410715
create_time: 2026-06-12 16:28:30
```
> 注意:`storage_type_enum` 字段为 NULLschema 里没存具体值),但 `bucket_name` = `test-dragon-yf-pub` 表明所有文件都上传到了阿里云 OSS。
---
## 六、MinIO 容器状态(仅作残留)
```
容器名: minio
状态: Up 13 days
端口: 0.0.0.0:9000-9001 (API/Console)
数据目录: /data
内容: .minio.sys/ jjb-attachment/ (jjb-attachment 桶内只有 test.txt)
```
**结论**MinIO 容器仍在运行(端口 9000/9001 暴露在 master 节点),但桶内无业务数据,**仅作早期本地化部署残留**。Nacos 配置文件 `minio.inter.url` 指向的 `192.168.1.117:9001` 早已不可达(应为 192.168.20.100:9000但因为默认策略是 ALIYUN_OSS所以**未影响实际业务**。
---
## 七、问题与改进建议
1. **MinIO 配置应清理**`jjb-saas-attachment.yml` 的 `minio.inter.url` 指向旧地址 `192.168.1.117:9001`,与现状不符,应改为 `192.168.20.100:9000` 或直接移除(既然不使用)。
2. **视频 OSS region 错配**`ALIYUN_VIDEO_OSS` 的 `regionId: cn-shanghai``endpoint: oss-cn-hangzhou` 不一致,存在历史误配风险。
3. **`storage_type_enum` 字段为空**`attachment_file.storage_type_enum` 全部为 NULL无法直接通过 SQL 区分文件走的是 OSS 还是 MinIO。判断需通过 `bucket_name` 字段。
4. **平台总容量 73% 已用**3.09 TB / 4 TB建议监控告警。
5. **凭证无主从**OSS AK/SK 直接以明文存储在 `attachment_tenant_channel.channel_config` JSON 字段,建议改用 K8s Secret + Nacos 占位符注入。
---
## 八、相关服务连通性入口
- **OSS 外网地址**https://test-dragon-yf-pub.oss-cn-hangzhou.aliyuncs.com
- **OSS 内网地址**https://test-dragon-yf-pub.oss-cn-hangzhou-internal.aliyuncs.com
- **MinIO Console**master 节点http://192.168.20.100:9001admin / Zcloud@zcloud2026无业务数据
- **MinIO API**http://192.168.20.100:9000
- **attachment 服务内部访问路径**`lb://jjb-saas-attachment/attachment/**`
- **文件预览地址模板**`${common.gateway.network.http.external}/fileview/onlinePreview?xxx`