在 IBM 集成虛擬化管理器上進行 Linux 分區的 DLPAR 操作,第 1 部分

火星人 @ 2014-03-12 , reply:0


  
動態邏輯分區(DLPAR)是 IBM System p 伺服器上的一種虛擬化特性,該特性允許用戶在分區運行的時候動態調整分區的資源分配,使得系統資源得到更為有效的利用,並且不影響應用或者服務的正常運行。集成虛擬化管理器(IVM)是一種與HMC類似的用於管理 System p 伺服器的平台,也同樣支持 DLPAR,不過與 HMC 上的 DLPAR 存在不少差異。本系列文章介紹 IVM 上 Linux 邏輯分區的 DLPAR,分成四個部分。本文是第一部分,介紹了 IVM 和 Linux 對 DLPAR 的支持情況、Linux 分區上 DLPAR 環境的準備過程、以及 IVM 上 Linux 分區 DLPAR 的基本過程等背景知識。

IBM System p伺服器從POWER5開始支持動態邏輯分區(Dynamic Logical Partitioning,簡稱DLPAR)虛擬特性,該特性允許用戶在分區運行的時候動態調整分區的資源分配,這種調整在分區運行的時候隨即生效,不需要重啟操作系統。這使得用戶可以根據工作負載來動態調整系統的資源分配,使得資源得到最有效的使用,並且不影響客戶的應用或服務的不間斷運行。除了System p平台的硬體和固件外,DLPAR還需要分區操作系統的支持。Linux是一種開放源碼的操作系統,以其開放性、穩定性和高效性等特點得到越來越多用戶的青睞。它支持多種硬體平台,能夠運行在System p伺服器上並提供DLPAR功能,這使得System p上的Linux用戶可以利用DLPAR這一重要的虛擬化特性來優化業務的運行。

HMC(Hardware Management Console)是用戶熟知的System p伺服器管理平台,它提供了簡單有效的DLPAR操作界面,包括圖形界面和命令行界面兩種方式,用戶可以通過該界面對Linux分區進行處理器、內存和適配器DLPAR等操作。IVM(Integrated Virtualization Manager)- 集成虛擬化管理器是System p上的類似於HMC的另外一種管理平台,在設計和操作方式上與HMC存在較大差別。那麼IVM是否也支持Linux分區的DLPAR操作,IVM上Linux分區DLPAR的基本執行過程究竟是怎樣的,用戶如何通過IVM進行DLPAR操作,IVM和HMC上的DLPAR又有哪些不同呢?本系列文章將逐一解答這些問題。

本系列文章介紹了IVM上Linux邏輯分區的DLPAR操作,分成四個部分:第一部分介紹了IVM對DLPAR功能支持的變化過程、主流的Linux發行版本對DLPAR的支持情況、Linux分區上DLPAR環境的準備過程、以及IVM上Linux分區DLPAR的基本過程等背景知識;第二部分介紹了處理器和內存的DLPAR操作;第三部分介紹了虛擬適配器和物理適配器的DLPAR操作,並比較了IVM和HMC上DLPAR的聯繫和區別;第四部分介紹了虛擬磁碟和光學設備的動態調整,這種動態調整雖然不是真正意義上的DLPAR,但是可以起到相同的效果,使得用戶能夠方便的動態調整這些資源。為了更加直觀有效的講解IVM上Linux分區的DLPAR操作過程,使讀者能夠更好的理解和掌握這些內容,本系列文章使用實例貫串全文。本文是本系列文章的第一部分。

雖然本系列文章所面向的讀者是System p上的Linux用戶,但是由於AIX和Linux上的DLPAR在原理和操作方面都非常類似,因此AIX用戶也可以從中獲益。為了更好的閱讀本系列文章,要求讀者對IVM的基本原理和操作界面有初步的認識,了解DLPAR的基本原理,並熟悉HMC上的DLPAR操作和Linux的使用。讀者可以通過閱讀本文所提供的參考資料1、2、3和4了解或熟悉這些方面的相關知識。如果讀者有IVM、DLPAR和Linux方面的配置和使用經驗,則能更好的理解和掌握本系列文章所描述的內容。

IVM和Linux對DLPAR的支持

IVM簡介

在IBM System p上,IVM是與HMC類似的另外一種伺服器管理方式,同樣可以進行AIX或者Linux分區的創建、編輯和刪除,分區狀態的控制,虛擬網路和存儲的創建、分配和刪除,DLPAR,動態分區遷移(Live Partition Mobility)等操作,同樣提供了圖形操作界面(基於Web的UI)和命令行操作界面。

