如果我想要一个精确的副本作为负载平衡节点运行,那么简单地克隆 Ubuntu 服务器的 vmware 映像可以吗?我意识到我至少必须更改新机器的 IP 地址和名称,但还有其他我应该注意的事情吗?
澄清:该服务器是运行 nginx 和 haproxy 的标准安装,作为某些网站的 http 负载均衡器和 ssl 代理。
答案1
假设没有任何服务特定于与网络地址或主机名相关的内容,那么您需要做的就是更改两者。我通常在配置文件中更改它们前我进行克隆,但没有应用它们,因此新的盒子已准备就绪,然后在克隆后将它们更改回原始节点上的状态。
另一个稍微安全一点的选择是添加一次性初始化脚本,在克隆之前进行更改,然后克隆系统,然后禁用该一次性脚本。此脚本应检查 MAC 地址之类的内容,以确保它确实位于“克隆”节点上,然后再对主机名或 IP 进行任何破坏性操作。
在新的节点启动后,您可能还应该在其上重新生成 SSH 密钥、随机种子文件或任何其他“与每台机器”和安全相关的东西。
答案2
我发现的最大问题是 udev 不喜欢克隆的 NIC 卡,并且倾向于创建新实例。这可能是一个真正的麻烦,具体取决于您如何设置。您应该查看 udev 规则(在 /etc/udev/70-networking 或类似位置)并在克隆系统上提取其中列出的所有内容。重新启动后,它应该会按照预期运行。
免责声明:我使用过一些 Ubuntu 服务器,但大部分时间都花在 CentOS 上。
答案3
这完全取决于已安装的服务。
通过 Apache 托管大量静态文件的服务器很容易被克隆。邮件服务器、数据库服务器或其他服务器可能不那么容易被克隆。