Hero Image
NFS

NFS Local-like File Access 類本地讀寫 Network FileSystem 網路檔案系統,NFS 是一種讓多台電腦可以像操作本地硬碟一樣訪問遠端檔案的系統。 是一種 RPC Service(Remote Procedure Call),當你用 NFS 讀寫檔案時,客戶端其實是在透過 RPC 向伺服器發送「打開檔案」「讀檔案」「寫檔案」這些遠端操作的請求, Dynamic Port Allocation 動態端口 容器配置不需要額外維護 port export,rpcbind 會自動協調服務所使用的 TCP/UDP port,並且同一個 network 內的容器可以直接訪問這些 port;若存在防火牆或跨主機通信時,則需要額外開通對應 port,配置相對複雜。 Server/Client 伺服器/客戶端 因為是一種 RPC Service,所以會有兩種角色 Server、Client 就像 FileZilla 也是,你要遠端可以 FileZilla 連到,你需要在 target server 安裝 FileZilla server 或其他 ftp 類型 server on 著 listening ( 持續運行以監聽連線請求 ) 當 server 啟用時,可以讓服務跨 os、跨 server,同步讀取、寫入本地檔案。 ┌─────────────────┐ 網路 ┌─────────────────┐ │ NFS Server │ <─────────────────> │ NFS Client │ │ (141) │ │ (142) │ │ │ │ │ │ /nfs (實體目錄) │ ─────匯出(export)──> │ /nfs (掛載點) │ │ chmod 777 │ │ mount 後可存取 │ └─────────────────┘ └─────────────────┘ 安裝 Windows 啟用 server/client 開啟或關閉 Windows 功能

Hero Image
Infra Diagram Tool

Infra Diagram Tool Drawio 系統架構圖 Infrastructure Diagram 高可用設計 安全 / Network / Trust Boundary 跨團隊、跨角色溝通 ✅服務 icon 支援多元 ❌可版控但 diff 不易閱讀 (xml) ❌無法整合 README.md (只能匯出 png/svg) Mermaid Service 關係示意 Request flow CI/CD pipeline 小型單機或單服務結構 ✅方便 diff 版控 ❌不支援服務 icon 顯示 ❌無法精準控制位置/大小 %%{init: { "theme": "base", "themeVariables": { "background": "#fdecef" } }}%% graph LR %% ====== Global Style ====== classDef default fill:#fdecef,stroke:#efb752,stroke-width:1px,color:#000; linkStyle default stroke:#333,stroke-width:1.5px; %% ====== Custom Styles ====== classDef serverStyle fill:#99d9ea,stroke:#6c9aa5,stroke-width:1px,color:#000; classDef vmStyle fill:#f7cb9f,stroke:#f79c67,stroke-width:1px,color:#000; classDef dockerSwarmStyle fill:#81e1f7,stroke:#4a90e2,stroke-width:1px,color:#000; classDef containerEngStyle fill:#97f7df,stroke:#2fa4a9,stroke-width:1px,color:#000; classDef idle fill:#ffb3c3,stroke:#ff5a78,stroke-width:1px,color:#000; red[["(1) netplan 192.168.168.n (2) red represent idle for manual stand by"]]:::idle client((client)) client --> Nginx subgraph Server100["Server 100 windows"] nfsc100["nfs client client conn 101"] mssql[("MSSQL 1436")] subgraph Server101["VM 101 ubuntu"] nfss["nfs server"] subgraph containerEng["101 Container Engine"] Nginx("Nginx dependent main proxy") redis("redis") seq("seq") subgraph dockerSwarm["Docker Swarm"] direction TB StoreWeb("store web") --> StoreApp("store api") CustomerWeb("customer web") --> CustomerApp("customer api") CRMBackend("CRMBackend") end end Nginx --> StoreWeb Nginx --> CustomerWeb Nginx --> CRMBackend end StoreApp --> mssql CustomerApp --> mssql CRMBackend --> mssql end subgraph Server200["Server 200 windows"] nfsc200["nfs client client conn 101"] mssql200[("MSSQL 1436")]:::idle subgraph Server201["VM 201 ubuntu"] nfss201["nfs server"]:::idle nfsc201["nfs client client conn 101"] subgraph containerEng201["201 Container Engine"] Nginx201("Nginx dependent main proxy"):::idle redis201("redis"):::idle seq201("seq"):::idle subgraph dockerSwarm201["Docker Swarm"] StoreWeb201("store web") --> CustomerWeb201("customer web") StoreApp201("store api") --> CustomerApp201("customer api") CRMBackend201("CRMBackend") end end Nginx --> StoreWeb201 Nginx --> CustomerWeb201 end StoreApp201 --> mssql CustomerApp201 --> mssql end %% ====== Apply Styles ====== class Server101,Server201 vmStyle class dockerSwarm,dockerSwarm201 dockerSwarmStyle class containerEng,containerEng201 containerEngStyle class Server100,Server200 serverStyle