IBM® PowerKVM™ 是一种开放式虚拟化解决方案,专为基于 POWER8™ 技术的 Linux 服务器的 Power® 外扩系列而提供。
PowerKVM 交付基于开放式源代码基于内核的虚拟机 (KVM) Linux 技术的服务器虚拟化。PowerKVM 虚拟化技术使您能够通过服务器虚拟化共享真实的计算、内存和 I/O 资源。这些虚拟资源供 PowerKVM 虚拟化服务器上运行的虚拟机使用。
基于 PowerKVM 的服务器虚拟化支持资源(如 CPU 和内存)的优化和落实。这可帮助您实现上级资源用途、灵活性和敏捷性,从而通过经济效益减少成本。
IBM® PowerKVM 允许您使用开放式源代码虚拟化标准内核虚拟机 (KVM) 对运行 Linux 的 Power® 系统进行虚拟化。
PowerKVM | KVM for x86 上的同等项 | PowerVM on Power Systems™ 上的同等项 |
---|---|---|
弹性服务处理器 (FSP) | 集成管理模块 (IMM) | FSP |
主机,管理程序 | 主机,管理程序 | 管理程序 |
虚拟机 (VM),访客和虚拟实例 | VM、访客和虚拟实例 | 逻辑分区 (LPAR) |
Open Power™ 抽象层 (OPAL) 固件 | 统一扩展固件接口 (UEFI) 和基本输入/输出固件接口 (BIOS) | PowerVM 管理程序驱动程序 (pHyp) 固件 |
KVM 主机用户空间 (QEMU) | KVM 主机用户空间 (QEMU) | Virtual I/O Server (VIOS) 和 PowerVM 管理程序驱动程序 |
基于 libvirt API 的主机用户空间工具(包括 virsh)。 |
基于 libvirt API 的主机用户空间工具(包括 virsh)。 | 具有硬件管理控制台 (HMC) 的集成虚拟化管理器 (IVM)
注: 不能在运行
PowerKVM 的 Power 系统上使用 HMC。
|
通过基于浏览器的用户界面使用 Kimchi 管理虚拟化。Kimchi 利用 libvirt 来管理 KVM。 | Kimchi 或虚拟管理器 | 具有硬件管理控制台 (HMC) 的集成虚拟化管理器 (IVM) |
基于命令行消息的硬件管理界面,用于使用 IPMItool 来管理远程主机上的启用了 IPMI 的设备。 | 基于命令行消息的硬件管理界面,用于使用 IPMItool 来管理远程主机上的启用了 IPMI 的设备。 | 具有硬件管理控制台 (HMC) 的集成虚拟化管理器 (IVM) |
项 | 最大值 |
---|---|
最大访客 RAM 大小 |
512 GB |
每个访客占用的最大虚拟 CPU |
160 |
每个访客占用的最大虚拟网络设备 |
8 |
每个核心的最大虚拟机数 |
20 |
最大准虚拟化设备数 | 每台虚拟机 32 个 PCI 设备插槽,每个设备插槽 8 个 PCI 功能。这给定了每个访客的理论最大值为 256 个 PCI 功能。 |
在所有 IBM Power 系统上,平台与管理程序之间的接口由 Power Architecture® Platform Requirements (PAPR) 标准定义。在各种 Power 系统(Linux、AIX® 和 IBM i)上运行的访客操作系统全部假定已实现准虚拟化。准虚拟化设备是硬件设备的软件实现。通过准虚拟化设备,管理程序和访客操作系统可使用优化的 I/O 接口来尽可能快速而高效地进行通信。
在使用 PowerVM 虚拟化的 Power 系统上,PowerVM 管理程序驱动程序 (pHyp) 固件将提供底层硬件的接口。
在 PowerKVM 系统上,Open Power 抽象层 (OPAL) 固件提供底层硬件硬件的接口。OPAL 固件允许PowerKVM 利用 VirtIO API。
VirtIO API 是准虚拟化设备用来赢得速度和效率的高性能 API。VirtIO API 指定虚拟机与管理程序之间的独立于管理程序的接口。VirtIO 准虚拟化设备对于运行 I/O 繁重任务和应用程序的访客操作系统特别有用。
提供虚拟化支持的软件包中包含 libvirtd 守护程序以及 libvirtd 守护程序的管理客户机,其中包括 virsh和 kimchi。
IBM PowerKVM 包含下列软件包:
libvirtd 守护程序负责管理与虚拟化相关的所有事项。它会存储虚拟机访客配置、创建负责机器仿真的用户空间 qemu-kvm 进程以及将资源(例如虚拟网络、磁盘映像或传递设备)分配给访客。
除了 VNC 控制台(由 qemu-kvm 进程直接提供)之外,可通过 libvirtd 守护程序客户机(例如 virsh)执行访客的所有管理工作。可通过各种方法(其中包括本地 UNIX 域套接字、传输控制协议 (TCP) 套接字、Secure Shell (SSH) 隧道或安全的传输层安全性 (TLS) 连接)远程启动此客户机。
KVM代表基于内核的虚拟机,在Linux中以可插拔模组的形式存在,针对CPU和内存进行虚拟化。
QEMU代表快速仿真器,在KVM虚拟化中负责针对I/O输入输出设备的虚拟化。
在KVM架构中,客机操作系统(Guest OS) 本质上为Linux宿主机(Host)上的一个普通进程,和宿主机上其它的进程一样为Linux的任务调度器所调度。
KVM最开始在x86处理器架构上开发,采用如Intel VT和AMD-V技术进行硬件辅助虚拟化。
在技术架构上,PowerKVM完全遵照KVM的技术架构进行实现。
在刷入OpenPower抽线层(OPAL)固件的Power8服务器上安装PowerKVM宿主机系统,该系统为Linux的变形版,搭载KVM和Qemu,以及用户虚拟化管理的Libvirt库和配套管理工具。
目前支持在其上安装RedHat、SUSE和Ubuntu三种Linux发行版,并支持混合安装大小端系统。
PowerKVM中Flexible service processor (FSP) -> X86KVM中Integrated management module (IMM)
PowerKVM中Host, hypervisor -> X86KVM中Host, hypervisor
PowerKVM中Virtual machine (VM), guest, virtual instance -> 86KVM中VM, guest, virtual instance
PowerKVM中Open Power™ Abstraction Layer (OPAL) firmware -> X86KVM中Unified extensible firmware interface (UEFI) and basic input/output firmware interface (BIOS)
PowerKVM中KVM host userspace (QEMU) -> X86KVM中KVM host userspace (QEMU)
PowerKVM中Host userspace tools based on the libvirt API, including virsh. -> X86KVM中Host userspace tools based on the libvirt API, including virsh.
PowerKVM中Management of virtualization through a browser-based user interface with Kimchi. Kimchi utilizes libvirt to manage KVM. -> X86KVM中Kimchi or virt-manager
PowerKVM中Command line message-based hardware management interface to manage IPMI-enabled devices on remote host with IPMItool. -> X86KVM中Command line message-based hardware management interface to manage IPMI-enabled devices on remote host with IPMItool.
综上所见,PowerKVM和X86KVM大体上采用同样的术语,这使得有X86KVM经验的用户更容易平滑地理解并掌握PowerKVM。
遵照KVM的技术架构,Linux on Power开发了独特的PowerKVM技术,以大大简化虚拟机的创建和管理工作并提高资源利用率。PowerKVM技术的一个领先之处在于支持全新的微核模式,微核模式允许每个POWER8物理核心同时运行4个虚拟机,而这与KVM技术的分时运行模式是不同的。微核模式能够让4个虚拟机在互不干扰的前提下分别获得该物理内核四分之一的计算能力。换句话说微核模式使得PowerKVM能够在性能损失不明显的前提下,运行更多的虚拟机,承载更多的业务。
Ubuntu has been certified as a guest on IBM's PowerKVM Hypervisor on these Power hardware.
参考:
1 http://www.ibm.com/support/knowledgecenter/linuxonibm/liabo/liabokickoff.htm
2 The Linux on Power Community: https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=fe313521-2e95-46f2-817d-44a4f27eba32
3 IBM PowerKVM on IBM POWER8 (Part 1): https://www.ibm.com/developerworks/linux/tutorials/l-ibm-powerkvm-system-bring-up/