Skip to main content
NetApp virtualization solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

了解 OpenNebula

贡献者 sureshthoppay

OpenNebula 是一个用于管理异构分布式数据中心基础设施的开源云管理平台。它提供了一个简单但模块化且功能丰富的解决方案来构建云和边缘计算平台。OpenNebula 支持具有 KVM 的虚拟机、具有 LXC 的 Linux 容器和基于 SUSE Rancher 的 CNCF 认证的 Kubernetes 集群。

概述

OpenNebula 提供了一套全面的功能来管理虚拟机和容器的整个生命周期,包括部署、监控、扩展和停用。它支持广泛的存储和网络选项,使其灵活适用于各种用例。

OpenNebula 概述

OpenNebula 提供了用户友好的 Web 界面和强大的命令行界面 (CLI),供管理员和用户与平台进行交互。它还提供了一个 RESTful API,用于自动化和与其他工具的集成。该平台支持多租户,允许多个用户和组安全地共享同一个基础设施。

OpenNebula 模块化架构

OpenNebula 具有模块化架构,可轻松与第三方工具和服务集成。它可以通过插件和驱动程序进行扩展,以轻松适应特定要求。

前端用户界面

OpenNebula 提供了一个名为 Sunstone 的基于 Web 的用户界面,允许用户轻松管理其虚拟机和容器。界面直观且用户友好,使管理员和最终用户都可以轻松导航和执行任务。默认情况下,它在端口 2616 上运行。持久数据存储在后端数据库中,后端数据库可以是 SQLite(小工作负载的默认值)或 MySQL/MariaDB(生产环境)。可以部署多个前端服务器实例,以确保高可用性和负载平衡。

OpenNebula Sunstone 接口

OpenNebula Sunstone 提供可自定义的视图和仪表板,允许用户根据自己的特定需求定制界面。它还支持基于角色的访问控制 (RBAC),使管理员能够为用户和组定义不同级别的访问。

控制台访问功能允许用户直接从 Web 界面连接到他们的虚拟机,为管理和与他们的实例交互提供无缝体验。它还包括一个市场,用户可以在其中浏览和部署预配置的虚拟机模板和应用程序。用户还可以通过 SSH 或其他远程访问方法从 Web 界面访问虚拟机。

联合功能允许连接多个 OpenNebula 实例(区域),从而实现不同数据中心或地理位置之间的资源共享和工作负载分配。访问策略是在整个联盟范围内定义的,其中用户可以限制到某些区域或区域内的特定群集。

计算

OpenNebula 支持适用于虚拟机的 KVM 和适用于 Linux 容器的 LXC。支持的操作系统包括 Ubuntu、Debian、RHEL 和 AlmaLinux。可以从预配置的模板或自定义映像部署虚拟机。还可以使用服务模板部署一组虚拟机(服务)。OneFlow 允许定义和管理由多个互连虚拟机组成的多层应用程序。OneGate 允许从虚拟机内部与 OpenNebula 后端通信,从而实现高级监控和管理功能。

虚拟机自定义功能允许在部署期间自定义虚拟机设置,包括网络配置、主机名、密码和 SSH 密钥。上下文化功能允许在启动时将配置数据注入虚拟机,从而实现基于部署环境的动态配置。有关 VM 上下文化的详细信息,请参见 "OpenNebula 操作参考"

一组虚拟机监控程序被分组到群集中,用于资源管理和调度。OneDRS (分布式资源调度程序)允许基于资源利用率和预定义策略跨可用虚拟机管理程序自动放置和负载平衡虚拟机。策略可以是打包或平衡。

OpenNebula 计算管理

OpenNebula 还支持虚拟机的实时迁移,无需停机即可实现无缝工作负载平衡和维护。

物理主机一次可以成为一个集群的成员。但可以跨集群共享存储和网络资源。集群资源子集可以分配给特定虚拟数据中心(VDC),以便为不同用户组提供资源隔离。

OpenNebula 集群和 VDC

