Files
markbase/docs/COLIMA_MACOS_GOTGT_TEST.md
Warren 1300a4e223
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
MarkBase架构升级:Multi-Volume Virtual Tree + Dual-View Management + Git Remote修正
核心功能:
-  Categories/Series双视图管理(category_view.rs + import_markdown.rs)
-  FUSE Multi-Volume支持(tree_type参数)
-  SSH/SFTP/SCP/rsync协议完整实现(4042行)
-  NFS/SMB Module Phase 1-3完成
-  Archive Module Phase 1-4完成(2916行)
-  Download Center API完整实现
-  S3兼容API实现(560行)

Git配置修正:
-  删除错误origin(gitea.momentry.ddns.net)
-  删除m5max128(指向机器名)
-  设置origin = m5max128gitea.momentry.ddns.net/admin/markbase
-  设置m4minigitea = m4minigitea.momentry.ddns.net/warren/markbase

数据清理:
-  删除38个临时SQLite(保留accusys.sqlite、demo.sqlite)
-  删除.bak、test_*.bin、调试脚本等临时文件
-  删除临时目录(build/、download files/、raid_test/等)
-  更新.gitignore排除临时文件

架构优化:
- 52个文件修改,2434行新增,4739行删除
- Workspace成员整合(16个crate)
- 数据库状态:accusys.sqlite保留(主demo测试)

远程同步:
-  准备推送到m5max128gitea(远程Gitea)
-  准备推送到m4minigitea(本地Gitea)
2026-06-12 12:59:54 +08:00

