System
系統架構
我們主要會用 Docker/Container 來執行這些應用,要跑 Docker 可以有很多種方法,但一定是基於 Linux 運作的。雖然在 Windows 或 macOS 上也能跑,但我會推薦直接走虛擬主機 (Virtual Machine) 的方式。這裡先介紹幾種常見的架構,再來看我們從哪裡開始著手。
容器(Container)
Container 是 Linux 下的虛擬化方式,與 VM 不同的是,Container 是共用同一個作業系統核心(Kernel),由於承擔了一些共同的系統資源,所以更輕盈、啟動更快。
- LXC/LXD 是較底層的容器架構,常用於 Proxmox、Ubuntu 等平台。
- Docker 是目前主流的應用型 Container 系統,有著廣大的生態系統,這裡的教學也會以 Docker 為主。
虛擬主機(Virtual Machine)與 Hypervisor
VM 會比 Container 再多用一點資源,因為每一個 VM 都是獨立運作的系統,從虛擬的 BIOS 開機啟動,安全性理論上也比較高。 Hypervisor 是用來建立 VM 的系統平台,可分為:
- Type 1 Hypervisor: 直接在硬體上執行,管控所有虛擬主機。例如 Proxmox、XCP-ng,效能較佳。
- Type 2 Hypervisor: 是安裝在既有作業系統之上的應用程式,由作業系統負責資源分配與管理。例如 VirtualBox、VMware Workstation。
透過 Hypervisor,可以在一台主機上執行多個不同的作業系統,分配不同的資源與權限,同時也可以備份與復原。這是玩 Homelab 的核心工具:不怕弄壞、可以盡情實驗與學習。
簡單不麻煩的方式
Windows Hyper-V
沒錯,Windows 11 Pro 內建的 Hyper-V Manager 就能建立 VM。如果你有一台高效能的桌機或遊戲主機,且不介意 24 小時開機,這會是最簡單直接的方式之一。
Windows 11 Pro 要7千台幣,除了 Hyper-V Manager 之外,這台電腦還能用 Windows 原生的 Remote Desktop 遠端操作。
Synology NAS
如果你家裡已經有 Synology NAS,套件中心就能裝 VM 和 Container 工具,這也是一個開始動手操作的地方,只是會有很多的限制。有很多設定無法在介面上面執行,都要SSH進去才能改。
如果想真正打造一台伺服器
Unraid
我是在 Unraid 上真正開始理解 Container 的好處。它內建 Community Apps,所有應用程式都用 Docker 來建立,介面比較容易理解 Docker 的邏輯。這系統也支援 VM,我看很多網路上的人都用這系統來做 NAS + 應用。
它的商業模式是買斷制或訂閱制,有一個月的免費試用期,最便宜的 License 50美金。
Proxmox
這是我目前主要在用的系統,也是網路上討論熱度很高的一款。他有免費的 Community 版本,以及付費的商用版。