DaDesktop

安裝新的 DaDesktop 伺服器

在 GTHost / Hetzner 伺服器上部署 DD 節點

以下備註旨在協助在 GTHost、Hetzner 或其他類似的裸機 Linux 伺服器上部署 DaDesktop 節點(伺服器)。請注意,隨著安裝與部署腳本的變更,這些備註可能隨時有所調整。


此處假設伺服器已購買完成,並將安裝 Ubuntu Jammy 22.04。請注意,若有足夠空間並擁有兩顆或更多磁碟,您可使用 RAID0(即條帶化)來加速磁碟存取。這需要在 Hetzner 的救援模式下,透過 'installimage' 程序進行設定。 
 

準備工作:若使用 GTHost / Hetzner 伺服器,安裝作業系統
 

Hetzner 安裝
  1. 首先,使用提供的 root 憑證透過 SSH 登入,執行 'apt update' 與 'apt upgrade' 以確保所有套件皆為最新。接著執行 'apt autoremove' 移除任何已淘汰的套件,再進行升級。
  2. 若使用 Hetzner,您會以救援模式啟動,因此必須在重新開機與升級前定義發行版需求、軟體 RAID(mdm、xfs、ipv4 等)。一般來說,針對較小的 /boot 及 /boot/esp 分割區,請接受預設值,使用 ext4 而非 xfs,且無需建立 swap 分割區。讓 / 分割區使用 xfs,並使用剩餘的磁碟空間。
  3. 若使用 LeaseWeb 或其他供應商,您需要將主要的 / 檔案系統改為 xfs,而非 ext4 或 btrfs。以下的備註僅供參考,然而,要確保 / 分割區使用 xfs 會比僅定義 /bigdisk 為 xfs 來得麻煩,因為任何檔案系統變更都必須在作業系統外部進行,當 / 已掛載時,無法輕易、安全地變更 / 的檔案系統類型。
  4. 若要建立 xfs 檔案系統,盡可能使用供應商工具,因為更為簡便。否則,可從救援系統執行類似以下指令:
    mkfs.xfs -f /dev/mdx(此指令會以 xfs 格式化 /,-f 則用來強制覆寫)。 
    附註:我們已不再將 /bigdisk 定義為獨立的分割區,現在僅是 / 底下的一個目錄。
  5. 在作業系統外部執行 mount -t xfs /dev/mdX /,或使用系統入口網站進行。
  6. 若使用 /bigdisk 分割區(現已不常見),請在 /etc/fstab 中使用「defaults,nofail 0 0」參數,如此即使獨立的 /bigdisk 分割區未能成功掛載,系統仍可正常開機。
  7. 執行 systemctl daemon-reload,讓 systemd 重新載入 /etc/fstab。
  8. 執行 mount -a 檢查分割區是否如預期建立,再以 df -T 確認。
  9. 重新開機

     

執行 DaDesktop 安裝腳本

 

  1. SSH 連線至伺服器,例如  svr@xxxxxxxxx
  2. 透過 DaDesktop 安裝腳本進行安裝,即
  3. curl https://www.dadesktop.com/d > d
  4. 此時,應將基礎作業系統從 22.04 升級至最新的 Ubuntu 版本,即目前的 Ubuntu 23.10 Mantic,並即將推出 Ubuntu 24.04 Noble。
  5. 這最好透過位於 /apps/dadesktop_npnode_deploy/modules/00-upgrade-os 中的 update-os 腳本來完成,比起手動進行發行版升級更為簡便,它會將 apt 來源從 jammy 替換為 mantic(nautic),讓您能透過單一步驟完成升級,而非多次操作。請注意,雖然一次跳過兩個版本升級通常是不好的做法,但由於已安裝的套件數量非常少,此舉是相當安全的。
  6. 若在發行版升級期間遇到 DNS 無法運作的問題(我們曾在某次安裝中遇過),可修復 DNS 問題:
     rm /etc/resolv.conf ; echo "nameserver 8.8.8.8" > /etc/resolv.conf
  7. 可選擇設定主機名稱,例如 lo33uk.npg.io,若您希望建立特定名稱的 DD 節點,或許是先前已設定好並打算繼續使用的名稱。必要時重新開機以套用主機名稱。
  8. 接著,執行主要腳本來安裝 DD 節點。可選擇使用 tmux,以減輕升級期間 SSH 連線可能中斷的風險,然後在下載腳本所在的目錄中執行 'bash d'。
  9. 檢查螢幕上記錄的訊息以查看是否有錯誤;執行腳本期間,伺服器 IP 將會自動新增至 NP 存取清單中,但您可能需要稍等幾分鐘,待白名單的排程更新後才能繼續。
  10. 檢視腳本進度,修復或回報任何出現的問題。
  11. 執行清理腳本 /apps/dadesktop_npnode_deploy/modules/00-cleanup。此腳本會移除許多未使用的套件,並將部分套件降級。
  12. 執行 /apps/zabbix-agent/services/test-all.sh 以檢查是否有其他問題。
  13. 針對任何無人維護的套件,使用 apt purge xxx, yyy 將其移除。刪除顯示的任何無效連結。
  14. 然後重新開機,並測試運作狀況。
     

安裝後測試 DD 節點

  1. 在 DaDesktop GUI 中檢查新的 DD 伺服器項目,並以測試 TPAPI 等方式進行測試。
  2. 在 DaDesktop 中為伺服器新增開始與到期日期,必要時將其加入資料中心。
  3. 在 Zabbix 中檢查新伺服器的運作狀況,必要時清理任何問題。
  4. 透過將 Standalone 加入伺服器並執行來進行測試。
  5. 必要時將伺服器加入資料中心。
  6. 選用步驟:如有需要,為新伺服器新增計費規則。
  7. 必要時將作業系統範本複製到伺服器。
  8. 如有必要,通知講師/協調員:若此伺服器將用於特定課程,請指定使用此伺服器。

 敬請享用!