集群管理 (广播模式)

同时向多台服务器发送命令

管理一台服务器很容易。管理 50 台服务器则需要专门的工具。广播模式 (Broadcast Mode) 将 Netcatty 变成了一个轻量级的编排工具(类似于 Ansible,但是交互式的)。

在本指南中,我们将演练一个真实的集群维护场景。

“集群更新”场景

目标: 你有 4 台 Web 服务器 (web-01web-04)。你需要检查它们的运行时间 (uptime)、空闲内存,并运行安全补丁。

启动集群

  1. 进入保险库 (Vault)。
  2. 选择你的“Web 服务器”分组(或者 Cmd+点击 选中 4 个特定的主机)。
  3. 点击右键 -> 连接 (Connect)
  4. Netcatty 会打开 4 个标签页。

平铺视图

你无法向看不见的标签页发送广播。 点击工具栏中的 网格布局 (Grid Layout) 图标并选择 2x2。 现在,你拥有了所有 4 个节点的“指挥中心”视图。

开启广播

点击工具栏中的 广播 (无线电) 图标。 视觉检查: 工具栏中的按钮会变为绿色。这表示输入同步已激活。

执行命令

输入 uptime 并回车。 结果:所有 4 个屏幕同时执行该命令。 输入 free -h 并回车。 结果:你可以直观地对比整个集群的内存占用情况。

广播模式实战

安全守则

广播模式是原始的输入同步。它并不能“感知”Shell 的具体状态。

“提示符漂移”风险 (Prompt Drift)

如果服务器 A 处于 bash 提示符 $ 状态,而服务器 B 处在 nano 编辑器内:

  • 输入 rm -rf / 会删除服务器 A 上的文件。
  • 它只会在服务器 B 的编辑器内输入文本。
  • 铁律: 在开启广播之前,务必确保所有终端都处于干净的提示符状态。连续按下几次 Ctrl+C 可以重置所有窗格的状态。

部分广播

你不必向所有窗格广播。

  1. 分组: 按住 Command (Mac) 并点击窗格 1 和窗格 2 的标题栏以“选中”它们(激活焦点)。
  2. 开启广播: 点击广播图标。
  3. 结果: 只有被选中的窗格会接收输入。

进阶模式:蓝绿部署 (Blue-Green)

你可以利用广播模式管理滚动重启:

  1. 打开 6 个终端。
  2. 选中上方 3 个(蓝色集群)。广播:systemctl stop app
  3. 执行维护。
  4. 广播:systemctl start app
  5. 选中下方 3 个(绿色集群)。重复上述操作。

与代码片段集成

代码片段 (Snippets) 在广播模式下同样有效!你可以准备一个复杂的、多行的补丁脚本,通过命令面板 (Cmd+P) -> “运行代码片段”,一键在 50 台服务器上执行。