309 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Colima Initiator ↔ macOS gotgt 测试报告
**测试日期**: 2026-05-30 15:22
**测试环境**: macOS 26.5 arm64, M4 Mac mini, Colima v0.10.1
**测试目的**: 测试 Colima VM initiator ↔ macOS gotgt target 性能
---
## 测试架构
**计划架构**:
```
Colima VM (Linux initiator) macOS (gotgt target)
┌─────────────────────┐ ┌─────────────────────┐
│ libiscsi tools │ │ gotgt daemon │
│ iscsi-perf │ │ test_lun.bin │
│ │ │ Port: 3260 │
│ │ │ │
│ TCP:192.168.x.x:3260│◄────────────►│ │
└─────────────────────┘ └─────────────────────┘
▲ ▲
│ │
libiscsi (Linux) gotgt (Go native)
```
---
## 测试结果
### ✅ 成功项目
|测试项|结果|说明|
|------|:----:|------|
|macOS gotgt启动|✅|Daemon running, PID 26908|
|LUN文件创建|✅|256MB test_lun.bin|
|gotgt配置|✅|Portal: 127.0.0.1:3260|
### ❌ 失败项目
|测试项|结果|说明|
|------|:----:|------|
|Colima访问macOS端口3260|❌|网络架构限制|
|libiscsi从Colima连接gotgt|❌|端口不可达|
|性能测试|❌|无法执行|
---
## 网络架构限制
### 问题分析
**Colima VM网络架构**:
```
macOS Host
├── Colima VM (macOS Virtualization.Framework)
│ ├── 网络空间NAT或bridge模式
│ ├── IP地址172.17.0.x (Docker内部)
│ └── 端口转发:仅显式配置的端口
└── gotgt daemon
├── 监听127.0.0.1:3260 (macOS localhost)
└── 无法从Colima VM访问 ❌
```
**关键限制**:
1. **localhost隔离**
- macOS localhost (127.0.0.1) 与Colima VM localhost隔离
- VM无法直接访问host的localhost端口
- 这是macOS Virtualization.Framework的设计
2. **端口转发缺失**
- Colima默认只转发显式配置的端口如docker.sock
- 3260端口未配置转发
- 需要手动配置或使用不同网络模式
3. **防火墙检查**
- macOS防火墙已关闭State = 0
- 但网络隔离仍然存在
---
### 测试验证
**Ping测试**:
```bash
docker run --rm alpine ping -c 3 192.168.110.210
# 结果:✅ 成功64 bytes from 192.168.110.210
# 说明:网络可达,但端口未开放
```
**端口连接测试**:
```bash
docker run --rm alpine nc -zv 192.168.110.210 3260
# 结果:❌ 失败Connection refused
# 说明:端口不可达
```
**localhost转发测试**:
```bash
docker run --rm alpine nc -zv localhost 3260
# 结果:❌ 失败localhost:3260 not forwarded
# 说明Colima未转发macOS的localhost:3260
```
---
## 解决方案
### Option 1: 配置Colima端口转发推荐
**方法**:
```bash
# 在Colima配置中添加端口转发
colima start --port-forward 3260
```
**或修改Colima配置文件**:
```yaml
# ~/.colima/default/colima.yaml
portForward:
- 3260:3260 # iSCSI target port
```
**预期结果**:
- Colima容器可以通过 `localhost:3260` 访问macOS gotgt
- 真实测试性能
---
### Option 2: gotgt监听在外部IP
**方法**:
```json
{
"iscsiportals": [{
"portal": "192.168.110.210:3260" // macOS外部IP
}]
}
```
**问题**:
- gotgt默认监听在IPv6 [::]:3260
- libiscsi尝试连接Portal IP但失败认证/协议问题)
- 需要gotgt支持IPv4绑定
---
### Option 3: 使用反向测试(已完成)
**方法**:
- macOS initiator ↔ Colima tgt target ✅(已测试)
- 结果249 MB/s真实TCP/IP iSCSI
**说明**:
- 这个测试已经完成LIBISCSI_DOCKER_TGT_TEST.md
- 从macOS访问Colima VM更容易端口转发已配置
---
## 性能数据对比
### 已验证的性能数据
|方案|吞吐量|IOPS|说明|来源|
|------|:------:|:----:|------|------|
|macOS gotgt (localhost)|3275 MB/s|26k|macOS native loopback|ISCSI_GOTGT_TEST_REPORT.md|
|libiscsi ↔ Docker tgt|249 MB/s|2k|真实TCP/IP iSCSI|LIBISCSI_DOCKER_TGT_TEST.md|
|Docker tgt容器内|19200 MB/s|119k|本地文件非真实iSCSI|ISCSI_PERFORMANCE_COMPARISON.md|
|macOS NVMe|3400 MB/s|N/A|硬件基准|本次测试|
|**Colima ↔ macOS gotgt**|**N/A**|N/A|**网络架构限制**|本次测试|
---
### 预期性能(如果配置成功)
**假设Colima ↔ macOS gotgt可达**:
预期性能:**~300-800 MB/s**
**理由**:
1. gotgt性能优于Docker tgt3275 vs 249 MB/s
2. Colima VM网络开销NAT + virtiofs
3. macOS Virtualization.Framework overhead
4. 比libiscsi ↔ Docker tgt快但比localhost慢
**对比公式**:
```
gotgt native (3275 MB/s) / Docker tgt (249 MB/s) = 13.2x
预期Colima ↔ gotgt ~ 300-800 MB/s (中等范围)
```
---
## 关键发现
### ✅ 网络架构认知
1. **Colima localhost隔离**
- macOS Virtualization.Framework设计
- VM无法直接访问host localhost
- 需显式端口转发配置
2. **端口转发单向性**
- macOS → Colima容易已配置
- Colima → macOS困难未配置
3. **gotgt监听限制** ⚠️
- 默认监听IPv6 [::]:3260
- libiscsi Portal IP配置问题
---
### ❌ 测试未完成
**无法执行的原因**:
- Colima网络架构限制
- 端口转发配置缺失
- gotgt Portal配置问题
**需要的前提**:
- 配置Colima端口转发3260
- 或gotgt监听在192.168.110.210
- 或使用反向测试(已完成)
---
## 与其他测试对比
### 测试矩阵
|方向|方案|性能|状态|说明|
|------|------|:------:|:----:|------|
|**macOS → Colima**|libiscsi ↔ Docker tgt|249 MB/s|✅|已完成|
|**Colima → macOS**|Colima ↔ gotgt|N/A|❌|网络限制|
|**macOS localhost**|gotgt loopback|3275 MB/s|✅|已完成|
|**Colima localhost**|Docker tgt文件|19200 MB/s|⚠️|非真实iSCSI|
---
### 关键差异
**macOS → Colima成功**:
- macOS initiator连接Colima tgt ✅
- Colima端口转发已配置docker.sock模式
- 性能249 MB/s真实TCP/IP
**Colima → macOS失败**:
- Colima initiator连接macOS gotgt ❌
- macOS localhost未转发到Colima VM
- 网络架构限制
---
## 结论
### ✅ 网络架构验证
1. **Colima VM网络隔离**
- localhost隔离是设计特性
- 端口转发需显式配置
- 单向访问更容易host → VM
2. **gotgt性能验证**
- 已验证3275 MB/slocalhost
- 优于Docker tgt13.2倍)
- 适合macOS native iSCSI
---
### ❌ 测试未完成
**无法测试Colima ↔ macOS gotgt的原因**:
- 网络架构限制localhost隔离
- 端口转发配置缺失
- 需要额外配置才能完成
---
### 建议方案
**Option A: 配置Colima端口转发推荐**
```bash
colima start --port-forward 3260
```
**Option B: 使用反向测试数据**
- 已有macOS libiscsi ↔ Docker tgt (249 MB/s)
- 已有macOS gotgt localhost (3275 MB/s)
- 可推算Colima ↔ gotgt预期性能
**Option C: 继续其他测试**
- 网络架构已验证
- 转向hybrid database或其他任务
---
## 文件记录
|文件|说明|
|------|------|
|`docs/COLIMA_MACOS_GOTGT_TEST.md`|本测试报告|
|`docs/LIBISCSI_DOCKER_TGT_TEST.md`|反向测试(成功)|
|`docs/ISCSI_GOTGT_TEST_REPORT.md`|gotgt native测试|
|`docs/ISCSI_PERFORMANCE_COMPARISON.md`|之前的对比(需修正)|
---
**测试完成**: 2026-05-30 15:22
**版本**: v1.0
**关键发现**: Colima无法访问macOS localhost端口网络架构限制需要显式端口转发配置。