home-lab 2.0 part 1 採購篇

home-lab 2.0 part 1 採購篇

大家好,好久沒有發新文章,這陣子想要翻新一下家裡的家庭實驗室,一樣是走資源回收路線用最便宜的機器然後榨乾他們的效能,這篇文章就來記錄一下我在硬體上踩的坑。

現況

使用 kubeadm 搭設屬於自己的 home-lab
家裡架站的樹梅派用了一段時間之後,有時候還是想在上面裝一些別的軟體來玩,例如之前文章提到的 n8n,不過樹梅派就只有一張運算效能等資源都還是不太夠,所以就有了自建 Kubenetes 的念頭這樣就能玩更多東西,所以寫一下這篇文章記錄一下安裝過程,萬一之後搞壞了可以不用從頭查文件。 網站,誕生在樹梅派本站作為一個有技術分享的網站,首先當然要介紹一下這個網站是怎麼搭建起來的。這篇文章會分別介紹,這個部落格網站的主體、樹梅派上的環境設定以及如何買域名跟配置公網連接。 開源的部落格 Ghost 其實要架設部落格網站目前還蠻多選擇的,例如像是:WordPress、Hexo、Hugo等...... 那其實我在找的是有文章管理後台可以讓我很方便的新增文章,所以像是Hexo、Hugo這兩套是屬於撰寫Markdown檔案再生成靜態站點的我就暫時不考慮。 接著是WordPress,筆者在工作上深受PHP其害,那剛好WordPress是以PHP做開發,我就直接不考慮。 介面美觀易用 向下面的截圖…烤雞堡的筆記Wan, Jiun-Wei 現在樹梅派不知道甚麼原因,價格不斷再上漲,而且他架構是 Arm64

最早從 kubeadm 在這種迷你單板電腦上裝 Ubuntu 再裝 Kubernetes 到後來進展到用一些大學買到現在都還沒報廢的筆電跑 VM 陸陸續續遇到一些問題。

溫度

通常筆電溫度都比較高,下面這個圖就是閒置時的溫度,附載一高常常都超過 90,然後在長期高溫運作下,通常第一個故障就是電池,這三台筆電有兩台電池都膨脹被我挖掉了,還有就是 HDD 也是因為高溫突然某一天就直接完全讀不到。

設定

要把筆電當作 Server 來用有時候要特別條一個設定,例如:Acer Swift SF514 54GT這一台,在電池拔掉後,設定會自動重置,必須要手動改,要在 BIOS main tab 按 ctrl+s 把 SATA 改 AHCI mode,以及要關閉安全開機,每次一停電就要搞一次。

BIOS setting for RAID? - Nitro AN517-52 - Acer Community
I have dual SSD Nitro AN517-52. I bought it with the two drives and have put Linux on one drive. I upgraded the BIOS from V1.03 to V2.06 and I am noticing slow booting to Linux. I’ve asked for some help on a Linux forum and people have looked at the logs and see a timeout that might be related to the boot timing out…

第二個是筆電都會預設蓋上銀幕蓋後自動休眠,這也是一個必須手動去把它改好的東西。

【Ubuntu 20.04 LTS】设置笔记本合并盖子不休眠_ubuntu20笔记本盒盖-CSDN博客
文章浏览阅读1.7w次,点赞18次,收藏63次。文章目录配置文件配置说明设置笔记本合并盖子不休眠配置文件/etc/systemd/logind.conf配置说明HandlePowerKey: 按下电源键后的行为,默认power offHandleSleepKey: 按下挂起键后的行为,默认suspendHandleHibernateKey: 按下休眠键后的行为,默认hibernateHandleLidSwitch: 合上笔记本盖后的行为,默认suspend只监视带有 “power-switch” 标签的 输入设备的 key(按下按钮)/l_ubuntu20笔记本盒盖

設備選擇