既然有了HMC這種通用的System p伺服器管理方式,為什麼還要提供IVM呢?首先,雖然HMC被設計成能夠有效管理各種System p機型的管理方案,但是卻使得該方案顯得比較複雜和過剩,對於某些簡單的應用(比如用戶僅購買了一個低端的System p機器,並且只需要對它進行簡單的分區劃分和使用,而不需要HMC所提供的管理多台伺服器的功能或者多台HMC管理同一伺服器的冗餘功能等)而言,一個能夠實現快速部署和降低學習代價的管理方案更適合用戶的需求。其次,HMC是獨立於System p伺服器之外的一台機器,用戶需要單獨付費購買,對於購買低端伺服器的用戶來說,HMC的價格還是佔了相當大的比重,因此在這種情況下該管理方案並不能給用戶帶來很好性價比。最後,HMC不能管理刀片伺服器,如果需要對刀片伺服器進行分區劃分和管理,那麼HMC就無能為力了。

為了解決上述HMC的缺點,IBM提供了IVM這種簡化的管理方式(如圖1所示),可以說,IVM是一個簡化版的HMC。為了支持分區管理,VIOS(Virutal I/O Server)不僅能夠為其它分區提供虛擬資源,還增加了IVM這個功能部件。由此可見,IVM不是獨立的,而只是VIOS的一個組成部分。在IVM管理下,整台伺服器被劃分成幾個分區,包括一個VIOS和其它幾個分區(稱為客戶分區)。基於Web的UI(圖1中Web Browser部分)是由IVM中的“Web Server”部件提供的,用戶通過瀏覽器連接到VIOS就可以使用該界面了;用戶還可以使用telnet或者ssh(圖1中Telnet/SSH部分)登陸到VIOS,通過VIOS提供的“Command Shell”來使用命令行界面。用戶通過圖形或者命令行界面發出操作指令后,IVM或VIOS根據操作的類型進行命令分發。如果是跟虛擬資源管理相關的操作(比如創建或分配虛擬磁碟等),那麼就由VIOS提供的“VIOS CLI”進行處理;如果是跟分區管理相關的操作(比如創建或刪除分區),則由IVM提供的“LPAR CLI”進行處理。IVM通過VMC(Virtual Management Channel)這個虛擬設備與POWER Hypervisor進行通信,對分區進行管理或控制。由於VMC只能與它所在的伺服器上的Hypervisor進行通信,因此每個IVM只能管理一台伺服器。同時,由於IVM的市場定位和功能的局限性,通常它只用於中低端伺服器,而高端伺服器仍然由HMC進行管理。


圖1:集成虛擬化管理器

IVM功能的變化

IVM作為VIOS上類似於HMC的一個部件,其功能隨著開發過程的進行在不同的VIOS版本中不斷得到增強。圖2顯示了這一變化過程,圖中主要列出了跟DLPAR相關的一些變化。

VIOS對IVM功能的支持並非與生俱來的,而是從版本1.2才開始的。這時候的IVM主要關注一些基本的分區管理功能,如分區的創建和刪除,分區定義的修改和狀態的控制,虛擬網路和虛擬存儲的創建、分配和刪除等,但是不支持DLPAR和客戶分區端的物理適配器(Physical Adapter)等功能。

從版本1.3.0.0開始,IVM開始支持處理器和內存等資源的DLPAR。不過在該版本之前,IVM已經支持VIOS上資源的動態調整,從而支持分區的創建、修改和刪除等操作,比如在創建分區的時候,IVM需要在VIOS上為該分區創建相應的虛擬SCSI伺服器端適配器(Virtual SCSI Server Adapter),如果IVM不支持VIOS上資源的動態調整的話,那麼就沒辦法在VIOS運行的時候使新的分區配置馬上生效(由於VIOS在IVM這種管理方式下的特殊性,如果沒有特別指定,本系列文章所討論的內容都是針對客戶分區而言的)。IVM對處理器和內存的DLPAR和適配器的DLPAR在實現機制上存在較大差別,對後者的支持並沒有包含在版本1.3.0.0中,而是到版本1.5之後才開始支持的。至此,IVM支持對所有分區(包括VIOS、AIX客戶分區和Linux客戶分區)上各種資源(處理器、內存和適配器等)的DLPAR操作。

