170 lines
7.5 KiB
Markdown
170 lines
7.5 KiB
Markdown
# GBS 平台文件存储(OSS)配置汇总
|
||
|
||
> **生成时间**:2026-06-30 10:05
|
||
> **数据来源**:Nacos(jjb-dragon 命名空间)+ MySQL `jjb-saas-attachment` 库
|
||
> **结论**:平台文件存储**全部使用阿里云 OSS**,无 MinIO 在用
|
||
|
||
---
|
||
|
||
## 一、核心结论
|
||
|
||
| 项目 | 值 |
|
||
|------|-----|
|
||
| **存储后端** | 阿里云 OSS(Aliyun Object Storage Service) |
|
||
| **支持的存储类型** | `ALIYUN_OSS`(普通文件 70 个渠道)、`ALIYUN_VIDEO_OSS`(视频点播 28 个渠道) |
|
||
| **存储 Region** | 华东1(杭州)`oss-cn-hangzhou` |
|
||
| **Bucket** | `test-dragon-yf-pub`(所有租户共用) |
|
||
| **总容量** | 平台级 4 TB(4398046511104 字节),单租户默认 100 GB |
|
||
| **已用容量** | 平台级 3.09 TB(3096225104031 字节 / ≈ 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-shanghai(regionId) | 同上 |
|
||
|
||
**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` 字段为 NULL(schema 里没存具体值),但 `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:9001(admin / Zcloud@zcloud2026,无业务数据)
|
||
- **MinIO API**:http://192.168.20.100:9000
|
||
- **attachment 服务内部访问路径**:`lb://jjb-saas-attachment/attachment/**`
|
||
- **文件预览地址模板**:`${common.gateway.network.http.external}/fileview/onlinePreview?xxx`
|