Xen 是一个开源虚拟化平台,允许您在机器上安装裸机虚拟机管理程序,将其转变为其他客户虚拟机的主机。
我真的不明白 OpenStack/CloudStack/Eucalyptus 是什么,因为他们的新闻稿中充斥着各种流行语,作为一名工程师,很难理解确切地这些技术的作用/提供什么,但我最好的理解它们允许你构建自己的平台即服务。
但我很好奇,Xen 和 OpenStack 之间会存在哪些类型的关系(如果有的话)。具体来说,如果我有一台安装了 Xen 服务器/虚拟机管理程序的物理机,我该如何将其与 OpenStack 集成?
- OpenStack 是否作为来宾 VM/域安装,因此由 Xen 虚拟机管理程序控制?或者
- OpenStack 是否充当 Xen 虚拟机管理程序(和/或控制器域)本身的插件?或者
- OpenStack 是否安装在其自己的物理服务器上,然后位于 1+ Xen 虚拟机管理程序的所有客户虚拟机/域之上?或者
- 还有别的吗?
具体的例子通常是让我“透过树木看到森林”的最佳方式。谢谢!
答案1
在浏览了 docks 并运行 DevStack.org(在您的笔记本电脑、单个 VM 或 Vagrant 盒内本地运行的 OpenStack)后发现了这一点。
OpenStack 不是可执行文件。它是一套作为 Linux 服务安装的 Python 应用程序。您需要一堆强大的物理服务器,并按如下方式安装这些 Python 应用程序:
- 1 个强大的物理节点,用于安装 OpenStack 控制服务(一个 Python 应用程序),名为地平线
- 1 个强大的物理设备被用作网络控制器,用于安装 OpenStack Neutron(也是一个 Python 应用程序)
- 1+ 强大的物理设备被用作计算节点,您可以在所有物理设备上安装 OpenStack Nova(Python 应用程序)
- 1+ 强大的物理设备被制成存储节点,您在其中安装了 OpenStack Cinder (Python)
还有其他架构和应用程序到物理的映射,但这是典型的安装。所有物理设备都是集群化的,通过配置,所有节点都相互了解。由于这些是 Python 应用程序,因此最好在每个物理设备上运行 Linux 发行版(Ubuntu、CentOS 等)作为操作系统,因为 Linux 发行版附带已安装的 Python。但是,“裸机”安装正在筹备中,并且即将投入生产。
当确定(通过手动或编程触发)OpenStack 需要生成新 VM 时,控制节点 (Horizon) 会向计算集群 (Nova) 发送信号。在这些机器上运行的 Nova Python 应用程序会选择生成 VM 的物理位置。大多数 VM 工具(Xen、KVM、vmware 等)都有 Nova-Hypervisor 绑定。当 Nova 收到生成新 VM 的请求时,它实际上会将请求转发到本地 Hypervisor 以执行实际工作。我省略了对另一个 OpenStack 服务的解释,称为一瞥这实际上是虚拟机镜像的存储和获取的地方,但这是从 30,000 英尺的高度来观察 OpenStack实际上作品。
蜜蜂 T 恤配音。