對於預算有限的家庭實驗室用戶來說,HP t730 瘦客戶機簡直是完美之選。幸運的是,我最近在 StorageReview 的Reddit 子版塊舉辦的贈送活動中贏得了一台。 t730 擁有足夠的記憶體和 CPU,既能靈活應對多種應用場景,又不會效能過剩。無論是運行 Pi-Hole,用作 PfSense 路由器/防火牆,還是像我這樣連接到 Docker Swarm,它都能勝任。
如果您不熟悉 Docker 或整個容器,您可能會認為它們是幾乎可以在任何東西上運行的輕量級虛擬機。 雖然這是一個重大的過度簡化,但它為您提供了足夠的信息而不會讓人不知所措。 Swarm 是 Docker 的擴展。 它提供了一種簡單的內置方式來“編排”容器、跨多個節點部署它們、管理資源和其他類似的事情。
我現有的基礎設施中已經運行了 5 個 Swarm 節點:四台 Raspberry Pi B4 和一台 Dell Optiplex 7040。這為入門提供了絕佳的基礎。但你只需要一個節點就能完成本 Docker Swarm 教學。值得一提的是,雖然我幾乎是免費得到的這個節點,但如果你在 eBay 上搜尋並討價還價,就能以 200 美元甚至更低的價格找到。
Docker Swarm 安裝操作系統
首先,我在HP t730上安裝了我選擇的Linux發行版-Debian Buster。接下來,我需要將Debian安裝程式寫入U盤。 Balena Etcher是一個不錯的選擇,它是免費且易於使用。完成這些步驟後,我們就可以開始安裝過程了。

首先,我把t730裡的32GB SATA M.2固態硬碟換成了256GB的。但當時我並不知道,這最終會導致問題。你知道,有些韌體介面有缺陷,有時無法相容於非廠商提供的硬碟。我碰巧安裝的這塊硬碟就是其中之一。為了解決這個問題,我在安裝Debian系統時必須將Grub引導程式設定為可移動安裝。你是否會遇到這種情況,取決於你安裝的硬碟類型。
請記住,對於我們今天所做的事情,256GB 不是必需的,我手邊就有。 我建議至少 64GB,但這可能會限制您能夠在驅動器上存儲的數據量。
安裝驅動器後,我啟動進入 Debian 安裝屏幕。 我完成了基本安裝、選擇語言、鍵盤佈局等。對於用戶配置,我做了一些具體的事情。 我根本沒有為 root 用戶輸入密碼,這會禁用該帳戶。 我創建了一個名為 administrator 的新用戶,它有一個非常長的密碼,我保存在密碼管理器中。 這使系統盡可能安全。
對於分區,我選擇了一個非常簡單的佈局,1GB 引導分區,其餘的驅動器分配給根分區。 我分別為文件系統選擇了 FAT32 和 ext4,我更喜歡 ext4 而不是像 Btrfs 這樣的東西,因為它的穩定性和速度,即使它缺少新文件系統的一些尖端功能。
當我到達選擇基礎包屏幕時,我取消了除 OpenSSH 服務器以外的所有選擇。 我這樣做的原因是我希望基本系統盡可能輕便,而且它也是無頭的,因為它沒有 GUI。 但是,要完成本教程,您只需要 OpenSSH 服務器,您可以安裝所需的任何其他包。
圖 2:正在安裝的包
如果您遇到我之前提到的 EFI 韌體錯誤,Debian wiki 上有很好的解決方法指南。安裝 Grub 後,我們將重新啟動系統並拔下 USB 隨身碟。如果一切順利,您將啟動進入 TTY 終端機或圖形使用者介面,具體取決於您選擇安裝的程式。
安裝後配置
安裝完成後,我們開始設定係統。我寫了一個Ansible playbook來自動化這個過程。為了簡化本指南,我們將手動執行這些命令。
# 這會安裝完成未來步驟所需的包sudo apt updatesudo apt install gnupg ca-certificates apt-transport-https curl lsb-release -y# 這會添加 apt 驗證 Docker 包簽名所需的密鑰curl -fsSL https://download .docker.com/linux/debian/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 並添加安裝 Docker 的存儲庫運行此命令:echo “deb [arch=amd64 signed-by=/usr/share/keyrings/ docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
完成後,我們需要安裝 Docker 本身並啟用該服務。
sudo apt安裝docker-ce
sudo systemctl啟用-現在docker
現在我們已經準備好使用 Docker 來運行服務了!
在 HP t730 上使用 Docker Swarm
第一次使用 Swarm 需要您初始化 swarm。 讓我們回顧一下下面的命令。 如果您已經有一群,請跳過此步驟。
sudo docker swarm 初始化
如果您想驗證它是否有效,請將此命令粘貼到您的終端中:
如果[ “$(sudo docker info | grep Swarm | sed 's/Swarm: //g')” == “inactive” ]; 則 echo false; 否則 echo true; 結束
如果您的主機在 Swarm 模式下運行,那麼該命令應該返回“true”。
運行我們的第一個服務
使用 Swarm,有兩種創建服務的方法。
- 碼頭服務創建 這類似於 碼頭運行
- 碼頭堆棧部署 這類似於 泊塢窗,撰寫
通常,您希望使用 docker stack deploy,因為您能夠輕鬆地重現堆棧。
但只是為了驗證它是否有效,使用 docker service create 就可以了。
sudo docker service create -p 3000:80 httpd
命令執行可能需要一些時間,但完成後,您可以存取節點的 IP 位址和 3000 連接埠。如果您不知道自己的 IP 位址,請執行 `hostname -I` 命令。就我而言,我需要訪問192.168.19.73:3000。您應該會看到一個顯示“It works!”的畫面。
關閉
HP t730 對於初學者或經驗豐富的家庭實驗室愛好者來說都是一款非常棒的小型機器,它支援多種不同的應用場景,而且性價比很高,就我而言,它的價格僅僅是 15 美元的運費(感謝 StorageReview!)。我希望這篇文章能對大家有所幫助,無論是學習新技術,或是激發大家搭建自己的家庭實驗室的靈感。
-伊桑·愛德華茲




Amazon