现代基础设施的需求不断增长。随着应用程序扩展需求的增长,我们现有的服务器和存储已不再足够。此时,大多数企业都会考虑在本地设置虚拟化环境或转向公共云基础设施。但是,设置您自己的环境或在公共云上运行它的成本可能令人望而却步。
幸运的是,完全有可能使用完全开源的产品运行全功能虚拟化环境,而无需花费巨资。
超融合环境是指计算、存储和网络资源都在同一服务器上,并由单个界面管理的环境。正如我将在本文中展示的那样,您可以使用 oVirt 和 Gluster 部署超融合解决方案,从而以最佳方式利用服务器来运行全功能虚拟化基础设施。
先决条件
您将需要以下硬件基础设施
- 三台服务器,配置如下
- 32GB 或更多 RAM
- 至少 256GB 存储空间(对于概念验证之外的任何用途,您将需要更多存储空间,请考虑 TB 级)
- 双网络接口控制器 (NIC) 和至少一个 10GiB 端口
- 网络交换机
- 配置的媒体访问控制 (MAC) 预留和域名系统 (DNS) 条目
此解决方案所需的软件组件包括
- oVirt,一个开源虚拟化软件管理解决方案,具有您所需的所有企业级功能,例如主机、虚拟机 (VM) 和网络管理、高可用性和实时迁移
- GlusterFS,一个开源可扩展分布式存储,可以在商用硬件上运行高度可用的 PB 级存储。
工作原理
这两个开源解决方案协同工作以提供超融合解决方案。每台服务器都提供 hypervisor 和存储功能,VM 磁盘映像存储在 Gluster 卷上。
Gluster 卷允许来自多台服务器的存储以单个统一命名空间的形式呈现给客户端。在此解决方案中,Gluster 卷配置为来自三台服务器上的存储的 replica-3 卷,这意味着写入的每一点数据都会复制到另外两台服务器,以提供冗余和针对服务器中断的弹性。
Gluster 卷也可以配置为作为 仲裁卷 运行,与 replica-3 卷相比,仲裁卷的存储需求更低,因为数据仅复制到另一台服务器,而元数据则写入第三台服务器。这两种卷配置都确保 VM 在其中一台服务器宕机时可以继续运行而不会停机。
Libvirt 和 qemu-kvm 用于创建 VM 映像并在服务器上运行它们。oVirt 引擎管理 VM 的创建、调度和监控。由于存储在所有三台服务器之间共享,因此 VM 可以在任何一台服务器上运行,从而实现实时迁移和高可用性。
oVirt 有两个主要组件
- oVirt 引擎是一个基于 Java 的 Web 应用程序,用于管理服务器和虚拟机。引擎可以作为独立服务器运行,也可以在它管理的同一基础设施中的 VM 中运行。
- Vdsm 是一个 Python 服务,在每台服务器上运行,并与引擎和服务器上的子组件交互。
在超融合部署中,oVirt 引擎作为 VM 运行,管理它运行所在的服务器。在这种模式下,它也称为“托管引擎”。

(Sahina Bose,CC BY-SA 4.0)
整合所有内容
由于涉及如此多的组件,您可能会觉得设置所有内容令人生畏。但是,使用 oVirt Node ISO 可以轻松安装,其中包含所有必需的软件包和一个基于 Cockpit 的安装向导,该向导将指导您完成各个步骤。
- 在所有三台服务器上下载并安装最新的 oVirt Node ISO。
- 在任何一台服务器上,导航到 Cockpit 服务器管理 URL:
https://<服务器 1>:9090
。 - 按照带有 Gluster 的托管引擎安装步骤进行操作。
(Sahina Bose,CC BY-SA 4.0)
这些步骤将引导您完成
- 设置网络和主机
(Sahina Bose,CC BY-SA 4.0)
运行高可用性环境至少需要三台主机。该向导会提示您将存储网络与管理网络分开。
- 设置 Gluster 卷
(Sahina Bose,CC BY-SA 4.0)
默认情况下,会创建三个 Gluster 卷来保存 VM 磁盘映像。引擎卷专用于保存托管引擎磁盘映像。分离此卷有助于轻松备份和恢复。
(Sahina Bose,CC BY-SA 4.0)
大多数配置都是自动化的,但您需要确保向用户界面提供底层磁盘信息。
- 将 oVirt 引擎部署为托管引擎
(Sahina Bose,CC BY-SA 4.0)
配置存储后,您必须提供托管引擎 VM 的详细信息,即完全限定域名 (FQDN) 和为 VM 预留的 MAC 地址,以完成部署。
- 设置网络和主机
了解更多信息
设置一个功能齐全的超融合环境非常简单,您可以使用管理界面来管理和监控您的虚拟机、存储和网络。有关更多信息,请参阅 oVirt-Gluster 超融合指南。
评论已关闭。