![克隆 Ubuntu 服务器虚拟机后需要注意的事项](https://linux22.com/image/1117768/%E5%85%8B%E9%9A%86%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%90%8E%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%E7%9A%84%E4%BA%8B%E9%A1%B9.png)
我有一台在 vmware 工作站 8 上运行的 Ubuntu 12.04 服务器。由于时间有限,我无法安装新服务器,因此我决定必须使用完全相同的配置克隆 10 个服务器。除了 IP 地址、mac 地址和主机名之外,我还必须记住更改什么,以便之后不会在服务器之间引起任何冲突?
答案1
如果是使用 DHCP 和 netplan 的 Ubuntu 18.04(或者您可能无论如何都想这样做),只需花一段时间试图弄清楚为什么具有不同 MAC 地址的克隆从 dhcp 服务器获得相同的 ip...
您必须使用以下命令更改 /etc/machine-id 以赋予其唯一名称
sudo systemd-machine-id-setup
答案2
如果您要对现有服务器进行 10 次克隆,那么您仍然需要进行权衡,现在花几个小时解构其设置并使用 Puppet/Chef/Juju/etc 编写脚本并设置维护和监控,这很容易抵消您手动追逐运行单个软件包更新的服务器并在服务中断时想知道出了什么问题所花费的时间。
这确实是无聊的系统操作员的工作……但正如我所说,几个月内就能收回成本,到明年年底,您要么感谢我提出这个建议,要么诅咒自己忽视它。在我看来,这适用于您处理两台以上计算机的情况。设置这些东西并不需要那么长时间。
但 IP 地址和主机名是最重要的两个因素。如果您正在运行 DHCP 等网络配置服务,这将导致问题,但假设这些是客户端,您可能不会立即看到任何问题。
答案3
哎呀,IP 地址和主机名是显而易见的。但是,请确保删除 /root/.ssh,这样这些虚拟机就没有您的 SSH 密钥来返回主服务器。如果您将主服务器虚拟机创建为您的个人服务器,情况也是如此 - 远程用户帐户不需要位于服务器上。
既然时间很重要,那么空间重要吗?那么新服务器怎么样?让学生登录该服务器,并让他们通过 SSH 进入他们自己的轻量级容器,这样他们就不会影响您的服务器。请参阅 man -k lxc。仅供参考,Docker 是使用名为“lxc”的简单 Linux 容器工具启动的。
(1)创建全新的 Ubuntu 或 CentOS 服务器;(2)在您的 Ubuntu VM 上使用 Linux 容器(lxc“lxc create {servername} -t ubuntu”)。它将让您轻松创建 10 个可登录的容器。
“Oli” 提出了关于脚本编写的好观点。请参阅 digital ocean 上的许多教程,了解如何使用 Ansible 创建带有 Web 服务器和数据库服务器的 LXC 实验室。如果您需要 Web 服务器,他们有 Apache 和 Nginx 版本的教程。
祝你好运!
拉里