Architecture #
The Seaweed Admin is a web-based application to better manage SeaweedFS clusters.
Manage multiple SeaweedFS clusters #
Each cluster can be independently managed by the Seaweed Admin.
graph TD A[Seaweed Admin] <--> B1[SeaweedFS Cluster 1] A <--> B2[SeaweedFS Cluster 2] A <--> B3[SeaweedFS Cluster 3] subgraph B1[SeaweedFS Cluster 1] direction LR B11[Master Servers] B12[Volume Servers] B13[Filer Servers] end subgraph B2[SeaweedFS Cluster 2] direction LR B21[Master Servers] B22[Volume Servers] B23[Filer Servers] end subgraph B3[SeaweedFS Cluster 3] direction LR B31[Master Servers] B32[Volume Servers] B33[Filer Servers] end
Off-site filer metadata storage #
Seaweed Admin stores the metadata snapshots in a local directory. This allows for off-site metadata replica.
graph RL A[Seaweed Admin] subgraph A[Seaweed Admin] direction LR A11[Admin UI] A12[LifeCycle Management] A13[Point-in-Time Recovery] end subgraph A13[Point-in-Time Recovery] direction LR A131[Subscribe to Metadata Changes] A132[(Synchronized Metadata Replica)] end subgraph B1[SeaweedFS Cluster] direction LR B11[Master Servers] B12[Volume Servers] B13[Filer Servers] end B1[SeaweedFS Cluster] --> A13
Efficient lifecycle management of files and directories #
- The open-source SeaweedFS relies on the TTL mechanism to delete files. The Seaweed Admin provides a more flexible way to manage the lifecycle of files and directories. Any directory or file can have a retention period.
- The TTL mechanism depends on the filer store to purge the entries. If the filer store does not natively support TTL, the files will not be deleted until the directory is listed. The Seaweed Admin provides a way to delete files immediately.
graph LR A[Seaweed Admin] subgraph A[Seaweed Admin] direction LR A11[Admin UI] A12[LifeCycle Management] A13[Point-in-Time Recovery] end subgraph A12[LifeCycle Management] direction LR A121[Subscribe to Metadata Changes] A122[Delete Expired Files] end subgraph B1[SeaweedFS Cluster] direction LR B11[Master Servers] B12[Volume Servers] B13[Filer Servers] end A12 <-- "subscribe/delete" --> B13
Point-in-time recovery #
Seaweed Admin can take daily snapshots of the metadata, and can create snapshots on demand to any point in time.
graph RL A[Seaweed Admin] subgraph A[Seaweed Admin] direction LR A11[Admin UI] A12[LifeCycle Management] A13[Point-in-Time Recovery] end subgraph A13[Point-in-Time Recovery] direction LR A131[Subscribe to Metadata Changes] A132[Metadata Snapshots] A137[Purge Old Metadata Snapshots] A138[Delete Unreferenced File Chunks] end subgraph A132[Metadata Snapshots] direction LR A1320[(Synchronized Replica)] A133[(Snapshot @ t1)] A134[(Snapshot @ t2)] A135[(Snapshot @ t3)] A136[(Snapshots ...)] end subgraph B1[SeaweedFS Cluster] direction LR B11[Master Servers] B12[Volume Servers] B13[Filer Servers] end B1[SeaweedFS Cluster] <-- subscribe/delete --> A13
Recover any file or directory to any point in time #
You can browse each snapshot to view the files, download them, or restore the right file directly with a single click.
graph TB A[Directories and Files] B[Snapshot t1] C[Snapshot t2] D[Snapshot t3] F[Recovered Directories and Files] G[Snapshot t4] subgraph A[Directories and Files] H[Root] H --> I[Dir 1] H --> J[Dir 2] I --> K[File 1] I --> L[File 2] J --> M[File 3] J --> N[Accidentally Deleted]:::deleted end subgraph F[Recovered Directories and Files] O[Root] O --> P[Dir 1] O --> Q[Dir 2] P --> R[File 1] P --> S[File 2] Q --> T[File 3] Q --> U[Recovered File]:::recovered end A --> B A --> C A --> D A --> G D -- "recover deleted file" --> F classDef deleted stroke:#f00,stroke-width:2px,text-decoration:line-through; classDef recovered fill:#fdd,stroke:#f00,stroke-width:2px;