Introducing Project TinyMiniMicro Home Lab Revolution
STH Project TinyMiniMicro is set to revolutionize the home lab segment with clusters of high-quality, quiet, low power, and inexpensive nodes
Lenovo Thinkcentre/ThinkStation Tiny (Project TinyMiniMicro) Reference Thread
@mobilenvidia has done a great job with their thread on the whole Project TMM ecosystem; but I love the Lenovo Tiny ecosystem so I’ve tried to gather as much information from my experiences and the helpful folks in this thread. Dimensions : 179 x 183 x 34.5 / 37 mm with rubber feet (7.05 x 7.2…

某一天在網路上看到這兩篇文章,發現用這種二手小電腦,比去買 NUC 要划算,Amazon 跟蝦皮上很多商家可以買,研究了一下不同型號最後決定鎖定這台。Amazon 上以下規格的整新機大概落在 200 USD 左右:
Lenovo ThinkCentre M910q

Intel Core i7 6700T 4C8T (可以當 8Core 操)
32 GB DDR4 Ram
1TB SATA SSD 可裝 M.2 NVME
1G 網卡

然後家裡剛好撿到兩條 8GB DDR4 Ram 於是就在蝦皮上再買一台。
大概落在 3300 TWD 左右:
HP ProDesk 600 G4

Intel Core i5-8500T
沒記憶體 可裝 DDR4
沒硬碟 可裝 M.2 NVME 或 SATA
1G 網卡

整新機的風險

下面也說幾個我買這些整新機遇到的坑,雖然便宜但是要承擔一些風險。

硬碟

首先第一個雷就是硬碟,其實上面三台 Lenovo ThinkCentre M910 有一台型號是 Lenovo ThinkCentre M910x 是最早買的一台,想說先買一台小電腦來嘗試,不錯用再大量採購,大概是在 2025 年 6 月到貨開始上線的,然後就在 9 月某一天開始常常上面的 VM 一直崩潰,然後自動關機,持續一週後某一天就不能開機了。

後來搞了一支 Ubuntu Live USB 去檢查,發現是硬碟壞掉下面是我跟 AI 一起診斷硬碟故障的對話紀錄:

還好最後硬碟故障只是變成唯獨模式,可以把 VM 的 image 複製出來,不然剛好資料庫都在那台機器上不見就麻煩了。

搶救完資料拆開機殼一看硬碟,阿怎麼是這個,當初 Amazon 上不是寫 NVMe SSD 嗎?怎麼變 SATA 這牌子還沒看過,只怪我買來 BIOS 也懶得進去仔細看就直接開始玩,下次買來一定要檢查。

Kingfast F10 SSD - Incredibly high failure rate
by u/djk_tech in sysadmin

上網一查看來是故障率高的出名的硬碟,只能說,唉😮‍💨 真的有夠衰。

不過後來買的兩台機器拆開來看,裡面的 SSD 就是這一個,其實還可以。

不過我還是決定買這些 NVMe 硬碟來把所有小主機都換一下,後續在建 Kubernetes 時想要跑資料庫可以有更好的效能。

主機板

看照片可能不明顯,不過其中一台 Lenovo ThinkCentre M910q 它的主機板兩個 M.2 的插槽都是壞的,一個是插上後讀不到,一個是針腳是斷的,二手機還是有點風險,這台只有 SATA 是好的看是就沒辦法擴充了。

聯想 ThinkCentre M720Q/M920Q/P330 迷你主板 1151針 電腦主機板 - 漾屏屋
#未附檔板/散熱器 #保固3個月

https://shopee.tw/product/4933940/44009393416

還好蝦皮上搜尋還有主機板可以換,所以就買了一張,不過買到的是 M710q 的主幾版,安裝好之後會需要去把 BIOS 上的型號用 Lenovo 官方工具來更新。

依照官方教學更新完 BIOS 設定型號後一切就都正常,還可以抓到 SSD 了。

安裝

在這些小電腦買好後,就可以來安裝最底層的虛擬化平台,這裡選的是 Proxmox Virtual Environment 用起來方便,還有個網頁可以控制,還支援集群功能。

安裝教學網路去有很多就不重複寫了,主要就是以下步驟:

  1. 官網下載 ISO 檔案
  2. 製作開機隨身碟,我用的是 Rufus
  3. 安裝完成之後每台機器的 8006 port 連進去就是網頁管理介面
  4. 安裝完之後照這裡的步驟建立叢集,就可以用一台的網頁介面管理所有機器
  5. 安裝後我每一台機器會去用 Proxmox VE Helper-Scripts 去做一些基本的更新跟設定
Proxmox VE Helper-Scripts
The official website for the Proxmox VE Helper-Scripts (Community) repository. Featuring over 400+ scripts to help you manage your Proxmox Virtual Environment.

下面是我有安裝的腳本跟設定可以參考:

PVE Post Install

Intel e1000e NIC Offloading Fix
這幾台的網卡剛好是這個型號,同事分享會遇到這個問題,要用這個腳本修復。

PVE Processor Microcode

PVE CPU Scaling Governor


重開機,下面這兩個腳本鎖定現在系統使用最新的 kernel 版本,跟移除舊的,如果有更新過看情況使用。

PVE Kernel Pin

PVE Kernel Clean


可選,如果有在用 LXC 可以裝

PVE Update Repositories

PVE Cron LXC Updater

最後

安裝完之後,就有 30 core 100 GiB 以上的資源可以玩,後續會再出一系列文章,關於我如何安裝家裡用的 Kubernetes 集群以及一些網路跟儲存的設定,敬請期待。