扩展群集允许跨多个物理站点部署具有高可用性的虚拟机。在站点故障的情况下,虚拟机可以继续从其他站点运行而不会中断。

备注 拉伸的群集需要可从所有站点访问的共享存储。通常使用同步复制来确保跨站点的数据一致性。

可以定义 VM 到 VM 亲和性/反亲和性规则来控制虚拟机在物理主机上的放置。这允许确保某些虚拟机始终根据应用程序要求一起部署或彼此分开部署。同样,可以定义主机亲和性/反亲和性规则来控制虚拟机在特定物理主机上的放置。角色被定义为对具有相似亲和性/反亲和性规则的虚拟机进行分组。

Kubernetes 集群可以使用 OneKE 服务进行部署。OneKE 允许基于 SUSE Rancher 创建和管理 CNCF 认证的 Kubernetes 集群。Kubernetes 集群可以部署在 OpenNebula 虚拟机之上,提供云基础设施和容器编排之间的无缝集成。

OpenNebula 支持适用于虚拟机的 NVIDIA vGPU 和 MIG(多实例 GPU),以利用 GPU 的强大功能实现高性能计算、机器学习和其他 GPU 密集型工作负载。

存储

OpenNebula 提供四种类型的数据存储来管理存储资源:System、Image、File 和 Backup 数据存储。System 数据存储用于存储虚拟机磁盘和配置文件。Image 数据存储用于存储虚拟机映像、ISO 和数据磁盘。File 数据存储用于存储可由虚拟机访问的文件。Backup 数据存储用于存储虚拟机及其数据的备份。

备注 映像数据存储可以在集群和前端服务器之间共享,而系统、文件和备份数据存储则分配给特定集群。

每个系统数据存储指定一个模块来处理从前端服务器到虚拟机监控程序的传输管理。支持的传输管理器包括 SSH、共享文件系统(例如,NFS、GlusterFS)等。数据存储通常挂载在 /var/lib/one/datastores 文件夹中,或由 /etc/one/oned.conf 文件中的 DATASTORE_LOCATION 属性定义。每个系统数据存储定义相应的镜像数据存储。部署虚拟机时,通常使用定义的传输管理器将其磁盘从镜像数据存储克隆到系统数据存储。

OpenNebula 存储示例目录结构

ONTAP FlexCache 可用于同一 OpenNebula Zone 内远程位置的 Image 数据存储。这允许在本地缓存频繁访问的镜像,从而减少延迟并提高虚拟机部署的性能。

OpenNebula 企业版包含 NetApp 驱动程序,可使用 ONTAP API 在 NetApp 存储系统上创建和管理虚拟机磁盘。这允许利用虚拟机磁盘的高级存储功能,例如精简配置、重复数据删除和快照。

可以从公共或专用映像存储库下载映像,例如托管在 http 或 S3 存储上的 OpenNebula Marketplace、Linux Container 或 Private Marketplace。私有市场允许组织为联盟中的用户维护一组精心策划的映像。

Cloud Images 需要与 OpenNebula 一起使用情境化层。映像可以是持久的,也可以是非持久的。持久映像保留在虚拟机运行时所做的更改,而非持久映像在终止后将不会保留 VM 所做的任何更改。但是,当系统关闭时,将在系统数据存储中保留更改。

持久映像通常用于创建自定义虚拟机映像。一次只能从持久映像部署一个虚拟机。

VM 磁盘快照可用于从运行的虚拟机数据创建映像。VM 磁盘大小可以在部署或运行时调整大小(在线调整大小)。

Trident CSI 驱动程序用于在使用 OneKE 部署的 Kubernetes 集群上创建持久卷。这允许 Kubernetes 工作负载利用 ONTAP 存储功能。Trident Protect 允许为 Kubernetes 工作负载定义应用程序级别的灾难恢复策略。

网络

