我是云计算技术的新手。有一款流行的云软件叫 Eucalyptus。
我发现 Eucalyptus 中启动虚拟机的方式与 Virtualbox 非常不同。在 Virtualbox 中,我们可以创建一个虚拟磁盘文件,将任何操作系统安装到磁盘文件中,然后我们可以使用该磁盘文件作为虚拟硬盘来启动虚拟机。整个过程简单易懂。
另一方面,我发现在 Eucalyptus 中启动虚拟机的方式相当复杂。首先,我们需要创建原始磁盘文件并安装客户操作系统。然后,我们需要将虚拟机映像拆分为内核映像、ramdisk 映像和磁盘映像。我们还需要对这些映像文件执行所谓的“捆绑”过程,然后才能使用它。
我不明白为什么 Eucalyptus 让启动虚拟机变得如此困难。为什么它不能使用更简单的 Virtualbox 方法?
请问将虚拟机拆分为内核映像、ramdisk 映像和磁盘映像的目的是什么?如果虚拟机是 Windows 虚拟机,那么我们该如何拆分它?
为什么我们不能直接使用原始磁盘文件?捆绑图像的目的是什么?
答案1
Virtualbox 使用安装在映像上的引导加载程序。Eucalyptus是引导加载程序,因此需要每个引导加载程序都需要的东西:内核、ramdisk、根。
答案2
- 您可能正在使用的 VirtualBox 的最终用户界面仅用于处理少量图像,而 Eucalyptus 则用于处理大量不同的图像。在管理那么多图像时,我发现控制内核和 ramdisk 图像(与磁盘图像分开)非常有趣
- 关于 Windows 映像;这是一个非常有趣的帖子的链接,解释了如何创建这三个部分(http://kiranmurari.wordpress.com/2010/03/29/uec-bundling-windows-image/)
- 如果我理解正确的话,图像打包过程是 Eucalyptus 的 Walrus 组件需要的,所有图像都存储在该组件中。我将其视为将图像“提交”到 Walrus 数据库中。您可以使用 euca2ools 之类的抽象层来隐藏该过程并使其更容易。