對比來看,KVM在2007年2月被導入Linux 2.6.20核心中,以可加載核心模塊的方式被移植到FreeBSD及illumos上。
而IBM PowerKVM的初始版本在2014年6月才對外正式發布,可部署在S812L和S822L兩種搭載Power8處理器的服務器上。Linux發行版如RedHat、SUSE和Ubuntu可以輕松地部署在PowerKVM環境中。
如何對比分析KVM與PowerKVM虛擬化技術架構?
在對比KVM與PowerKVM虛擬化技術架構來看,PowerKVM所具備的功能特性與前者也類似,因為“PowerKVM和X86平臺上的KVM基本上采用同樣的術語,這使得具備X86平臺上的KVM使用經驗的用戶,也可以容易地理解并掌握PowerKVM。“
先看看KVM虛擬化技術架構的特點,從相關資料了解發現,KVM既然是代表基于內核的虛擬機,并且能在Linux中以可插拔模組形式存在,針對CPU和內存進行虛擬化。那么在整個KVM虛擬化技術架構中,QEMU代表什么呢?
其實,它就是一個快速仿真器,在KVM虛擬化中負責針對輸入輸出設備的虛擬化。
PowerKVM構建模塊主要包含了靈活服務處理器 (FSP)、固件或OPAL等。其實FSP就是一種高級服務處理器,它提供了豐富的功能,包括初始化系統芯片組,引導到虛擬機管理程序運行時,連接到管理模塊,以及為高級的可靠性、可用性和可服務性 (RAS) 功能提供運行時支持。用戶可以通過IPMItool和Advanced System Management (ASM)訪問Power Systems 的FSP。IBM官方推薦和建議的FSP方法方式是使用基于命令行的開源IPMItool。用戶也可以使用FSP提供的GUI,也被稱為 ASM。
其中IPMItool就是一個開源系統管理工具,可下載并安裝在Linux系統上。也可以這么理解:“FSP是硬件中一個額外的層,用于緊密監視其他硬件組件,在事件發生期間,它還會在失敗發生之前通知系統管理員或供應商主動出擊,避免服務遭到破壞。”
另外需要注意的是,作為基于POWER8服務器的PowerKVM產品棧中的系統固件,OPAL包含三個主要部分,skiboot、skiroot和 skirun。skiboot執行一些系統初始化和設置PCIe等,為客戶端操作系統提供運行時服務抽象;skiroot是一個基于Linux的引導加載器,它從磁盤或網絡發現I/O設備并加載基于Linux的虛擬機管理程序;OPAL運行時是一個存儲在單獨的本地ID中的Linux系統,skirun用于訪問I/O設備,比如磁盤、網絡等,找到并加載宿主 Linux系統,以便在虛擬機管理程序模式下在系統上運行它。
PowerKVM青出于藍而勝于藍
因為,在技術架構上PowerKVM完全遵照KVM的技術架構進行實現。所以在刷入OpenPower抽線層(OPAL)固件Power8服務器上安裝PowerKVM宿主機系統,該系統為Linux的變形版,搭載KVM和Qemu,以及用戶虛擬化管理的Libvirt庫和配套管理工具。
進一步對PowerKVM的解釋,它就是在虛擬機管理程序模式下運行的Linux宿主系統內核。借助一個開源KVM生態系統,PowerKVM 允許在虛擬機管理程序模式下無縫地運行多個Linux Guest系統。宿主系統內核能夠訪問所有內存和所有系統資源。在PowerKVM上運行的所有Guest都使用了PAPR接口半虛擬化。PowerKVM宿主系統在虛擬機管理程序模式下運行,其中Guest系統內核也在虛擬機管理程序模式下運行。特殊的固件OPAL是為提供對虛擬機管理程序模式的完整訪問權而開發的,Guest系統能夠以完整的硬件速度運行,而不許與任何特權指令競爭。
據悉,目前支持在PowerKVM上安裝RedHat、SUSE和Ubuntu三種Linux發行版,并支持混合安裝大小端系統。同時,PowerKVM服務器帶外控制器FSP支持IPMI2.0協議,可采用ipmitool遠程管理服務器。
如何采用ipmitool遠程管理PowerKVM服務器?
那么,問題又來了,如何采用ipmitool遠程管理PowerKVM服務器呢?
Ipmitool命令格式形如:
ipmitool -I lanplus -H FSP-IP -P IPMI-PASSWORD COMMAND
其中,FSP的IP地址和IPMI的密碼均可在FSP的網頁ASM管理程序中設置。
常見的命令如下:
如果我們對比一下PowerKVM和X86架構KVM的術語,不難發現兩者大體上采用同樣的術語,這使得有X86KVM使用經驗的用戶更平滑地理解并掌握PowerKVM。
PowerKVM中為什么采用微核模式?
其實,這些對比都還不能說明什么技術核心問題,關鍵問題來了:在PowerKVM中為什么采用微核模式?
IBM官方人士透露說,PowerKVM中采用微核模式,可以深度挖掘Power8的多線程性能,情況是否屬實?需要分析一下才能明白。
在PowerKVM中,Power處理器支持整核和微核兩種模式,用戶可采用ppc64_cpu命令在線調整。假設服務器上面只有一個物理CPU核,那么虛擬機是如何在兩種模式下被調度?
一是在整核模式下,多個虛擬機以時間片輪轉模式共享該物理CPU核。二是在微核模式下,采用微核模式后,4個虛擬機可同時被分配至一個物理CPU核,每個虛擬機可以確保獲得物理核四分之一的處理能力而不受其它虛擬機的影響。
從而,大家應該可以看出,當虛擬機數量遠遠超過物理CPU核,微核應該會比整核性能要好。實測中,在虛擬機大量過載的情況下,無論是虛擬機加滿壓力還是加半壓力,整核模式性能大幅下降而微核模式性能則不下降或平緩下降。
結果一下子就明了了,“微核使得PowerKVM能夠在性能損失不明顯的前提下,運行更多的虛擬機承載用戶的業務。”
支持PowerKVM方案正在增加
PowerKVM牛掰的地方如此突出,那么哪些核心環境現在開始支持它了呢?當前,SAP NetWeaver套件開始支持PowerKVM、RedHat企業級虛擬化方案開始支持PowerKVM。據傳,目前還有更多的廠商在逐漸與IBM合作,一向重視生態圈建設的IBM已經在逐步擴大PowerKVM的對接環境,提升PowerKVM在產業鏈條中的關鍵作用。相信很快將有新的合作伙伴的方案將整合PowerKVM,從而PowerKVM盛行的時候,將會是KVM難受的時候。畢竟Power與x86之爭,不僅僅是架構之爭,更多的還是如虛擬化技術、用戶應用對接等等實質性內容的對抗才是真的較量。
因此,PowerKVM異軍突起,必將引領新一輪虛擬化技術架構的潮流。