IVM對客戶分區物理適配器的支持是從版本1.5開始的,與適配器DLPAR的支持同步出現。在此之前,IVM只支持虛擬適配器 - 虛擬網卡和虛擬SCSI等,虛擬資源的使用提高了系統資源的利用率,但是卻降低了分區的性能。對物理適配器的支持使得系統管理員能夠在系統資源相對充足的情況下將物理適配器和磁碟等直接分配給分區來使用,從而提高分區的性能,同時滿足不同客戶對系統配置的不同需求。


圖2:IVM 功能的逐步增強

Linux對DLPAR的支持

在IBM System p上,DLPAR的類型有處理器DLPAR、內存DLPAR和適配器DLPAR等。與AIX類似,Linux也支持DLPAR,但是不同的Linux發行版本對DLPAR的支持情況不盡相同。圖3列舉了兩個主流的Linux產商Redhat和Novell/SuSE所發行的Linux企業版本RHEL(Red Hat Enterprise Linux)和SLES(SUSE LINUX Enterprise Server)中的若干版本對DLPAR的支持情況:RHEL4/5和SLES9/10均支持處理器和適配器的增加、減少和移動等DLPAR操作;而對內存DLPAR的支持是逐步增強的,RHEL4和SLES9不支持任何類型的內存DLPAR,RHEL5和SLES10開始支持內存的動態增加,但是不支持內存的動態減少和移動,這兩種內存DLPAR操作有望在將來的版本中得到支持。


圖3:RHEL 和 SLES 對 DLPAR 的支持





Linux分區DLPAR環境的準備

通過上面一節的討論,我們已經知道了IVM上的Linux分區支持DLPAR操作。要使用DLPAR,首先必須準備DLPAR所需的環境。在IVM上準備Linux分區的DLPAR環境需要經過以下幾個步驟:

  1. 在選配了APV(Advanced Power Virtualization)特性的System p機器上安裝和配置IVM,包括虛擬網路和磁碟存儲等資源的配置
  2. 定義Linux分區
  3. 激活Linux分區,安裝Linux操作系統
  4. 在Linux上安裝DLPAR所需的工具包
  5. 確認Linux分區的DLPAR能力

因為本系列文章所討論的是DLPAR,並假設讀者對IVM和Linux有一定的了解和使用經驗,因此就不再具體討論IVM和Linux的安裝和配置了(步驟1和3)。如果讀者需要了解這方面的相關知識,請翻閱參考資料IBM紅皮書《Integrated Virtualization Manager on IBM System p5》(參考資料1),以及Redhat或Novell官方網站上提供的相關文檔(參考資料2和3)。

定義Linux分區

本系列文章將以實際的例子來講解如何在IVM上進行Linux分區的DLPAR操作。IVM被安裝在一個基於POWER6的IBM JS22刀片伺服器上,該系統包含3個分區:uli14是分區標識為1的VIOS,版本為1.5.1.1-FP-10.1;而uli13lp1和uli13lp2是兩個Linux客戶分區,標識分別是2和3(如圖4所示),其中uli13lp2是本系列文章所使用的實驗系統,安裝了SLES10 Service Pack 2。在本系列文章中,我們將基於該實驗系統以實例來詳細講解IVM上Linux分區各種資源的DLPAR操作。


圖4:IVM 所管理的分區

分區uli13lp2使用的是共享處理器模式,處理單元數的最小值、已分配值和最大值分別是0.1、0.2和0.4,而虛擬處理器數的最小值、已分配值和最大值分別是1、2和4(如圖5所示:uli13lp2分區屬性頁面中的“處理”標籤)。最小和最大值的不同為DLPAR操作提供了可能,整個系統剩餘1.5個處理器單元(如圖4所示)可供處理器DLPAR使用。


圖5:uli13lp2 的處理器配置

分區uli13lp2已分配的內存為1GB,而分區定義中內存的最小和最大值分別為128MB和1GB+256MB(如圖6所示:uli13lp2分區屬性頁面中的“內存”標籤)。從圖中還可以看到,該系統的邏輯內存塊(Logical Memory Block)的大小被設置成32MB,用戶必須以該大小的整數倍為步長對內存進行DLPAR。整個系統仍然剩餘608MB內存(如圖4所示)供DLPAR使用。


圖6:uli13lp2 的內存配置

