将现有的虚拟机导入Openstack / Cloudstack

我们正在使用XEN + CentOS运行我们的基础架构,并正在考虑迁移到Ubuntu(作为主机和来宾)+ KVM。

我们的目标是在稍后阶段使用openstack / cloudstack创build一个私有云,但是由于严格的预算,我们无法投资build立与当前云基础设施一起所需的硬件。 由于我们有less于10个物理服务器(但有很多虚拟机),我们的想法是将机器从我们当前的设置逐一迁移到KVM + Ubuntu,我的问题是如下,一旦我们有完整的KVM + Ubuntu基础设施运行,我们将能够“云化”,而不必重build所有的机器(以某种方式将kvm客人导入openstack / cloudstack上的实例)? 或者我们真的需要首先构build云?

为什么从CentOS转移到Ubuntu? 因为我们可以想象,每隔几年(特别是在将来我们将大大扩展我们的基础架构)时,这是不理想的,因此我们需要重新从头开始重新安装主要版本的升级(如CentOS 5至6)。

Dom0和DomU都将由傀儡pipe理。 感谢您的任何build议

OpenStack没有任何内置的支持来获取在OpenStack之外创build的正在运行的实例,并添加它以便由OpenStackpipe理。

但是,您可以将正在运行的KVM / Xen实例导出为映像文件,然后将映像文件导入OpenStack。

virt-v2v支持将libvirt + Xen的虚拟机导出到libvirt + KVM。 一旦你有这些虚拟机,看看你如何导入虚拟机的pipe理解决scheme。如果没有virt-v2v,你的虚拟机将有Xen相关的位,并将缺乏KVM,所以这是一个有用的第一步任何状况之下

编辑:快速谷歌显示有大量的文档: http : //docs.openstack.org/trunk/openstack-compute/admin/content/creating-images-from-running-instances.html

我完全有偏见,但是为什么不移动到OpenStack + Ubuntu时仍然停留在Xen? 它应该停止你需要转换的图像。

在OpenStack中,您将不得不从旧主机中导出图像,将这些图像文件导入Glance(图像服务),然后在OpenStack环境中启动它们。

当你看CloudStack时,这也是一个非常相似的故事。

我所知道的所有云计算作品都能处理“绿地”案件。 在导入当前在虚拟机pipe理程序上运行的映像方面,它不适合完全pipe理整个环境的模型:存储,networking和新安装的虚拟机pipe理程序。

这是我该怎么做的。 以原始格式创buildKVM + Ubuntu虚拟机,使用less于10 GB的“磁盘”。

 qemu-img create myserver.raw 8G 

在上面安装Ubuntu。

 kvm -m 2G -cdrom ubuntu-12.04-server-amd64.iso -drive if=virtio,file=myserver.raw,boot=off -vnc :9 

用VNC连接它,安装你想要的任何应用程序,但不在该磁盘上存储数据! 如果您需要存储数据,请为其创build单独的卷。 将您创build的每个KVM虚拟机作为一个模板来处理,您将用它来创build迁移到OpenStack的实例。 一些虚拟机/模板你可能想保持更一般,所以他们更灵活。 有些虚拟机/模板可能需要非常具体,因此在启动它们的实例之后,要使其变得非常有用,所需做的工作就更less了。

当您准备转移到OpenStackclosures您的虚拟机并将其添加到OpenStack镜像服务(Glance)时,请参阅“ 可启动镜像 ”一节。

 glance add name="My Server" is_public=true container_format=ovf disk_format=raw < myserver.raw 

如果您有任何要迁移到OpenStack的数据:

  1. 使用包含所需数据的卷启动原始KVM虚拟机。
  2. 在OpenStack中创build至less相同大小的卷,并将它们附加到所需的实例上。
  3. scp或rsync将KVM VM卷上的数据添加到OpenStack中实例的卷上。

我在这里提出的方式不完全是一个无缝的过程,但我认为这是安全可靠的。