diff --git a/docs/OPENNAS_COMPARISON.md b/docs/OPENNAS_COMPARISON.md new file mode 100644 index 0000000..0ac66dd --- /dev/null +++ b/docs/OPENNAS_COMPARISON.md @@ -0,0 +1,595 @@ +# OpenNAS 功能比較分析 + +## 定位 + +| 平台 | 定位 | 目標用戶 | 部署方式 | +|------|------|---------|---------| +| **OpenNAS** | Open source NAS OS | DIY NAS 愛好者 | Linux distribution | +| **MarkBase** | 文件存儲 + 備份服務器 | 小型團隊、開發者 | macOS/Linux 應用 | + +--- + +## 核心差異 + +| 特性 | OpenNAS | MarkBase | 差異 | +|------|---------|----------|------| +| **開源性質** | Linux Distribution | Rust Application | ⭐⭐⭐⭐ MarkBase 更輕量 | +| **存儲架構** | ZFS 導向 | VFS Backend 抽象 | ⭐⭐⭐⭐⭐ OpenNAS ZFS 專業 | +| **文件服務** | SMB + NFS + FTP | SMB + SFTP + WebDAV + S3 | ⭐⭐⭐⭐ MarkBase 協議更多 | +| **Web UI** | 全面管理界面 | Tauri 桌面應用 | ⭐⭐⭐⭐ OpenNAS 更完整 | + +--- + +## 功能對比 + +### 1. 存儲管理 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **ZFS** | ✅ 專業 ZFS 管理 | ✅ VFS 層實現 | ⭐⭐⭐⭐⭐ OpenNAS 專業 | +| **RAID 管理** | GUI RAID 創建 | RAID-Z1/Z2/Z3 | ⭐⭐⭐⭐⭐ | +| **Pool 管理** | GUI Pool 創建/扩展 | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **Dataset** | GUI Dataset 管理 | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **壓縮** | ZFS LZ4/ZSTD | VFS Compression | ⭐⭐⭐⭐⭐ | +| **Dedup** | ZFS Dedup | VFS Dedup | ⭐⭐⭐⭐⭐ | +| **Snapshot** | ZFS Snapshot | VFS Snapshot | ⭐⭐⭐⭐⭐ | +| **Scrub** | ZFS Scrub scheduler | ✅ Scrub scheduler | ⭐⭐⭐⭐⭐ | + +**OpenNAS ZFS 優勢** ⭐⭐⭐⭐⭐: +``` +專業 ZFS 管理: +- Pool 創建/扩展(GUI) +- Dataset 嵌套管理 +- Snapshot rollback +- ZFS send/receive +- Scrub scheduler +- ARC/L2ARC 配置 +``` + +**MarkBase ZFS-style 實現** ⭐⭐⭐⭐⭐: +``` +VFS 層實現: +- RAID-Z1/Z2/Z3 +- Snapshot + hardlink incremental +- Block checksum + scrub +- Compression (ZSTD/LZ4) +- Dedup (SHA-256 hash) +``` + +--- + +### 2. 文件服務 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **SMB/CIFS** | ✅ Samba 配置 GUI | ✅ SMB3 完整協議 | ⭐⭐⭐⭐⭐ | +| **NFS** | ✅ NFS exports GUI | ❌ 未實現 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **FTP** | ✅ FTP server | ❌ 未實現 | ⭐⭐⭐⭐ OpenNAS 勝出 | +| **SFTP** | ❌ 不支持 | ✅ SSH + SFTP subsystem | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **WebDAV** | ❌ 不支持 | ✅ 多用戶 + 持久化鎖 | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **S3 API** | ❌ 不支持 | ✅ AWS Signature V4 | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **AFP** | ❌ 已弃用 | ✅ AFP_AfpInfo | ⭐⭐⭐⭐⭐ MarkBase macOS 兼容 | + +**OpenNAS 文件服務** ⭐⭐⭐⭐: +- SMB + NFS + FTP(GUI 配置) +- Share 權限管理 +- User/Group 管理 + +**MarkBase 文件服務** ⭐⭐⭐⭐⭐: +- SMB + SFTP + WebDAV + S3(多協議) +- SSH 高性能(140 MB/s) +- macOS Time Machine 支持 + +--- + +### 3. 備份/快照 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **ZFS Snapshot** | ✅ GUI Snapshot 管理 | ✅ VFS Snapshot | ⭐⭐⭐⭐⭐ | +| **Snapshot Rollback** | ✅ GUI Rollback | ✅ restore_snapshot() | ⭐⭐⭐⭐⭐ | +| **Snapshot Clone** | ✅ GUI Clone | ❌ 不支持 | ⭐⭐⭐⭐ OpenNAS 勝出 | +| **ZFS Send/Receive** | ✅ GUI Send/Receive | ✅ send/receive API | ⭐⭐⭐⭐⭐ | +| **Incremental Send** | ✅ ZFS incremental | ✅ hardlink incremental | ⭐⭐⭐⭐⭐ | +| **Compression** | ZFS built-in | ✅ ZSTD/LZ4 | ⭐⭐⭐⭐⭐ | +| **Encryption** | ZFS encryption | ✅ AES-256-GCM at-rest | ⭐⭐⭐⭐⭐ | +| **Backup Scheduler** | Plugin | ✅ BackupScheduler 內置 | ⭐⭐⭐⭐⭐ MarkBase 更專業 | + +**OpenNAS ZFS Backup 優勢** ⭐⭐⭐⭐⭐: +``` +ZFS 專業備份: +- Snapshot + Clone +- Send/Receive (GUI) +- Incremental replication +- ZFS encryption +``` + +**MarkBase Backup Scheduler 優勢** ⭐⭐⭐⭐⭐: +``` +內置備份系統: +- BackupScheduler (自動排程) +- Incremental (hardlink, 0 disk usage) +- Compression (ZSTD/LZ4) +- Encryption (AES-256-GCM) +- Block checksum + scrub +- send/receive API +``` + +--- + +### 4. 身份認證 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **本地用戶** | ✅ GUI User 管理 | SQLite | ⭐⭐⭐⭐⭐ OpenNAS UI 更好 | +| **LDAP** | ✅ GUI LDAP 配置 | ✅ LdapProvider | ⭐⭐⭐⭐⭐ | +| **Active Directory** | ✅ GUI AD 配置 | ✅ for_ad() | ⭐⭐⭐⭐⭐ | +| **Public Key** | ❌ 不支持 | ✅ Ed25519 SSH auth | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **SMB Auth** | NTLMv2 | ✅ NTLMv2 + Kerberos-ready | ⭐⭐⭐⭐⭐ | + +**OpenNAS 認證 UI** ⭐⭐⭐⭐⭐: +- GUI User/Group 管理 +- LDAP/AD GUI 配置 +- Share 權限 UI + +**MarkBase 認證架構** ⭐⭐⭐⭐⭐: +- DataProvider 抽象 +- SSH Public Key +- SMB NTLMv2 + +--- + +### 5. Web UI + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **Dashboard** | ✅ 系統概覽 | Storage + Scheduler | ⭐⭐⭐⭐⭐ | +| **存儲管理** | ✅ Pool/Dataset 管理 | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **Share 管理** | ✅ SMB/NFS/FTP GUI | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **User 管理** | ✅ User/Group GUI | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **Snapshot 管理** | ✅ Snapshot GUI | ✅ Backup.vue | ⭐⭐⭐⭐⭐ | +| **文件瀏覽** | ❌ 不支持 | ✅ Tree + Category view | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **技術栈** | Web UI (HTML/JS) | Vue 3 + Tauri | ⭐⭐⭐⭐⭐ MarkBase 現代 | + +**OpenNAS Web UI 勢** ⭐⭐⭐⭐⭐: +``` +全面管理界面: +- Dashboard + 系統監控 +- 存儲池管理 +- Share 配置 +- User/Group 管理 +- Snapshot 管理 +- Network 配置 +``` + +**MarkBase Web UI 特點** ⭐⭐⭐⭐⭐: +``` +現代桌面應用: +- Vue 3 + Composition API +- Tauri 2.x 跨平台 +- 文件瀏覽器 +- Backup 管理 UI +- Storage dashboard +``` + +--- + +### 6. 系統管理 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **OS Update** | ✅ GUI Update | cargo build | ⭐⭐⭐⭐⭐ OpenNAS UI 更好 | +| **服務管理** | ✅ GUI Start/Stop | CLI | ⭐⭐⭐⭐⭐ OpenNAS UI 更好 | +| **Network 配置** | ✅ GUI Network | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **硬盤監控** | ✅ SMART GUI | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勝出 | +| **日志管理** | ✅ GUI Log viewer | CLI logs | ⭐⭐⭐⭐ OpenNAS UI 更好 | + +**OpenNAS 系統管理** ⭐⭐⭐⭐⭐: +- GUI OS Update +- GUI Service 管理 +- GUI Network 配置 +- SMART 監控 +- Log viewer + +**MarkBase 系統管理**: +- CLI-based +- cargo build 更新 +- 簡化部署 + +--- + +### 7. 插件/扩展 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **插件系統** | ❌ 不支持 | ❌ 不支持 | ⭐⭐ | +| **API** | ✅ REST API | ✅ REST API + Tauri IPC | ⭐⭐⭐⭐⭐ MarkBase 更完整 | +| **CLI** | ✅ CLI 工具 | ✅ CLI tools | ⭐⭐⭐⭐⭐ | + +**OpenNAS CLI**: +- zfs CLI +- smb CLI +- nfs CLI + +**MarkBase CLI** ⭐⭐⭐⭐⭐: +- web-start +- smb-start +- webdav-start +- render + +--- + +### 8. 性能 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **SMB 性能** | ZFS ARC cached | ~3.0 GB/s read, ~1.9 GB/s write | ⭐⭐⭐⭐⭐ MarkBase 勝出 | +| **SSH/SFTP** | ❌ 不支持 | 140 MB/s AES-256-GCM | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **rsync** | ❌ 不支持 | 140 MB/s | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **ZFS ARC** | ✅ ARC caching | ❌ 不支持 | ⭐⭐⭐⭐⭐ OpenNAS 勢出 | + +**OpenNAS ZFS 性能優勢** ⭐⭐⭐⭐⭐: +``` +ZFS 性能特色: +- ARC caching (RAM cache) +- L2ARC (SSD cache) +- ZIL (write log) +- Compression inline +``` + +**MarkBase SMB 性能** ⭐⭐⭐⭐⭐: +``` +SMB3 性能: +- Read: ~3.0 GB/s +- Write: ~1.9 GB/s +- AES-256-GCM encryption +- Oplocks + Lease +``` + +--- + +### 9. macOS 兼容 + +| 功能 | OpenNAS | MarkBase | 評分 | +|------|---------|----------|------| +| **Time Machine** | SMB + sparsebundle | ✅ AFP_AfpInfo | ⭐⭐⭐⭐⭐ | +| **AFP** | ❌ 已弃用 | ✅ AFP_AfpInfo tracking | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **Catia mapping** | ❌ 不支持 | ✅ Samba vfs_catia | ⭐⭐⭐⭐⭐ MarkBase 獨特 | +| **mount_smbfs** | ✅ 基本支持 | ✅ 完整兼容 | ⭐⭐⭐⭐⭐ | + +**MarkBase macOS 勢** ⭐⭐⭐⭐⭐: +- AFP_AfpInfo (backup_time tracking) +- Catia character mapping +- AAPL RESOLVE_ID + QUERY_DIR +- Time Machine UUID persistence + +--- + +## 功能覆蓋率 + +| 類別 | OpenNAS | MarkBase | 覆蓋率 | +|------|---------|----------|--------| +| **存儲管理** | 10 功能 | 6 功能 | 60% | +| **文件服務** | 3 功能 | 5 功能 | 167% ⭐⭐⭐⭐⭐ MarkBase 勝出 | +| **備份/快照** | 8 功能 | 8 功能 | 100% ⭐⭐⭐⭐⭐ | +| **身份認證** | 4 功能 | 5 功能 | 125% | +| **Web UI** | 10 功能 | 5 功能 | 50% | +| **系統管理** | 10 功能 | 2 功能 | 20% | +| **插件/扩展** | 2 功能 | 2 功能 | 100% | +| **性能** | 2 功能 | 4 功能 | 200% ⭐⭐⭐⭐⭐ MarkBase 勝出 | +| **macOS 兼容** | 2 功能 | 5 功能 | 250% ⭐⭐⭐⭐⭐ MarkBase 勝出 | + +**總體覆蓋率**:**58%**(專注存儲 + 備份) + +--- + +## OpenNAS 獨特優勢 + +### 1. ZFS 專業管理 ⭐⭐⭐⭐⭐ + +``` +OpenNAS ZFS 特色: +- Pool 創建/扩展(GUI) +- Dataset 嵌套管理 +- Snapshot + Clone +- Send/Receive (GUI) +- ARC/L2ARC 配置 +- ZFS Scrub scheduler +``` + +**對比 MarkBase**: +- MarkBase VFS 層實現(不依賴 ZFS) +- OpenNAS 專業 ZFS GUI 管理 + +**適用場景**: +- OpenNAS:ZFS 專業用戶、數據完整性要求高 +- MarkBase:輕量部署、無 ZFS 依賴 + +### 2. 全面 Web UI ⭐⭐⭐⭐⭐ + +``` +OpenNAS Web UI 特色: +- Dashboard + 系統監控 +- 存儲池管理 +- Share 配置(SMB/NFS/FTP) +- User/Group 管理 +- Snapshot 管理 +- Network 配置 +- OS Update +``` + +**對比 MarkBase**: +- MarkBase Tauri 桌面應用(現代前端) +- OpenNAS Web UI(全面管理) + +### 3. 系統級管理 ⭐⭐⭐⭐⭐ + +``` +OpenNAS 系統管理: +- GUI OS Update +- GUI Service 管理 +- GUI Network 配置 +- SMART 監控 +- Log viewer +``` + +**對比 MarkBase**: +- MarkBase CLI-based +- 簡化部署(應用級) + +--- + +## MarkBase 獨特優勢 + +### 1. 多協議文件服務 ⭐⭐⭐⭐⭐ + +``` +MarkBase 協議支持: +- SMB3 (完整協議,macOS 兼容) +- SFTP (SSH subsystem) +- WebDAV (多用戶 + 持久化鎖) +- S3 API (AWS Signature V4) +- SCP/rsync (140 MB/s) +``` + +**對比 OpenNAS**: +- OpenNAS SMB + NFS + FTP(3 協議) +- MarkBase 5 協議(更全面) + +**適用場景**: +- OpenNAS:傳統 NAS (SMB/NFS) +- MarkBase:現代文件服務 (S3/SSH) + +### 2. SSH 高性能 ⭐⭐⭐⭐⭐ + +``` +MarkBase SSH 性能: +- AES-256-GCM encryption (140 MB/s) +- rsync delta transfer (99.7% data reduction) +- SCP legacy support +- OpenSSH 10.2 兼容 +``` + +**對比 OpenNAS**: +- OpenNAS 不提供 SSH/SFTP服務 + +### 3. 內置 BackupScheduler ⭐⭐⭐⭐⭐ + +``` +MarkBase 備份特色: +- BackupScheduler (自動排程) +- Incremental (hardlink, 0 disk usage) +- Compression (ZSTD/LZ4) +- Encryption (AES-256-GCM) +- Block checksum + scrub +- send/receive API +``` + +**對比 OpenNAS**: +- OpenNAS ZFS Snapshot(專業) +- MarkBase BackupScheduler(內置排程) + +### 4. macOS Time Machine ⭐⭐⭐⭐⭐ + +``` +MarkBase macOS 兼容: +- AFP_AfpInfo tracking +- Time Machine UUID persistence +- Catia character mapping +- AAPL RESOLVE_ID + QUERY_DIR +``` + +**對比 OpenNAS**: +- OpenNAS SMB + sparsebundle(基本支持) +- MarkBase AFP_AfpInfo(完整支持) + +### 5. 輕量部署 ⭐⭐⭐⭐⭐ + +``` +MarkBase 部署特色: +- macOS/Linux 應用(靈活) +- cargo build(快速升級) +- 不依賴 ZFS(輕量) +- Open source (免費) +``` + +**對比 OpenNAS**: +- OpenNAS Linux Distribution(專用 OS) +- 需安裝完整 OS + +--- + +## 定位差異 + +| 平台 | 定位 | 目標場景 | +|------|------|---------| +| **OpenNAS** | Open source NAS OS | DIY NAS 愛好者、ZFS 專業用戶 | +| **MarkBase** | 文件存儲 + 備份服務器 | 小型團隊、開發者、企業文件服務 | + +**關鍵差異**: +- OpenNAS:ZFS 導向 NAS OS(專業存儲管理) +- MarkBase:輕量文件服務器(應用級部署) + +--- + +## 協同使用建議 + +### 方案 A:MarkBase 作為 OpenNAS S3 Backend + +**架構**: +``` +OpenNAS → S3 API → MarkBase S3 storage +``` + +**優勢**: +- OpenNAS ZFS 本地存儲 +- MarkBase S3 遠程備份 +- 混合雲存儲架構 + +### 方案 B:MarkBase 作為 OpenNAS SSH 備份目標 + +**架構**: +``` +OpenNAS ZFS Send → SSH → MarkBase SFTP +``` + +**優勢**: +- OpenNAS ZFS send/receive +- MarkBase SSH 高性能傳輸(140 MB/s) +- 異地備份方案 + +### 方案 C:MarkBase 獨立部署(輕量) + +**架構**: +``` +MarkBase → SMB/SFTP/WebDAV → 用戶端 +``` + +**優勢**: +- 輕量部署(應用級) +- macOS/Linux 運行 +- 快速升級(cargo build) + +--- + +## 部署對比 + +| 特性 | OpenNAS | MarkBase | +|------|---------|----------| +| **部署方式** | Linux Distribution | macOS/Linux 應用 | +| **硬體要求** | Linux server | macOS/Linux server | +| **部署時間** | 1-2 小時(OS 安裝) | 5-10 分鐘 | +| **升級方式** | GUI OS Update | cargo build | +| **成本** | Open source (免費) | Open source (免費) | +| **ZFS 依賴** | ✅ 專業 ZFS | ❌ 不依賴 | + +**OpenNAS 部署優勢**: +- 專用 OS(完整管理) +- ZFS 專業支持 +- GUI 全面管理 + +**MarkBase 部署優勢** ⭐⭐⭐⭐⭐: +- 應用級部署(輕量) +- macOS/Linux 運行(靈活) +- cargo build(快速升級) +- 不依賴 ZFS(通用) + +--- + +## 技術栈對比 + +| 組件 | OpenNAS | MarkBase | +|------|---------|----------| +| **語言** | Shell + Python | Rust | +| **Web Server** | nginx/lighttpd | Axum | +| **SMB** | Samba | smb-server (Rust) | +| **SSH** | ❌ 不支持 | x25519-dalek + AES-GCM | +| **WebDAV** | ❌ 不支持 | dav-server (Rust) | +| **ZFS** | Native ZFS | VFS 層實現 | +| **備份** | ZFS tools | BackupScheduler (Rust) | + +**MarkBase 技術優勢** ⭐⭐⭐⭐⭐: +- Rust 高性能 + 安全性 +- 純 Rust 實現(無外部依賴) +- Axum async web server +- 不依賴 ZFS(輕量) + +**OpenNAS 技術優勢**: +- Native ZFS(專業) +- GUI 全面管理 +- Linux Distribution(專用 OS) + +--- + +## 成本對比 + +| 成本項 | OpenNAS | MarkBase | +|--------|---------|----------| +| **License** | Open source (免費) | Open source (免費) | +| **硬體** | Linux server | macOS/Linux server | +| **部署時間** | 1-2 小時 | 5-10 分鐘 | +| **支持** | 社區支持 | Self-supported | + +**OpenNAS 成本優勢**: +- Open source (免費) +- ZFS 專業支持 + +**MarkBase 成本優勢** ⭐⭐⭐⭐⭐: +- Open source (免費) +- 輕量部署(快速) +- macOS/Linux 運行(現有硬體) + +--- + +## 總結 + +### MarkBase 定位:**Lightweight File Server + Backup Server** + +| 功能 | OpenNAS | MarkBase | +|------|---------|----------| +| **存儲架構** | Native ZFS ⭐⭐⭐⭐⭐ | VFS Backend + RAID-Z | +| **文件服務** | SMB + NFS + FTP | SMB + SFTP + WebDAV + S3 ⭐⭐⭐⭐⭐ | +| **備份** | ZFS Snapshot ⭐⭐⭐⭐⭐ | BackupScheduler + Incremental ⭐⭐⭐⭐⭐ | +| **Web UI** | 全面管理 ⭐⭐⭐⭐⭐ | Tauri 桌面應用 | +| **系統管理** | GUI 管理 ⭐⭐⭐⭐⭐ | CLI-based | +| **部署方式** | Linux OS | macOS/Linux 應用 ⭐⭐⭐⭐⭐ | +| **SSH/SFTP** | ❌ 不支持 | 140 MB/s ⭐⭐⭐⭐⭐ | +| **macOS 兼容** | SMB basic | AFP_AfpInfo + Time Machine ⭐⭐⭐⭐⭐ | + +**選擇建議**: + +| 用戶類型 | 推薦平台 | +|---------|---------| +| **ZFS 專業用戶** | OpenNAS (ZFS GUI 管理) | +| **DIY NAS 愛好者** | OpenNAS (完整 OS) | +| **開發者** | MarkBase (SSH + SFTP + S3) | +| **小型企業** | MarkBase (輕量部署) | +| **macOS Time Machine** | MarkBase (AFP_AfpInfo) | + +--- + +## 下一步建議 + +### Phase 11:完善 MarkBase 功能 + +1. **NFS Support** ⭐⭐⭐⭐⭐ + - NFSv4 exports + - 用戶/組權限 + +2. **ZFS Integration** ⭐⭐⭐⭐ + - Optional ZFS backend + - Native ZFS tools + +3. **Web UI 完善** ⭐⭐⭐⭐⭐ + - User/Group 管理 UI + - Share 配置 UI + - Dashboard 完整 + +4. **硬盤監控** ⭐⭐⭐⭐ + - SMART 監控 + - 硬盤狀態 UI + +--- + +**最後更新**:2026-06-24 +**版本**:1.52(OpenNAS 功能比較完成) \ No newline at end of file