Files
blog-nextjs/.contentlayer/generated/Page/pages__HomeLab.md.json
2025-11-17 15:28:20 +08:00

31 lines
11 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "HomeLab",
"slug": "homelab",
"type": "page",
"ghost_id": "67dec6355fce5a0001f860c2",
"status": "published",
"visibility": "public",
"featured": false,
"created_at": "2025-03-22T14:16:21.000Z",
"updated_at": "2025-03-23T10:05:14.000Z",
"published_at": "2025-03-22T14:48:03.000Z",
"authors": [
"Gbanyan"
],
"feature_image": "../assets/photo-1551703599-6b3e8379aa8c.jpg",
"body": {
"raw": "\n記載了 HomeLab 的架設經過及配置\n\n## 硬體\n\n* 暢網 Intel J4125 四網口小機器\n* 2nd i3-8100 主 HomeLab Server\n + UMAX DDR4 16G x 2 = Total 32 GB\n + PCIE 3.0 x 16 NVMe SSD Expansion Card with 4 slots (自帶晶片)\n - NVMe SSD 500GB x 2\n - NVMe SSD 1TB x 2\n + Asrock H370M ITX/ac\n - 1 SATA SSD for Proxmox VE host\n - 1 SATA SSD for Temp Download\n - AQ107 M.2 to 10 Gbps Ethernet Cards\n* Synology NAS\n\ni3-8100 是 朋友換機後收來的,後來深入研究後,發現竟然是同一系列少數支援 ECC Memory 的型號,但後來沒有特別去搞\n\n會選中 i3-8100 主要是長時間的待機功耗與所需效能間平衡點的考量。雖然可以選 N100 但是擴充性不佳,且新品不若 i3-8100 便宜。核心數或時脈再上去的 CPU 則待機功耗會增加。目前評估,這是現階段 HomeLab 耗電與效能間的最佳平衡。\n\n會選這張主機板是看中有兩個網路孔可以當作軟路由使用不過朋友贈送一台 J4125 小機器故主機暫時未充當軟路由的角色。未來應該是看誰先壞掉J4125 小機器壞掉的話這台就可以繼續以 Proxmox VE 的 VM image 備份檔直接接手軟路由功能。\n\n為了塞進去機櫃不充裕的空間選了 ITX 主機板,結果擴充時綁手綁腳。四顆 NVMe SSD 擴充卡已經佔掉了唯一的 PCIE 3.0 x 16 插槽,想擴充 10Gbps 網路時,竟然成功硬幹,從淘寶買了一張 M.2 介面 轉 10Gbps 的網路卡,順利啟用 PCIE 3.0 x 4 的頻寬,真的是很神奇的一件事。\n\n## 軟體規劃\n\nHomeLab server 目的有:\n\n* 自架服務,如廣告 DNS Block、智慧家庭、多媒體音樂、相簿、程式碼 Repo、密碼庫及其他\n* 備份中介站Syncthing 常駐以隨時與其他裝置串接同步\n* 暫時性外網檔案分享區,避免在外面電腦登入 Google Drive, Microsoft Onedrive 等敏感性帳號的風險\n* 內網 Samba 分享服務\n* 其他需長期執行,不適合桌面 PC 長時間開機,增加耗電的程序,如爬蟲、下載等\n\nHomeLab 有人玩到自動追劇、新動畫番自動下載歸類、還有其他有的沒有的, \n雖然以前曾經會花時間試有的沒有的 Self-hosted Service, 如記帳、家庭物料整備整理等等,不過現在偏向收斂,維持必要服務運行。\n\n### 服務架構\n\n不談太多細節僅列出核心\n\n* 對外 PPPoE 撥號及防火牆以 OPNSense 運行,虛擬化在 Proxmox VE 上,運行在 J4125 機器上\n + 規劃 VLAN區隔子網段並分別配置防火牆規則將內外網分離\n + 訂閱 Firehol IP 清單,阻隔威脅\n + Unbound DNS 啟用訂閱 Block 清單,為家裡人網路多一份保障\n* Home Assistant OS 虛擬化運行在 Proxmox VE 上\n + 提供家庭裝置基本儀表板,可連結空調、蘋果裝置、智慧螢幕、路由器、智慧開關等\n + 可配合手機 App 設定位置偵測及觸發條件,例如一出門就自動關閉智慧開關、冷氣配合室外溫度自動設定目標溫度等\n* 主 HomeLab Server (i3-8100) 配合內外網 VLAN ,在 Proxmox VE Bridge 上設定 VLAN 以及各 LXC 上設定 Tag\n + 各服務使用 Caddy or Traefik + Cloudflare DNS API ,一律在 Reverse Proxy 上自訂網域及自動申請對應 SSL憑證\n + 高度安全性需求,無必要對外暴露服務,一律僅限內網存取,在外行動透過 VPN 連回\n - ssh-remote 遠端桌機 Linux 開發\n - Vaultwarden 密碼庫服務\n - Samba 檔案存取...\n + 對外暴露服務,如與他人分享的 git repo Gitea, 暫時存放檔案的 filebrowser, 個別 LXC 指定外網 VLAN Tag, 並設定防火牆條件令他們無法存取內網\n* 在主 Proxmox VE Server 上面設定 ZFS Pool四顆汰換下來的 SSD 組成 RAID 10 陣列\n + 所有 LXC 及 VM image 的主儲存區\n + 內網 Samba 的檔案儲存區\n + 以 Memory 當作 Arc Cache\n* 所有 Proxmox VE 虛擬化的 VM 跟 LXC image ,設定每日深夜自動備份至 Synology NAS\n + Proxmox VE 的虛擬化,讓 LXC Container Image 如果遭到攻擊或感染,也不會影響到其他 Container 及備份主機\n + 已經有多次因為更新或者更改配置導致服務掛掉,直接從備份救回的例子\n + Synology NAS 由於是傳統 HDD精神是以 SSD 為日間主要服務載體,然後至夜間由 Synology NAS 接手備份及上傳至雲端,在深夜時段由於睡眠故可放心頻寬佔用\n* 以服務時段來分配設備自動開關機排程,達到省電節約能源目的\n + Synology NAS 內存放的是長期冷儲存檔案或者保存之媒體檔案\n + 以時段來說為周六日才較有機會存取,故安排六日之外其餘時間只有深夜開機\n + 深夜開機主要負責 Proxmox VE 備份及雲端上傳服務\n + Synology NAS 效能不一定是最好,但是所有設備中最穩定的,故擔任家用備份終端點任務\n",
"html": "<p>記載了 HomeLab 的架設經過及配置</p>\n<h2 id=\"硬體\"><a href=\"#硬體\">硬體</a></h2>\n<ul>\n<li>暢網 Intel J4125 四網口小機器</li>\n<li>2nd i3-8100 主 HomeLab Server\n<ul>\n<li>UMAX DDR4 16G x 2 = Total 32 GB</li>\n<li>PCIE 3.0 x 16 NVMe SSD Expansion Card with 4 slots (自帶晶片)\n<ul>\n<li>NVMe SSD 500GB x 2</li>\n<li>NVMe SSD 1TB x 2</li>\n</ul>\n</li>\n<li>Asrock H370M ITX/ac\n<ul>\n<li>1 SATA SSD for Proxmox VE host</li>\n<li>1 SATA SSD for Temp Download</li>\n<li>AQ107 M.2 to 10 Gbps Ethernet Cards</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>Synology NAS</li>\n</ul>\n<p>i3-8100 是 朋友換機後收來的,後來深入研究後,發現竟然是同一系列少數支援 ECC Memory 的型號,但後來沒有特別去搞</p>\n<p>會選中 i3-8100 主要是長時間的待機功耗與所需效能間平衡點的考量。雖然可以選 N100 但是擴充性不佳,且新品不若 i3-8100 便宜。核心數或時脈再上去的 CPU 則待機功耗會增加。目前評估,這是現階段 HomeLab 耗電與效能間的最佳平衡。</p>\n<p>會選這張主機板,是看中有兩個網路孔,可以當作軟路由使用,不過朋友贈送一台 J4125 小機器故主機暫時未充當軟路由的角色。未來應該是看誰先壞掉J4125 小機器壞掉的話這台就可以繼續以 Proxmox VE 的 VM image 備份檔直接接手軟路由功能。</p>\n<p>為了塞進去機櫃不充裕的空間,選了 ITX 主機板,結果擴充時綁手綁腳。四顆 NVMe SSD 擴充卡已經佔掉了唯一的 PCIE 3.0 x 16 插槽,想擴充 10Gbps 網路時,竟然成功硬幹,從淘寶買了一張 M.2 介面 轉 10Gbps 的網路卡,順利啟用 PCIE 3.0 x 4 的頻寬,真的是很神奇的一件事。</p>\n<h2 id=\"軟體規劃\"><a href=\"#軟體規劃\">軟體規劃</a></h2>\n<p>HomeLab server 目的有:</p>\n<ul>\n<li>自架服務,如廣告 DNS Block、智慧家庭、多媒體音樂、相簿、程式碼 Repo、密碼庫及其他</li>\n<li>備份中介站Syncthing 常駐以隨時與其他裝置串接同步</li>\n<li>暫時性外網檔案分享區,避免在外面電腦登入 Google Drive, Microsoft Onedrive 等敏感性帳號的風險</li>\n<li>內網 Samba 分享服務</li>\n<li>其他需長期執行,不適合桌面 PC 長時間開機,增加耗電的程序,如爬蟲、下載等</li>\n</ul>\n<p>HomeLab 有人玩到自動追劇、新動畫番自動下載歸類、還有其他有的沒有的,<br>\n雖然以前曾經會花時間試有的沒有的 Self-hosted Service, 如記帳、家庭物料整備整理等等,不過現在偏向收斂,維持必要服務運行。</p>\n<h3 id=\"服務架構\"><a href=\"#服務架構\">服務架構</a></h3>\n<p>不談太多細節,僅列出核心</p>\n<ul>\n<li>對外 PPPoE 撥號及防火牆以 OPNSense 運行,虛擬化在 Proxmox VE 上,運行在 J4125 機器上\n<ul>\n<li>規劃 VLAN區隔子網段並分別配置防火牆規則將內外網分離</li>\n<li>訂閱 Firehol IP 清單,阻隔威脅</li>\n<li>Unbound DNS 啟用訂閱 Block 清單,為家裡人網路多一份保障</li>\n</ul>\n</li>\n<li>Home Assistant OS 虛擬化運行在 Proxmox VE 上\n<ul>\n<li>提供家庭裝置基本儀表板,可連結空調、蘋果裝置、智慧螢幕、路由器、智慧開關等</li>\n<li>可配合手機 App 設定位置偵測及觸發條件,例如一出門就自動關閉智慧開關、冷氣配合室外溫度自動設定目標溫度等</li>\n</ul>\n</li>\n<li>主 HomeLab Server (i3-8100) 配合內外網 VLAN ,在 Proxmox VE Bridge 上設定 VLAN 以及各 LXC 上設定 Tag\n<ul>\n<li>各服務使用 Caddy or Traefik + Cloudflare DNS API ,一律在 Reverse Proxy 上自訂網域及自動申請對應 SSL憑證</li>\n<li>高度安全性需求,無必要對外暴露服務,一律僅限內網存取,在外行動透過 VPN 連回\n<ul>\n<li>ssh-remote 遠端桌機 Linux 開發</li>\n<li>Vaultwarden 密碼庫服務</li>\n<li>Samba 檔案存取...</li>\n</ul>\n</li>\n<li>對外暴露服務,如與他人分享的 git repo Gitea, 暫時存放檔案的 filebrowser, 個別 LXC 指定外網 VLAN Tag, 並設定防火牆條件令他們無法存取內網</li>\n</ul>\n</li>\n<li>在主 Proxmox VE Server 上面設定 ZFS Pool四顆汰換下來的 SSD 組成 RAID 10 陣列\n<ul>\n<li>所有 LXC 及 VM image 的主儲存區</li>\n<li>內網 Samba 的檔案儲存區</li>\n<li>以 Memory 當作 Arc Cache</li>\n</ul>\n</li>\n<li>所有 Proxmox VE 虛擬化的 VM 跟 LXC image ,設定每日深夜自動備份至 Synology NAS\n<ul>\n<li>Proxmox VE 的虛擬化,讓 LXC Container Image 如果遭到攻擊或感染,也不會影響到其他 Container 及備份主機</li>\n<li>已經有多次因為更新或者更改配置導致服務掛掉,直接從備份救回的例子</li>\n<li>Synology NAS 由於是傳統 HDD精神是以 SSD 為日間主要服務載體,然後至夜間由 Synology NAS 接手備份及上傳至雲端,在深夜時段由於睡眠故可放心頻寬佔用</li>\n</ul>\n</li>\n<li>以服務時段來分配設備自動開關機排程,達到省電節約能源目的\n<ul>\n<li>Synology NAS 內存放的是長期冷儲存檔案或者保存之媒體檔案</li>\n<li>以時段來說為周六日才較有機會存取,故安排六日之外其餘時間只有深夜開機</li>\n<li>深夜開機主要負責 Proxmox VE 備份及雲端上傳服務</li>\n<li>Synology NAS 效能不一定是最好,但是所有設備中最穩定的,故擔任家用備份終端點任務</li>\n</ul>\n</li>\n</ul>"
},
"_id": "pages/HomeLab.md",
"_raw": {
"sourceFilePath": "pages/HomeLab.md",
"sourceFileName": "HomeLab.md",
"sourceFileDir": "pages",
"contentType": "markdown",
"flattenedPath": "pages/HomeLab"
},
"__ignoredType": "Page",
"url": "/pages/homelab",
"flattenedPath": "HomeLab"
}