分區uli13lp2使用了一個虛擬乙太網適配器(如圖7所示的適配器1:uli13lp2分區屬性頁面中的“乙太網”標籤),網卡被連接到VLAN(虛擬乙太網)1,該VLAN通過VIOS上插槽U78A5.001.WIH1106-P1-T7中的物理網卡連接到外部網路,與其它系統進行通信。該分區還有一個空閑的虛擬乙太網適配器(適配器2)可以增加,如果用戶需要更多的虛擬網卡,可以點擊“創建適配器”按鈕進行添加。


圖7:uli13lp2 的虛擬乙太網適配器

分區uli13lp2還佔用了一個虛擬磁碟,該磁碟是由邏輯卷組rootvg中的邏輯卷clientlv01提供的,大小為1.5GB,作為該分區的系統盤(如圖8所示:uli13lp2分區屬性頁面中的“存儲”標籤)。整個系統還剩餘一個虛擬磁碟可以使用,即rootvg中大小為256MB的邏輯卷clientlv02,用戶可以把該磁碟分配給需要它的分區來使用。


圖8:uli13lp2 的虛擬磁碟

由於本系列文章的例子中所使用的VIOS版本為1.5.1.1-FP-10.1,因此IVM支持物理適配器的分配。IVM在分區屬性頁面中增加了“物理適配器”標籤(如圖9所示),用戶可以通過該頁面來查看和修改邏輯分區上物理適配器的分配。從圖9可以看出,當前分區uli13lp2不佔用任何物理適配器,整個系統中也沒有任何空閑的物理適配器可供分區使用。


圖9:uli13lp2 的物理適配器
XML error: The image is not displayed because the width is greater than the maximum of 572 pixels. Please decrease the image width.

安裝DLPAR工具包

要使DLPAR正常工作,必須安裝IBM所提供的DLPAR工具包(見參考資料5)。工具包中所提供的工具或守護進程如RMC(Resource Monitoring and Control)負責與IVM進行通信,協同進行DLPAR操作,並執行客戶分區端的資源動態調整等操作。關於如何在Linux上安裝DLPAR工具包,請翻閱參考資料4中“安裝Linux對動態LPAR的支持”一節,或者參考資料5中所提供的說明,這裡不再贅述。

清單1中所列的是uli13lp2上安裝的DLPAR工具包,“Package Name”列顯示的是工具包的名稱,“Installed”列顯示的是安裝上的工具包的版本,而“In Repository”列則是當前最新的工具包版本。由於工具包一直處於開發更新之中,而且不同的Linux版本所需要安裝的包也不盡相同,因此這裡所顯示的信息與參考資料4中表1所列舉的或者讀者在其它地方看到的工具包的名稱或版本可能存在一些差異。


清單1:uli13lp2上安裝的DLPAR工具包
Operating System:     Novell/SuSE  Version:             10  HMC/IVM Managed?   yes    Package Name                   Installed            In Repository  ------------                   ----------           -------------  librtas                         1.3.4-0              1.3.4-0  libvpd                          1.4.1-1              1.4.1-1  lsvpd                           1.4.0-1              1.4.0-1  powerpc-utils                  1.0.6-0              1.0.6-0  powerpc-utils-papr            1.1.1.8-0            1.1.1.8-0  servicelog                     0.2.9-0              0.2.9-0  diagela                         2.2.3-0              2.2.3-0  sysdiag                         0.2.2-0              0.2.2-0  IBMinvscout                    2.2-5                 2.2-5  rdist                           6.1.5-792.1          6.1.5-792.1  src                              1.3.0.2-07305       1.3.0.2-07305  rsct.core.utils               2.5.0.1-07305        2.5.0.1-07305  rsct.core                       2.5.0.1-07305       2.5.0.1-07305  csm.core                        1.7.0.1-57           1.7.0.1-57  csm.client                      1.7.0.1-57          1.7.0.1-57  devices.chrp.base.ServiceRM  2.2.0.0-6           2.2.0.0-6  DynamicRM                       1.3.4-0              1.3.4-0  ibm-lop-utils                  0.1.2-2              0.1.2-2  

確認DLPAR能力

即使安裝了DLPAR工具包后也不意味著DLPAR就能夠順利進行,因為DLPAR還依賴於IVM和Linux系統以及各種相關進程的正常運行。比如可能某些守護進程在運行時意外退出,導致IVM和Linux分區不能正常通信;再如分區可能在安裝完工具包后的某個時候被關閉了,這時候DLPAR也不能正常運行。IVM上有幾種查看和確認Linux分區DLPAR能力(DLPAR Capability)的方法,分為圖形界面方式和命令行方式。

