安裝新的 DaDesktop 伺服器
在 GTHost / Hetzner 伺服器上部署 DD 節點
以下筆記旨在協助在 GTHost、Hetzner 或其他類似裸機 Linux 伺服器上部署 DaDesktop 節點(伺服器)。請注意,這些筆記可能會隨著安裝和部署腳本的變更而改變。
這假設已購買一台伺服器,並將使用 Ubuntu Jammy 22.04 進行設定。請注意,若有兩個以上硬碟且空間充足,可使用 RAID0(即磁碟等量分割)來加快磁碟存取速度。這需要在 Hetzner 的救援模式下,透過 'installimage' 流程進行定義。
準備工作:若使用 GTHost / Hetzner 伺服器,安裝作業系統

- 首先,使用提供的 root 憑證以 SSH 登入,執行 'apt update'、'apt upgrade' 以確保所有套件為最新狀態。然後執行 'apt autoremove' 移除任何過時的套件,之後再進行升級。
- 若使用 Hetzner,您會以救援模式開機,因此需在重新開機與升級前定義發行版需求、軟體 RAID (mdm)、xfs、ipv4 等資訊。通常接受小型 /boot 與 /boot/esp 分割區使用 ext4 而非 xfs 的預設值,且不需使用 swap 分割區(非必要)。讓 / 分割區使用 xfs 並運用剩餘的磁碟空間。
- 若使用 LeaseWeb 或其他供應商,您需將主要 / 檔案系統變更為使用 xfs 而非 ext4 或 btrfs。以下筆記僅供參考,然而,確保 / 分割區使用 xfs 的設定比單純定義 /bigdisk 使用 xfs 更為困難,因為任何檔案系統變更都必須在作業系統之外進行,因為 / 掛載時無法輕易或安全地變更 / 的檔案系統類型。
-
要建立 xfs 檔案系統,盡可能使用供應商工具,因為更容易使用。否則,在救援系統中執行類似下方的指令:
mkfs.xfs -f /dev/mdx (這會以 xfs 格式化 /,而 -f 用於強制覆寫)。
注意:我們不再將 /bigdisk 定義為獨立的分割區,現在僅是 / 之下的一個目錄。 - 在作業系統之外執行 mount -t xfs /dev/mdX /,或使用系統入口網站來完成此操作。
- 若使用 /bigdisk 分割區(現已不常如此),在 /etc/fstab 中使用 defaults,nofail 0 0,讓系統即使獨立 /bigdisk 分割區未成功掛載仍可開機。
- 執行 systemctl daemon-reload 讓 systemd 重新載入 /etc/fstab。
- 執行 mount -a 以檢查分割區是否依需求建立,並使用 df -T 確認。
-
重新開機
執行 DaDesktop 安裝腳本
- 使用 SSH 連線至伺服器,例如 svr@xxxxxxxxx。
- 透過 DaDesktop 安裝腳本進行安裝,即:
- curl http://npg.io/d > d
- 此時,底層作業系統應從 22.04 升級至最新的 Ubuntu 版本,即目前為 Ubuntu 23.10 Mantic,不久將為 Ubuntu 24.04 Noble。
- 這最好使用位於 /apps/dadesktop_npnode_deploy/modules/00-upgrade-os 名為 update-os 的腳本完成。這比手動進行發行版升級更容易,並將 apt 來源從 jammy 更換為 mantic (nautic),讓升級過程在一次操作中完成,而非多次。注意:雖然同時跳過兩個版本升級通常不是良好作法,但由於安裝的套件數量非常少,此舉相當安全。
-
若在發行版升級期間遇到 DNS 無法運作的問題(我們在某次安裝時遇過),可執行下列指令修復 DNS:
rm /etc/resolv.conf ; echo \"nameserver 8.8.8.8\" > /etc/resolv.conf - 選擇性地設定主機名稱,例如 lo33uk.npg.io,若您想用特定名稱建立 DD 節點,也許是先前已設定過且想重新使用。必要時重新開機以套用主機名稱。
- 接著,執行主腳本來安裝 DD 節點。可選擇性地使用 tmux 以避免升級期間可能發生的 SSH 斷線,然後在已下載腳本的當前目錄中執行 'bash d'。
- 檢查螢幕上記錄的訊息是否有任何錯誤,執行腳本期間伺服器 IP 會自動加入 NP 存取清單,但您可能需要等待幾分鐘,讓白名單 cron 更新後才能繼續。
- 檢視腳本進度,修正或回報任何出現的問題。
- 執行清理腳本 /apps/dadesktop_npnode_deploy/modules/00-cleanup。此腳本會移除許多未使用的套件,並降級某些套件。
- 執行 /apps/zabbix-agent/services/test-all.sh 來檢查是否還有其他問題。
- 針對任何未維護的套件,使用 apt purge xxx, yyy 移除。並移除任何顯示的失效連結。
-
然後重新開機,並測試運作狀況。
安裝後測試 DD 節點
- 在 DaDesktop GUI 中檢查新的 DD 伺服器條目,並使用 test TPAPI 等進行測試。
- 在 DaDesktop 中為伺服器新增開始和到期日期,必要時放入資料中心。
- 在 Zabbix 中檢查新伺服器的運作狀況,必要時清除任何問題。
- 透過在伺服器上新增 Standalone 並執行來進行測試。
- 視需要將伺服器加入資料中心。
- 選擇性地,如有需要,為新伺服器新增計費規則。
- 視需要將作業系統範本複製到伺服器。
- 如有必要,若此伺服器將用於特定課程,通知講師/協調員使用此特定伺服器。
享受吧!