OpenNebula 可插入现有网络基础设施,为虚拟机和容器提供网络功能。它支持各种网络模型,包括 Linux 网桥、802.1Q VLAN、VXLAN 和 Open vSwitch 网络。对于类似 VPC 的网络,可以使用带有 EVPN 的 VXLAN 来隔离租户网络。

OpenNebula 网络模型

每个虚拟网络都需要定义一个地址范围。它可以是 IPv4、IPv6,两者都有,甚至是 MAC 地址范围(如果使用外部 DHCP 服务器)。IPAM(IP 地址管理)功能允许从定义的地址范围管理和分配 IP 地址。它支持自动和手动 IP 地址分配,以及为虚拟机保留特定 IP 地址。

使用 IPAM 的 OpenNebula 虚拟网络

在虚拟机部署期间,将根据定义的虚拟网络和 IP 地址分配自动配置网络接口。可以使用虚拟机上下文化功能自定义网络配置。

上下文信息也可以使用 Sunstone 界面中的 Update VM Configuration 按钮进行更新。其他网络接口可以热插拔到正在运行的虚拟机。

可以部署虚拟路由器,为虚拟网络提供路由和 NAT 服务。虚拟网络可以跨越多个集群,实现灵活的网络拓扑。

监控和操作

OpenNebula 包括一个全面的监控系统,可提供对云基础架构的性能和健康状况的实时洞察。它从虚拟机管理程序、虚拟机、存储和网络组件收集指标,使管理员能够监控资源利用率并识别潜在问题。

OpenNebula 包括 Prometheus 导出器,用于为基于 Prometheus 的监控系统收集指标。它还与 Grafana 集成,提供可定制的仪表板,用于可视化收集的指标。

使用 Grafana 进行 OpenNebula 监控

NetApp Data Infrastructure Insights 可用于监控与 OpenNebula 一起使用的 ONTAP 存储系统。它可提供有关存储性能、容量和运行状况的详细见解,使管理员能够为虚拟机优化存储资源。

OpenNebula CLI 用于在云基础架构上执行各种操作,包括虚拟机管理、存储管理和网络管理。它提供了一种强大而灵活的方式来自动化任务并与其他工具集成。有关 OpenNebula CLI 的详细信息,请参见 "OpenNebula CLI 参考"。有关自定义 CLI 输出,请参见 "CLI 配置参考"

自定义脚本也可以作为虚拟机生命周期的一部分执行。钩子允许根据 OpenNebula 平台中的特定事件触发自定义操作,例如虚拟机部署、终止或迁移。这使管理员能够自动化工作流程并与外部系统集成。

OpenNebula 挂钩和 VM 生命周期

有关 OpenNebula Hooks 的详细信息,请参见 "OpenNebula 使用挂钩"

"OneSwap 工具" 允许将虚拟机从 vSphere 迁移到 OpenNebula KVM 环境。它从 vSphere VMDK 文件创建映像并生成相应的 OpenNebula VM 模板。NetApp Shift 工具包可以将 vSphere VMDK 文件转换为 QCOW2 格式,以便与 OpenNebula 一起使用。使用 NetApp Shift 工具包 API 与 OneSwap 可以快速有效地自动化 ONTAP 文件共享上的迁移过程。有关 NetApp Shift 工具包的详细信息,请参见"Shift Toolkit 转换"

数据保护

OpenNebula 为使用 rsync、restic 和 Veeam 的备份提供支持。Veeam 集成仅适用于企业版。备份数据存储用于存储虚拟机及其数据的备份。可以安排备份作业按特定时间间隔运行,确保定期备份虚拟机。

备份可以是增量快照或完整备份,具体视备份策略而定。增量快照仅捕获自上次备份以来所做的更改,从而减少存储要求和备份时间。完整备份创建虚拟机及其数据的完整副本。qcow2 格式允许对增量备份使用更改块跟踪。

OpenNebula 提供 oVirt 兼容的 REST API 服务器,以与 Veeam Backup & Replication 软件集成。有关详细信息,请参见 "OpenNebula Veeam 集成"