创建和部署 Linux 虚拟设备

创建和部署 Linux 虚拟设备

我有兴趣尝试将由大型Linux软件堆栈组成的软件产品打包成所谓的“虚拟设备“以避免痛苦的安装过程。我的需求可能与这个问题这里的答案很有帮助,但我有一些具体的问题。

我尝试分发的应用程序由几个 rails 应用程序和一些其他服务器、守护进程和需要通过 cron 运行的作业等组成。目前它在 Ubuntu 服务器中运行。

  1. 目前创建和打包上述虚拟机的最佳方法是什么?我一直在寻找操作系统虽然看起来已经过时了,但一些 教程写关于这个过程的文章。显然开放虚拟化格式对于分发虚拟设备来说是一个很好的选择,但我找不到任何关于创建这种图像的教程。

  2. 我们如何才能以保留用户数据的方式分发图像和更新?

答案1

我先回答 2):如果您将虚拟机设置为包含 2 个虚拟磁盘,则可以将操作系统和任何可升级组件放在一个磁盘上,将所有用户数据放在另一个磁盘上。要在保留用户数据的同时进行升级,只需发送操作系统磁盘的更新即可。

对于 1):如果您遵循我对 2 的建议,您需要寻找一种可以轻松单独更换虚拟磁盘的格式。您可以使用 qemu/kvm 来实现这一点,例如 qcow2 映像,但可能还有其他格式,其中一些格式可能比 qemu/kvm 更容易为用户启动。如果您使用像 OpenNebula 这样的云堆栈来运行虚拟机,而不是要求用户自己启动虚拟机,那么使用 1) 的 qemu-kvm 应该是非常可行的。

相关内容