圖形界面查看方式

在分區的屬性頁面中,IVM為DLPAR提供了相應的屬性區域 - “動態邏輯分區(DLPAR)”(如圖10所示),包括以下5個域:

  • 分區主機名或IP地址
  • 分區的RMC通信狀態,包括“不活動”和“活動”等狀態
  • 內存DLPAR功能是否打開,包括“否”,“未知”和“是”等狀態
  • 處理器DLPAR功能是否打開,可能的狀態與內存DLPAR相同
  • I/O適配器DLPAR功能是否打開,可能的狀態也與內存DLPAR相同

圖10顯示了安裝DLPAR工具包之前uli13lp2的DLPAR能力屬性。分區主機名或IP地址域顯示了uli13lp2的IP地址;因為此時RMC守護進程還未運行,因此分區通信狀態為不活動狀態;而各種資源的DLPAR能力就像預期的那樣,處於未激活的狀態。


圖10:安裝工具包前 uli13lp2 的 DLPAR 能力屬性

在成功安裝完工具包並等候RMC與IVM建立握手后,再次打開分區屬性頁面,用戶可以看到如圖11所示的DLPAR能力。可以看到,分區通信狀態已經處於活動狀態,但是由於打開該屬性頁面的時候 IVM 並沒有掃描分析該分區的DLPAR能力,因此各種資源的DLPAR能力處於一個未知的狀態。

IVM 提供了“檢索功能”按鈕,用戶可以通過該按鈕通知 IVM 掃描、分析並提取當前分區的 DLPAR 能力。按下該按鈕后,用戶需要等待一段時間,之後IVM完成掃描和分析,顯示出分區的 DLPAR 能力。在本文的例子中,DLPAR 所需的環境已經準備妥當,因此各種資源的 DLPAR 能力均處於激活狀態(如圖12所示)。


圖11:安裝工具包后 uli13lp2 的 DLPAR 能力屬性


圖12:點擊“檢索功能”后 uli13lp2 的 DLPAR 能力屬性

需要注意的是,即使在 DLPAR 正確設置的情況下,分區也並非能夠對各種類型的資源做 DLPAR 操作,因為這還要取決於分區上所安裝的 Linux 操作系統對 DLPAR 的支持情況(如圖3所示)。以 RHEL4 為例,假設分區所安裝的操作系統是 RHEL4,在安裝工具包前,內存 DLPAR 能力的狀態是“否”;在安裝完工具包后,該狀態變成“未知”;而在掃描完成後,該狀態變成預期中的“否”,表明 RHEL4 並不支持內存 DLPAR。在本文例子中,由於我們安裝的是 SLES10 Service Pack 2,因此處理器和適配器的 DLPAR 能力的狀態都是“是”,雖然不支持內存的動態減少操作,但是由於增加操作是允許的,因此內存的 DLPAR 能力的狀態也是“是”。

命令行查看方式

從圖1可以看到,IVM中圖形界面的操作最終還是被分發到命令行中去執行。那麼 IVM 和 Linux 究竟提供了什麼命令行方式去查看分區的 DLPAR 能力,而圖形界面的操作又是對應到哪種命令行方式呢?清單2和4顯示了兩種方式,分別在 VIOS 和 Linux 分區上執行:

  • 命令 lssyscfg 是 IVM 上查看分區 DLPAR 能力的通用方式,不論客戶分區處於什麼樣的狀態,該方式都能正常使用。dlpar_proc_capable、dlpar_mem_capable 和 dlpar_io_capable 分別表示處理器、內存和適配器的 DLPAR 能力,輸出值1表明該資源類型的 DLPAR 處於激活狀態,否則表示不支持或未激活。該方式是圖形方式的後端,用戶可以通過對比IVM 進行分區DLPAR能力掃描操作前後應用程序日誌的變化得到這一結論。清單3顯示了 HMC上相應的查看方式即命令 lspartition,DCaps 域表示了分區的 DLPAR 能力,輸出值的具體含義在這裡就不介紹了。通過對比可以看到,lssyscfg 僅適用於IVM,而 lspartition 僅適用於 HMC。
  • Linux分區上的drmgr方式則要看該命令是否支持--capabilities選項,並且只能在分區系統正常運行的情況下才能使用。在本文例子所用的SLES10 SP2中,命令drmgr由DLPAR工具包中的powerpc-utils-papr提供,該RPM包從版本1.1.1.6-0開始支持--capabilities選項,即支持該查看方式。該方式的優點是:不論Linux分區是由IVM還是HMC來管理,這種查看方式都適用。清單5顯示了在HMC管理下的RHEL5 U2分區上使用該方式的一個結果。

