安装全新 DaDesktop 服务器

在 GTHost / Hetzner 服务器上部署 DD 节点

以下说明旨在协助您在 GTHost、Hetzner 或其他类似的裸金属 Linux 服务器上部署 DaDesktop 节点(服务器)。请注意,随着安装和部署脚本的更新,这些说明可能会相应调整。


这假定您已购买服务器,并将使用 Ubuntu Jammy 22.04 进行设置。请注意,如果您拥有两块或更多磁盘且有充足空间,可以使用 RAID0(即条带化)来加快磁盘访问速度。这需要在 Hetzner 处于 Rescue 模式时,通过 'installimage' 过程进行定义。
 

准备工作:使用 GTHost / Hetzner 服务器时安装操作系统
 

Hetzner install
  1. 首先,使用提供的 root 凭据通过 SSH 登录,执行 'apt update' 和 'apt upgrade' 以确保所有软件包均为最新。然后执行 'apt autoremove' 清理升级前的过时软件包。
  2. 如果使用 Hetzner,服务器会以 Rescue 模式启动,因此您需要在重启和升级前,定义发行版要求、软件 RAID(如 mdm、xfs)、ipv4 等。通常,对于较小的 /boot 和 /boot/esp 分区,可接受使用 ext4 而非 xfs 的默认设置,并且无需使用交换分区,因为它不是必需的。允许 / 分区使用 xfs 并占用剩余的磁盘空间。
  3. 如果使用 LeaseWeb 或其他提供商,您需要将主 / 文件系统更改为使用 xfs,而非 ext4 或 btrfs。下面的说明仅为指南,然而,要确保 / 分区使用 xfs 比直接定义 /bigdisk 使用 xfs 更困难,因为任何文件系统的更改都需要在操作系统之外进行,因为在 / 分区挂载时无法轻易/安全地更改其类型。
  4. 为创建 xfs 文件系统,请尽可能使用供应商提供的工具,这样更简单。否则,可从 Rescue 系统执行类似以下命令:
    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 http://npg.io/d > d
  4. 此时,底层操作系统应从 22.04 升级到最新的 Ubuntu 版本,例如当前的 Ubuntu 23.10 Mantic,即将发布的 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 节点。为减轻升级过程中 SSH 连接可能中断的风险,您可以选择使用 tmux,然后在已下载脚本的当前目录中运行 'bash d'。
  9. 检查屏幕上记录的消息是否有错误,在脚本执行期间,服务器 IP 将被添加到 NP 访问列表中;这个过程是自动的,但您可能需要等待几分钟,待白名单 cron 作业更新后才能继续。
  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 的图形界面中检查新的 dd 服务器条目,并使用测试 TPAPI 等进行测试。
  2. 在 DaDesktop 中为服务器添加开始和到期日期,如果需要,将其添加到数据中心。
  3. 在 Zabbix 中检查新服务器的运行情况,根据需要清理任何问题。
  4. 通过创建 Standalone 实例到服务器并运行来进行测试。
  5. 如果需要,将服务器添加到数据中心。
  6. 可选操作,如果需要,为新服务器添加计费规则。
  7. 如有必要,将操作系统模板复制到服务器。
  8. 如果有必要,提醒讲师/协调员使用此特定服务器(若其将用于特定课程)。

 祝您使用愉快!