创建可在任何地方(虚拟和物理)运行的操作系统映像

创建可在任何地方(虚拟和物理)运行的操作系统映像

我即将为我的项目构建一个 CentOS 服务器。为了节省时间,我希望能够复制此自定义服务器,以便可以在物理服务器和虚拟服务器(包括 Vultr 和 DigitalOcean 等在线 VPS)上快速复制它。

最好的策略是什么,以便我可以创建可以在任何地方轻松安装的 ISO?

策略是指我应该先创建物理服务器还是先从虚拟服务器开始?安装服务器后如何创建此 ISO?

答案1

建个启动文件

满的过程有点太宽泛,无法用一个答案来概括(而且有一个图形用户界面) 并将其与安装前和安装后脚本一起使用,从而基本上自动化整个过程。

您可能还想考虑在容器喜欢码头工人可以单独使用,也可以与 kickstarted iso 结合使用 - 这样您就可以将依赖项和包打包到一个或多个容器中。我不喜欢这种方法(因为我喜欢在裸机上进行设置的选项),但这会为您提供最大的一致性。

答案2

您可能希望利用虚拟化技术来使其在任何地方都能发挥作用。

我不建议使用镜像的原因在于每台目标机器都有不同的硬件。虚拟化通过在客户机中使用标准硬件来消除此问题。

这意味着您必须研究要使用哪种虚拟化平台。这可以是 Microsoft Hyper-V、Oracle VM VirtualBox、VMWare、KVM 等。

根据您所拥有的开发环境和服务器的情况,您的选择可能会受到限制。

如果您使用 Windows 作为环境,那么 Hyper-V 将是最佳选择。

虚拟化平台有几个文件。它们有一个设置文件(包含虚拟机的设置),还有一个容器文件,即所连接硬盘的映像。

您只需复制容器文件并根据需要重新创建虚拟机,以满足主机规格。

这意味着,如果尚未安装软件,请创建一个新的虚拟 PC,而不是创建一个新的虚拟硬盘,而是选择现有并浏览到您的映像。一切都应立即可用。

如果 Hyper-V 不是一个选项,因为您不仅限于 Windows,那么 Oracle VM 也可以在 Linux、Mac 和 Solaris 上运行。

hyper-v 和 oracle vm 之间最大的区别在于,hyper-v 只允许在客户机真正需要资源时才需要资源,而使用 oracle vm 时,它会在启动 vm 时保留资源,这意味着如果您的系统本身有 16gb 内存,您就无法运行 2 个分别有 8gb 内存的 vm。(主机也需要内存)

说到服务器,Windows Server 附带一个核心版本,它非常轻量,非常适合用作使用 Hyper-V 托管内部服务器的基础。微软甚至推出了 Windows Nano Server,它被设计得尽可能轻量,允许使用 Hyper-V 托管其他服务器。微软 Windows Nano Server 的缺点是它非常新(随 Windows Server 2016 一起提供),需要付出很多努力才能使其正常工作。此外,Nano 服务器本身有一个非常基本的界面,需要通过 powershell 进行远程管理才能对其进行管理。

这是你的策略。我不确定它与 Vultr 和 DigitalOcean 配合得如何,因为我没有使用过它们,也不知道它们是否允许这样做,但如果他们不能这样做,那么除了手动配置这些服务器之外基本上没有其他办法了。你可以询问他们是否使用 Hyper-V 并愿意为你安装 VHDX 文件。

相关内容