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

170 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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`