清單2:在 IVM 的 VIOS 上用 lssyscfg 來查看
$ lssyscfg -r lpar --filter lpar_names=uli13lp2  \  -F dlpar_proc_capable,dlpar_mem_capable,dlpar_io_capable  1,1,1  $ lspartition -dlpar  rksh: lspartition:  not found.  $  


清單3:在 HMC 上用 lspartition 來查看
hscroot@sqh11lte:~> lssyscfg -m fsp-venus -r lpar --filter lpar_names=venuslp3  \  -F dlpar_proc_capable,dlpar_mem_capable,dlpar_io_capable  An invalid attribute was entered.  The invalid attribute is dlpar_proc_capable.    Please correct your entry and retry the command.  hscroot@sqh11lte:~> lspartition -dlpar | grep -A 1 venuslp3  <#15> Partition:<3*9119-595*02569EC, venuslp3.upt.austin.ibm.com, 9.3.111.206>         Active:<1>, OS:<Linux, 2.6.18-92.el5>, DCaps:<0x7f>,  \         CmdCaps:<0x9, 0x9>, PinnedMem:<0>  hscroot@sqh11lte:~>  


清單4:在 IVM 的 Linux 分區上用 drmgr 來查看
uli13lp2:~ # rpm -qf `which drmgr`  powerpc-utils-papr-1.1.1.8-0  uli13lp2:~ # drmgr --capabilities  cpu_dlpar=yes,mem_dlpar=yes,slot_dlpar=yes,phb_dlpar=yes,hea_dlpar=yes, \  pmig=yes,cpu_entitlement=yes,mem_entitlement=yes  uli13lp2:~ #  


清單5:在 HMC 管理的 Linux 分區上用 drmgr 來查看
[root@venuslp3 ~]# rpm -qf `which drmgr`  powerpc-utils-papr-1.1.1.6-0  [root@venuslp3 ~]# drmgr --capabilities  cpu_dlpar=yes,mem_dlpar=yes,slot_dlpar=yes,phb_dlpar=yes, \  hea_dlpar=yes,pmig=no,cpu_entitlement=yes  [root@venuslp3 ~]#  





DLPAR 的基本過程

IVM 從版本 1.3.0.0 開始支持處理器和內存 DLPAR,與 HMC 使用命令 chhwres 不同,此時 IVM 不提供命令 chhwres,而是使用 chsyscfg 進行 DLPAR,但是該命令只能用於處理器和內存 DLPAR,而不能用於適配器 DLPAR。從版本 1.5 開始,IVM 增加了命令 chhwres 用於支持適配器 DLPAR,不僅如此,該命令還可以用於處理器和內存 DLPAR。至此,用戶可以使用命令 chsyscfg 或 chhwres 進行處理器和內存 DLPAR,使用 chhwres 進行適配器 DLPAR。那麼,處理器和內存 DLPAR 與適配器 DLPAR 分別是如何進行的,它們的基本運作過程之間存在什麼差別呢?還有,使用 chsyscfg 和 chhwres 進行處理器和內存 DLPAR 是否存在不同呢?

為了更好的討論 IVM 上 DLPAR 的基本過程,先來看看分區的profile和屬性(Properties)。在HMC上,profile描述了分區期望得到資源,用戶可以使用chsyscfg來修改profile;分區屬性則描述了分區當前擁有的資源,用戶可以使用chhwres來動態調整分區的資源分配;用戶對分區profile和屬性的修改之間不互相影響,也就是說,profile中資源描述的變化不會馬上應用到分區屬性,用戶需要通過關閉然後重新激活分區的方式來使新的profile生效,分區屬性的變化也不會影響profile的資源描述,當分區關閉后,通過DLPAR產生的資源分配的變化不再起作用。但是在HMC上截然不同的兩個概念在IVM上卻顯得不分彼此:首先,IVM僅提供了如圖10所示的頁面來修改分區的profile和執行DLPAR操作;其次,用於修改分區profile的命令chsyscfg也可用於DLPAR;最後,有IVM上的DLPAR操作經驗的讀者可能發現,DLPAR產生的資源分配變化在分區關閉后仍舊可以在圖10所示的頁面中看到。實際上,IVM並不存在分區profile的概念,命令chsyscfg和chhwres都直接修改分區的屬性,分區關閉後分區的屬性仍然有效,並在下次分區激活時得到應用,這樣上述現象就變得很自然了。即便沒有profile,IVM還是提供了與之相關的命令(比如lssyscfg等)與HMC保持兼容,以方便用戶的使用,同時用戶還可能在這些命令的參考手冊中看到profile這個詞。

圖13描述了IVM上DLPAR的基本過程。處理器和內存各存在兩個值:暫掛值(Pending)和當前值(Run Time),前者描述了用戶期望得到的資源數量,後者表示分區當前佔用的資源數量。命令chsyscfg和chhwres只修改暫掛值而不修改當前值,而暫掛值到當前值的應用或同步則是由DLPAR Manager守護進程來執行的,其中包括邏輯分區上處理器和內存的vary on/off操作。既然命令chsyscfg和chhwres是等效的,並且已經有了chsyscfg,命令chhwres為何還要提供相同的處理器和內存DLPAR功能呢?目的是為了與HMC保持兼容,使得用戶能夠使用相同的命令行在IVM和HMC執行DLPAR操作。適配器則不存在暫掛值的概念,命令chhwres直接修改分區屬性中的適配器信息,並在DLPAR能力激活的情況下在邏輯分區上vary on/off適配器,從而實現DLPAR;命令chsyscfg僅修改分區屬性中的適配器信息,而不執行vary on/off操作,用戶可以在分區上手工執行vary on/off操作來使chsyscfg的修改生效,從而達到DLPAR相同的效果。由於適配器DLPAR不依賴於DLPAR Manager,因此如果這個過程中產生錯誤,用戶可以馬上看到錯誤信息;而處理器和內存DLPAR中,資源動態調整的錯誤只能在DLPAR Manager執行同步操作時才能發現並報告給用戶。


圖13:IVM 上 DLPAR 的基本過程

圖14描述了基於DLPAR Manager的處理器和內存DLPAR更加詳細的執行過程。命令chsyscfg和chhwres完成暫掛值的修改後喚醒阻塞中的DLPAR Manager,然後命令結束;DLPAR Manager被喚醒后執行暫掛值到當前值的同步,同步完成後該守護進程重新阻塞直到下一次被喚醒。DLPAR Manager的執行過程如圖14右部所示,從該過程中我們可以看到同步所依賴的條件。首先,如果某個分區屬於工作負載組(Partition Workload Group),並且該組包含多於1個邏輯分區,那麼 DLPAR Manager 不同步該分區,而是由工作負載組的管理軟體自行處理。其次,分區應該處於運行狀態,否則,DLPAR Manager 僅把當前值修改成暫掛值,而不執行 vary on/off 操作。還有,分區的 RMC 連接應該處於活躍狀態,這樣IVM才能與之協作完成資源的動態調整。最後,資源的暫掛值和當前值應該處於不一致的狀態。當這些條件滿足后,DLPAR Manager 就修改當前值為暫掛值,並協同分區的 RMC 守護進程等進行資源的 vary on/off 操作(當然,前提是分區支持該資源的動態調整)。至此,一個完整的處理器和內存 DLPAR 過程就完成了。


圖14:基於 DLPAR Manager 的處理器和內存 DLPAR





小結

本系列文章介紹了IBM集成虛擬化管理器 — IVM 上 Linux 邏輯分區的 DLPAR,本文是其中的第一部分,介紹了 IVM 對 DLPAR 功能支持的變化過程、主流的 Linux 發行版本對 DLPAR 的支持情況、Linux 分區上 DLPAR 環境的準備過程、以及 IVM上 Linux 分區 DLPAR 的基本過程等背景知識。由於篇幅的限制,本文沒有涉及處理器、內存、適配器、虛擬磁碟和光學設備等各種資源的 DLPAR 操作過程,這些內容將在本系列文章的後續篇章中分別介紹。(責任編輯:A6)





[火星人 via ] 在 IBM 集成虛擬化管理器上進行 Linux 分區的 DLPAR 操作,第 1 部分已經有195次圍觀

http://www.coctec.com/docs/linux/show-post-68972.html