本文描述了在 IBM System p 上部署 IBM DB2 V 9 產(chǎn)品的最佳實(shí)踐。當(dāng)你在 System p 平臺(tái)上運(yùn)行 DB2 產(chǎn)品,選擇合適的混合虛擬功能和它們的配置達(dá)到商業(yè)目標(biāo),同時(shí)提高 IT 資源的利用率是一個(gè)很大的挑戰(zhàn)。可以達(dá)到的商業(yè)目的是減少管理、電力、冷卻、或者室內(nèi)面積成本、鞏固數(shù)據(jù)庫服務(wù)器。
內(nèi)容提要
本文描述了在 IBM System p 上部署 IBM DB2 Version 9 產(chǎn)品的最佳實(shí)踐。當(dāng)你在 System p 平臺(tái)上運(yùn)行 DB2 產(chǎn)品,選擇合適的混合虛擬功能和它們的配置達(dá)到商業(yè)目標(biāo),同時(shí)提高 IT 資源的利用率是一個(gè)很大的挑戰(zhàn)??梢赃_(dá)到的商業(yè)目的是減少管理、電力、冷卻、或者室內(nèi)面積成本、鞏固數(shù)據(jù)庫服務(wù)器。例如通過優(yōu)化 DB2 產(chǎn)品性能來增加資源利用率、增加處理器利用率、分享系統(tǒng)資源、在不重啟的情況下使用動(dòng)態(tài)資源分配,以及使用工作負(fù)載管理。
本文描述了 System p 的主要虛擬化技術(shù),關(guān)注選擇的邏輯分區(qū)類型,磁盤 I/O,和網(wǎng)絡(luò)接口,都是工作負(fù)載管理。以下簡要描述的主要考慮因素,在本文中討論了在這方面的主要考慮以及它們?nèi)绾文軌蜃屇愕臉I(yè)務(wù)受益。
邏輯分區(qū)類型
由于基于預(yù)測的活動(dòng)高峰值,大多數(shù)硬件系統(tǒng)嚴(yán)重的利用率不足,今天的企業(yè)不斷面臨的挑戰(zhàn)是使系統(tǒng)處理器的平均使用率更高以最大化投資回報(bào)率(ROI)。企業(yè)能高效鞏固多個(gè)數(shù)據(jù)庫共存在不同的物理服務(wù)器,或者在單臺(tái)物理機(jī)器上共享處理器分區(qū)上的專用分區(qū)。這共享了處理器資源,平衡了高峰和平均操作情況下的處理器請求,降低總的擁有成本(TCO)??梢詾槊恳粋€(gè)處理器分區(qū)分配服務(wù)質(zhì)量來保證在較低優(yōu)先級(jí)的工作負(fù)載可以獲得最優(yōu)基礎(chǔ)資源時(shí),更為重要的工作負(fù)載在需要的時(shí)候總能得到處理器資源。在不同的共享處理器分區(qū)處理測試和生產(chǎn)應(yīng)用程序,也能有助于提高測試結(jié)果質(zhì)量像測試環(huán)境如實(shí)的模擬生產(chǎn)環(huán)境。
磁盤 I/O 類型
對于創(chuàng)建多個(gè)共享分區(qū)的能力,如果給每個(gè)邏輯分區(qū)分配一個(gè)專用的 I/O 槽(每個(gè)分區(qū)有分?jǐn)?shù)的權(quán)利)這可能耗盡這臺(tái)機(jī)器的所有物理槽。同樣,在很多有多個(gè)數(shù)據(jù)庫都是邏輯分區(qū)的生產(chǎn)環(huán)境,在多個(gè)應(yīng)用程序之間 I/O 性能需求變化非常明顯。在這種情況下,虛擬 I/O 服務(wù)器(VIOS)在多個(gè)應(yīng)用程序間啟用共享磁盤適配器和 I/O 資源,以優(yōu)化整個(gè)存儲(chǔ)架構(gòu)的利用和滿足各種性能需求來最大化 ROI。VIOS 功能也提供額外的附加能力,像動(dòng)態(tài)分區(qū)遷移(Live Partition Mobility)- 一個(gè) POWER6 處理器家族的功能 – 允許沒有任何應(yīng)用程序停機(jī)時(shí)間的情況下把一個(gè)正在運(yùn)行分區(qū)從一個(gè) POWER6 服務(wù)器移動(dòng)到另為個(gè) POWER6 服務(wù)器,結(jié)果就是更好的系統(tǒng)利用率,提高了應(yīng)用程序的可用性和節(jié)約了能源。
網(wǎng)絡(luò)類型
類似于已經(jīng)提到過的共享存儲(chǔ)的理由,VIOS 同樣管理共享網(wǎng)絡(luò)適配器,也在一個(gè)系統(tǒng)中多個(gè)分區(qū)間共享網(wǎng)絡(luò)帶寬。這同時(shí)最大化了系統(tǒng)資源利用率和 ROI。
在工作負(fù)載管理上的考慮
該類型的工作負(fù)載管理能力有 System p 虛擬技術(shù),這對于企業(yè)管理客戶關(guān)系(CRM)或在正常時(shí)間的強(qiáng)化 CPU 批量作業(yè)的工作負(fù)載和高峰時(shí)間的事務(wù)系統(tǒng)的 CPU 活動(dòng)非常重要。這些能力同樣適用于類似零售的行業(yè),它們通常在一年中某些特定的日子對數(shù)據(jù)系統(tǒng)要求常高,像在感恩節(jié)后的第一天或者圣誕節(jié)后第一天,比起其他日子。有效的工作負(fù)載管理最大化了系統(tǒng)資源利用率和 ROI,同時(shí)降低了 TCO。
在把它們在你生產(chǎn)系統(tǒng)中實(shí)施之前,在你的測試系統(tǒng)中實(shí)驗(yàn)這些最佳實(shí)踐指導(dǎo)。
介紹
虛擬化是一個(gè)廣義的概念包含一批服務(wù)器部署和管理功能。根據(jù)定義,虛擬化是用于抽象一個(gè)系統(tǒng)資源的物理特征的技術(shù),與其它系統(tǒng)、應(yīng)用程序、或者用戶與這些資源的互動(dòng)。
虛擬化非常有用,因?yàn)槟憧梢杂盟屢粋€(gè)物理資源被看作多個(gè)邏輯資源,或者多個(gè)物理資源被看作一個(gè)邏輯資源;例如,一個(gè)處理器內(nèi)核可以被看作多個(gè)虛擬處理器,或者為了增加可用存儲(chǔ)空間的使用率多個(gè)存儲(chǔ)設(shè)備可以統(tǒng)一到一個(gè)邏輯池中。因此虛擬化讓服務(wù)器的部署和利用更加富有彈性。你也可以通過虛擬化來鞏固服務(wù)器以減少管理成本、電源、和面積。作為附加的好處,你能使用虛擬化明顯的增加服務(wù)器利用率并提高整體性能效率。
這個(gè) DB2 最佳實(shí)踐文章描述了如何選擇正確的 System p 虛擬化功能和配置組合來幫助你達(dá)到你所期望的商業(yè)目標(biāo)(除非另有說明,DB2 版本 9 包括了 DB2 版本 9.1 和 DB2 版本 9.4)。
本文在一下范圍提供了指導(dǎo):
- 了解在一個(gè)虛擬環(huán)境中 DB2 性能和擴(kuò)展性
- 在 System p 上使用高級(jí) Power 虛擬化
- 通過考慮下面兩個(gè)主要因素來為你的 DB2 環(huán)境選擇正確的虛擬化方法:
- 邏輯分區(qū)類型
- 磁盤 I/O 類型
- 網(wǎng)絡(luò)類型
- 工作負(fù)載管理
- 計(jì)劃和評(píng)估
作為其他的虛擬技術(shù),如 VMware ESX 和 Windows Hypervisor,在以后變得可以利用,本文將擴(kuò)展合并最佳實(shí)踐以適用于它們。需要提醒的是,在本文中出現(xiàn)的概念和技術(shù)主要適用于 Systme p 平臺(tái)。
DB2 9 和 System p 虛擬化概要
System p 虛擬化技術(shù)在硬件和固件上提供了豐富的虛擬化功能實(shí)施。這些功能范圍從簡單的資源隔離到一組最先進(jìn)和強(qiáng)大的功能,包括服務(wù)器資源分區(qū),自動(dòng)化動(dòng)態(tài)資源重分配和工作復(fù)雜度管理。IBM System p 家族服務(wù)器已經(jīng)在多個(gè) IBM POWER 處理器家族中的多款處理器和多個(gè)支持的操作系統(tǒng)上逐步提供了虛擬化的功能?,F(xiàn)在 System p 平臺(tái)擁有成熟、完善的服務(wù)器虛擬化功能。
不像傳統(tǒng)的宿主環(huán)境,操作系統(tǒng)實(shí)例控制了服務(wù)器的所有的硬件資源(例如,處理器,內(nèi)存,和 I/O 設(shè)備),虛擬化,以它的基本形式,允許服務(wù)器資源分區(qū)(邏輯分區(qū))。虛擬化是由于一個(gè)被稱為 IBM POWER Hypervisor(PHYP)的層而成為可能的,PHYP 向共享處理器分區(qū)的操作系統(tǒng)提供了一個(gè)系統(tǒng)硬件資源的抽象的視圖。
虛擬化功能,比如 IBM Micro-Partitioning、虛擬 I/O(VIO)、還有 虛擬以太網(wǎng),通過提供價(jià)值的方法,例如資源共享、工作負(fù)載管理、和不需要操作系統(tǒng)實(shí)例重啟的動(dòng)態(tài)資源分配(動(dòng)態(tài)邏輯分區(qū)),VIO 讓你只需要少量命令來完成存儲(chǔ)分區(qū)和共享 。在分區(qū)環(huán)境中運(yùn)行,VIO 也可以通過提供一個(gè)集中的焦點(diǎn)來減少存儲(chǔ)管理開銷。DB2 產(chǎn)品與 VIO 工作不需要任何額外的包或者驅(qū)動(dòng)安裝。
System p 硬件支持 IBM AIX,IBM i,SuSE Linux Enterprise Server(SLES),和 Red Hat Enterprise Linux(RHEL) 操作系統(tǒng)。本文主要集中在 AIX 操作系統(tǒng),但是你能把相同的指導(dǎo)微調(diào)或者直接擴(kuò)展到其他支持的基于 POWER 處理器操作系統(tǒng)。
DB2 9 數(shù)據(jù)服務(wù)器是 IBM 提供的增長最快的旗艦級(jí)數(shù)據(jù)庫。它裝備了主機(jī)動(dòng)態(tài)資源認(rèn)識(shí),自動(dòng)化功能像自調(diào)整內(nèi)存管理(STMM)和增強(qiáng)的自動(dòng)存儲(chǔ),它們極大的減少了在調(diào)整和維護(hù)方面的管理開銷。這些功能使 DB2 產(chǎn)品可以很好的匹配虛擬化環(huán)境,使它能夠利用 System p 虛擬化技術(shù)。
DB2 產(chǎn)品在 System p 虛擬化環(huán)境中無縫的工作。DB2 識(shí)別并對任何 LPAR 事件做出反應(yīng),比如運(yùn)行時(shí)更改技術(shù)按和物理內(nèi)存資源的主機(jī)分區(qū)。STMM 功能自動(dòng)化地判斷并重新分配 DB2 堆內(nèi)存以應(yīng)對分區(qū)內(nèi)的內(nèi)存和工作負(fù)載情況的動(dòng)態(tài)改變。
你能從‘參考資源’部分的列表中的很多網(wǎng)站中獲得額外信息。
虛擬化術(shù)語和概念
這個(gè)章節(jié)主要描述了虛擬化組件和功能并提供虛擬化環(huán)境的快速參考。讀者如果熟悉虛擬化術(shù)語和概念,可以略過這一節(jié)。
術(shù)語
|
描述 |
邏輯分區(qū)(LPAR)或分區(qū)
|
一個(gè)邏輯分區(qū)是一個(gè)隔離的計(jì)算域,有自己資源(處理器、內(nèi)存、和 I/O接口)和操作系統(tǒng)實(shí)例。受支持的操作系統(tǒng)包括 AIX,Linux(RedHat,SLES),he IBM i操作系統(tǒng)。每個(gè) LPAR能運(yùn)行不同類型、版本或級(jí)別的操作系統(tǒng)。例如,在一個(gè) LPAR中可以運(yùn)行 AIX5L v5.2,第二個(gè) LPAR能運(yùn)行 AIX5L 5.3 TL06,第三個(gè) LPAR能運(yùn)行 AIX 6,第四個(gè) LPAR能運(yùn)行 Linux操作系統(tǒng)。
除了處理器和內(nèi)存資源,每個(gè) LPAR需要有它自己的根磁盤,網(wǎng)絡(luò)接口和存儲(chǔ)。這有一個(gè)方法可以通過虛擬 I/O來簡化并共享網(wǎng)絡(luò)和存儲(chǔ)適配器,在后面會(huì)后更多細(xì)節(jié)。
有兩種類型的 LPARs:
- 專用的處理器
- 共享處理器(使用 IBM微分區(qū)功能)
|
|
|
動(dòng)態(tài)邏輯分區(qū)(DLPAR)或動(dòng)態(tài)重配置
|
DLPAR服務(wù)讓你在運(yùn)行時(shí)可以更改一個(gè)分區(qū)的資源,無需重啟操作系統(tǒng)。例如一個(gè)你可以更改的條目是專用分區(qū)的處理器數(shù)目;虛擬處理器的數(shù)目和共享處理器分區(qū)的能力;以及任何分區(qū)類型的虛擬 I/O適配器槽的數(shù)目和物理內(nèi)存總量。DLPAR功能通過盡量分配它們需要的資源提高了資源利用率。 你能通過硬件管理控制臺(tái)(HMC)手動(dòng)訪問這個(gè)工具,或者你能使用工作負(fù)載管理工具自動(dòng)化地訪問。DLPAR服務(wù)是工作負(fù)載管理工具的精華,類似 IBM企業(yè)工作負(fù)載管理(EWLM)。 |
|
|
POWER 管理程序(PHYP)
|
PHYP像是系統(tǒng)硬件和 LPAR之間的提取層,允許多個(gè)操作系統(tǒng)運(yùn)行在基于 POWER處理器系統(tǒng)。PHYP是 IBM虛擬化技術(shù)的核心組件,它允許微分區(qū)、共享處理器池、動(dòng)態(tài) LPAR、虛擬 I/O、和虛擬 LANs。在 PHYP運(yùn)行的許多任務(wù)中通過 LPAR上下文切換來保存和恢復(fù)所有處理器狀態(tài)信息。 |
專用處理器分區(qū)
|
一個(gè)專用處理器分區(qū) PHYP為它排他的保留一個(gè)或多個(gè)分配的處理器。(你可以指定處理器每次遞增一個(gè))當(dāng)這個(gè)分區(qū)活動(dòng)的時(shí)候其他處理器不能使用空閑的處理器能力。PHYP使用相同的物理內(nèi)核來安排分區(qū)以從活躍的高速緩存中獲得好處。
通過處理器和內(nèi)存親和力專用處理器分區(qū)可以提高 LPAR吞吐量,并確保最高處理器的高速緩存層次性能。這個(gè)功能應(yīng)用在了 POWER5[1]處理器家族。 |
|
|
共享處理器分區(qū)
|
你能以每次增加 1/100或 1%物理處理器來把處理器能力分配給一個(gè)共享處理器分區(qū)。但是每個(gè)分區(qū)最小需要每次 1/10或 10%物理處理器能力。結(jié)果就是一個(gè)物理處理器最多能有 10個(gè)分區(qū)。
共享處理器分區(qū)需要 IBM高級(jí) Power虛擬化(APV)功能和使用 IBM微分區(qū)功能。 |
|
|
賦權(quán)能力
|
賦權(quán)能力取決于處理器分配給共享處理器分區(qū)的能力
這個(gè)能力保證了處理能力的總量。PHYP把物理處理器時(shí)間切片以管理零碎的處理器分配。 |
|
|
受限共享處理器分區(qū)
|
賦權(quán)能力是對受限共享處理器分區(qū)的硬限制(也就是說,當(dāng)需求增高的時(shí)候它也不能超過它的賦權(quán)能力,即使共享池中有閑置的處理器能力可用)。受限共享處理器分區(qū)讓你可以更好的管理共享池處理器資源。 |
|
|
非受限共享處理器分區(qū)
|
一個(gè)非受限共享處理器分區(qū)不僅能使用它自己的賦權(quán)能力也能使用共享池中的空閑處理能力。當(dāng)一個(gè)分區(qū)需要超過他自己賦權(quán)能力的時(shí)候,空閑共享池處理器能力在高峰時(shí)間即時(shí)滿足工作負(fù)載需求。非受限共享分區(qū)對于不可預(yù)知的工作負(fù)載非常靈活有用。 如果非受限共享處理器分區(qū)不止一個(gè),共享池處理器能根據(jù)它的分配非受限權(quán)重來分配給共享處理器分區(qū) |
|
|
非受限權(quán)重
|
非受限權(quán)重是一個(gè)數(shù)字,在有不止一個(gè)超負(fù)荷的共享處理器分區(qū)的時(shí)候,通過指定共享池空閑處理器能力的一部分(平均權(quán)重)來分配給一個(gè)共享處理器分區(qū)。
非受限權(quán)重是 0到 255之間的一個(gè)數(shù)字;默認(rèn)的非受限共享權(quán)重是 128。權(quán)重越高就有越多的空閑共享池處理器資源授予,根據(jù)分區(qū)工作負(fù)載優(yōu)先權(quán),你能給多個(gè)共享處理器分區(qū)設(shè)置非受限權(quán)重,為最高優(yōu)先級(jí)的工作負(fù)載設(shè)置最高的非受限權(quán)重。 |
|
|
虛擬處理器
|
這個(gè)概念只和共享處理器分區(qū)有關(guān)。一個(gè)虛擬處理器是操作系統(tǒng)分派應(yīng)用線程(或者進(jìn)程)的實(shí)體。你能看到虛擬處理器如同一個(gè)傳統(tǒng)的非分區(qū)環(huán)境中的處理器。
例如,假設(shè)共享處理器分區(qū)有 1.50賦權(quán)能力和兩個(gè)虛擬處理器運(yùn)行的 AIX 5L。AIX內(nèi)核調(diào)度程序像他有兩個(gè)物理處理器一樣操作。假設(shè)此時(shí)多線程被關(guān)閉了,操作系統(tǒng)也可以同時(shí)調(diào)度最多兩個(gè)線程。
你可以把虛擬處理器想成虛擬內(nèi)核。SMT虛擬處理器的數(shù)目是自然的。 |
|
|
虛擬 I/O(VIO)
|
虛擬 I/O是一個(gè)廣義的概念涉及到一批存儲(chǔ)和網(wǎng)絡(luò)虛擬化功能:
- 虛擬以太網(wǎng)
- 共享以太網(wǎng)適配器(SEA)
- 虛擬存儲(chǔ)
虛擬以太網(wǎng)。不需要額外的硬件或電纜,在一個(gè)運(yùn)行 AIX、Linux、以及其他的操作系統(tǒng)上的多個(gè)分區(qū)間上,一個(gè)虛擬的 LAN(VLAN)能實(shí)現(xiàn)高速虛擬以太網(wǎng)通訊路徑。你可以動(dòng)態(tài)創(chuàng)建虛擬的以太網(wǎng)段,并限定一個(gè) VLAN段的訪問來達(dá)到安全和通訊隔離需求。一個(gè)虛擬以太網(wǎng)有相同的特性像高速帶寬、物理以太網(wǎng)絡(luò)和支持多個(gè)網(wǎng)絡(luò)協(xié)議,比如 IPv4、IPv6、和 ICMP。PHYP提供了這個(gè)功能。 虛擬 I/O服務(wù)器(VIOS)。這是一個(gè)專用分區(qū),它向分區(qū)客戶端提供了虛擬的 I/O資源。VIOS擁有物理適配器。你能通過把它分配給多個(gè)分區(qū)客戶端來共享一個(gè)物理適配,這最小化了你每個(gè)客戶端所需要的物理適配器的數(shù)目。因此,VIOS能通過減少網(wǎng)絡(luò)和磁盤適配器的需求來降低成本。VIOS提供了兩個(gè)主要的功能:
- 一個(gè)虛擬以太網(wǎng)橋。共享一臺(tái)適配器(SEA)設(shè)在 VIOS 作為內(nèi)部虛擬和外部物理網(wǎng)絡(luò)的兩層橋接。SEA 使分區(qū)和系統(tǒng)外部的通訊在沒有專門物理 I/O 槽和物理網(wǎng)絡(luò)虛擬器的情況下和客戶端分區(qū)相連。
- 一個(gè)虛擬 SCSI適配器。是一個(gè)虛擬接口,物理存儲(chǔ)(在這種情況下的設(shè)備支持)和邏輯卷(在這種情況下的邏輯卷支持),你從虛擬 I/O 分區(qū)創(chuàng)建和導(dǎo)出在客戶端分區(qū)作為 SCSI 磁盤展現(xiàn)。
VIOS 需要 APV 功能 |
|
|
空閑共享能力
|
空閑共享能力包括總的可用于非受限共享處理器分區(qū)的空閑處理能力。你能通過增加為分配處理能力(即使它不能保證任何 LPAR使用處理器權(quán)利,或者憑借一個(gè)專用的 LPAR)來對所有系統(tǒng)中活躍的共享處理器分區(qū)的未使用權(quán)利求和以計(jì)算空閑共享能力的總量。
|

 |

|
選擇虛擬化功能
現(xiàn)在你已經(jīng)熟悉了 System p 虛擬化概念,考慮如何在 DB2 環(huán)境中應(yīng)用將虛擬化。關(guān)于虛擬化環(huán)境你必須做出四個(gè)主要決定:
- 邏輯分區(qū)類型:專用或者共享處理器分區(qū)
- 磁盤 I/O類型:本地連接的 I/O或者虛擬 I/O
- 網(wǎng)絡(luò)類型: 物理或者虛擬
- 工作負(fù)載管理設(shè)置
某些情況下,后來再改變決定非常容易。例如,把分區(qū)類型從專用分區(qū)改成共享處理器分區(qū)非常簡單。然而,在虛擬 I/O 和本地連接 I/O 之間切換磁盤 I/O 類型,則需要數(shù)據(jù)備份和恢復(fù)。因此,一個(gè)生產(chǎn)系統(tǒng)在上線之前需要有周密的計(jì)劃。
注意共享處理器分區(qū)和 VIOS 功能不是標(biāo)準(zhǔn)虛擬化的一部分。這些功能是 APV 功能。
接下來的章節(jié)顯示你如何才能把 System p 的主要虛擬化技術(shù)應(yīng)用到你 DB2 環(huán)境中,以建立一個(gè)全面的 IT 架構(gòu)能長期滿足你所期望的商業(yè)目標(biāo)?;镜募僭O(shè)是有在每個(gè)邏輯分區(qū)有一個(gè)單獨(dú)的 DB2 產(chǎn)品實(shí)例運(yùn)行,并且每個(gè)實(shí)例有一個(gè)數(shù)據(jù)庫。最佳的結(jié)果、最佳實(shí)踐、和這個(gè)章節(jié)的其他信息應(yīng)該讓你做判斷的過程更容易。要用圖形來展示這個(gè)結(jié)果,參考在“更多閱讀”列表中的“DB2 和 System p 虛擬化”白皮書。
如果沒有其他提示,接下來討論的是, 分區(qū)意思指的是 System p 邏輯分區(qū)(LPAR)。不要把這個(gè)稱呼同一個(gè) DB2 數(shù)據(jù)庫分區(qū)功能(DPF)創(chuàng)建的數(shù)據(jù)庫分區(qū)混淆了。
邏輯分區(qū)類型
關(guān)于是否使用專用共享處理器這個(gè)問題,對于一個(gè)特定工作負(fù)載和系統(tǒng)環(huán)境的正確的邏輯分區(qū)類型有大量的因素需要考慮,比如性能、整個(gè)系統(tǒng)利用率等,并要考慮多個(gè)工作負(fù)載共存在一個(gè)服務(wù)器上,以提高電源使用和冷卻效率。下面的子章節(jié)針對這些因素。
分區(qū)類型:專用處理器和共享處理器的比較
對 DB2 產(chǎn)品使用一個(gè)共享處理器分區(qū)。這種分區(qū)類型提供了很多好處,包括靈活性和更好的處理器利用率。
理論上來說,由于底層處理器和內(nèi)存的關(guān)系,在某些條件下一個(gè)專門的分區(qū)應(yīng)該提供最佳的性能。然而,最近這被確認(rèn)在實(shí)際情況中并不正確。這部分的測試結(jié)果顯示對于下面的測試系統(tǒng)(詳細(xì)系統(tǒng)描述請查看附錄)在專用和共享處理器分區(qū)之間沒有明顯的性能差異。表 1 是對這個(gè)測試環(huán)境的總結(jié)。
表 1. DB2 和 System p 虛擬化測試環(huán)境
|
分區(qū)數(shù)目 |
|
|
1 |
2 |
4 |
|
|
分區(qū)類型 |
Partition type 分區(qū)類型 |
Partition type 分區(qū)類型 |
|
|
專用 |
共享 |
專用 |
共享 |
專用 |
共享 |
|
處理能力 |
8 |
8.00 |
4 |
4.00 |
2 |
2.00 |
|
虛擬處理器 |
NA |
8 |
NA |
4 |
NA |
2 |
|
數(shù)據(jù)庫大小 |
~200 GB |
~100 GB |
~50 GB |
|
內(nèi)存 |
128 GB |
64 GB |
32 GB |
|
數(shù)據(jù)磁盤數(shù)目 |
192 |
96 |
48 |
|
I/O類型 |
本地連接 |
本地連接 |
本地連接 |
我們運(yùn)行了 6 個(gè)性能測試:兩個(gè)性能測試分別在一個(gè)單分區(qū)上、兩個(gè)分區(qū)同時(shí)運(yùn)行、和四個(gè)分區(qū)同時(shí)運(yùn)行。我們對每一個(gè)分區(qū)類型和每一個(gè)分區(qū)都運(yùn)行一次。分區(qū)類型的改變都是非破壞性的(沒有數(shù)據(jù)丟失);唯一的要求就是重啟分區(qū)。所有測試都使用本地連接 I/O,數(shù)據(jù)也在正確的規(guī)模。
結(jié)果顯示在這兩種類型的性能沒有明顯的不同。共享處理器分區(qū)的性能(也就是累計(jì)吞吐量)和專用處理器分區(qū)性能一樣。這種情況驗(yàn)證了 PHYP 對共享處理器分區(qū)使用了非常有效的調(diào)度算法。對于這樣的共享處理器分區(qū),PHYP 嘗試每次調(diào)度在同一個(gè)物理內(nèi)核虛擬處理器上以保護(hù)處理器高速緩存親緣性,類似于專用處理器分區(qū)的功能。
線性擴(kuò)展性
使用共享處理器分區(qū),你能因此得到它在增加處理器利用率方面的好處。
當(dāng)我們在考慮我們測試中的每個(gè)邏輯分區(qū)平均吞吐量的時(shí)候,我進(jìn)行了一次有趣的觀察:對任何分區(qū)類型的分區(qū)擴(kuò)展性沒有任何開銷。也就是 8 個(gè)專用處理器 LPAR(或者有 8.00 賦權(quán)能力和 8 顆虛擬處理器的共享處理器 LPAR)完成的工作總量是 4 處理器 LPAR(或有 4.00 賦權(quán)能力和 4 顆虛擬處理器的共享處理器 LPAR)的兩倍,相反它又是 2 處理器 LPAR(或有 2.00 賦權(quán)能力和兩個(gè)虛擬處理器的共享處理器 LPAR)。另外我們發(fā)現(xiàn)在專用處理器和共享處理器分區(qū)之間,每個(gè) LPAR 的正常平均吞吐量沒有明顯區(qū)別。
通常的指導(dǎo)原則是不浪費(fèi)分區(qū)中的處理器能力。這能通過對一個(gè)分區(qū)基于實(shí)施的虛擬處理器個(gè)數(shù)進(jìn)行正確的評(píng)估來有效降低這個(gè)分區(qū)中閑置的處理器能力。這樣做能在系統(tǒng)層面內(nèi)提高物理處理器的利用率。
因此,專用和共享處理器分區(qū)在擴(kuò)展性和平均吞吐量上已經(jīng)相等,使用共享處理器分區(qū)可以獲得提高處理器利用率的好處。
受限和非受限處理器分區(qū)
使用非受限共享處理器分區(qū),在應(yīng)付不可預(yù)知的工作量時(shí)非常有效。然而也要小心地使用它們:通過正確地設(shè)置它們非受限權(quán)重來設(shè)置分區(qū)優(yōu)先級(jí)來管理工作負(fù)載。
共享處理器分區(qū)最大的特點(diǎn)是它能使用空閑處理器能力,加上它的授權(quán)能力。一個(gè)專用處理器分區(qū)在定義中設(shè)置了上限:那就是,它不能在分配的處理器上使用超過他授權(quán)能力,即使系統(tǒng)中有閑置的處理器能力也不能。如果使用正確,一個(gè)非受限共享處理器分區(qū)在處理高度動(dòng)態(tài)和不可預(yù)知工作量時(shí)非常有效。非受限權(quán)重設(shè)置是用來在競爭非受限共享處理器分區(qū)間分配空閑共享能力。
例如,考慮一個(gè)由 DB2 服務(wù)器作為后端、IBM WebSphere 作為應(yīng)用程序服務(wù)器的多層架構(gòu)。它們都對它們自己在 System p 服務(wù)器上的非受限共享處理器分區(qū)做主。
由于它非受限全重設(shè)置得比 WebSphere 分區(qū)高,DB2 分區(qū)被分配了更高的優(yōu)先級(jí)。在一個(gè)峰值需求范圍內(nèi),兩個(gè)服務(wù)器都超過了他們的授權(quán)能力并且被允許使用空閑共享的處理器能力(如果有的話)。然而,由于 DB2 有更高的非受限權(quán)重設(shè)置,他比 WebSphere 分區(qū)得到更多的空閑共享處理能力。
使用一個(gè)非受限共享處理器分區(qū)對動(dòng)態(tài)、小粒度、和自動(dòng)化的管理空閑處理器能力來應(yīng)付一個(gè)虛擬環(huán)境中不可預(yù)知的工作負(fù)載。為了詳細(xì)了解類似工作負(fù)載管理解決方案,這里提供了一個(gè)概念的證明,參考“工作負(fù)載管理”文章,在“更多閱讀”章節(jié)列出了這些文檔。
一個(gè)共享處理器分區(qū)中的虛擬處理器個(gè)數(shù)
為了最佳的平衡性能,設(shè)置虛擬處理器的個(gè)數(shù)不得高于每 1.00 授權(quán)能力兩顆虛擬處理器。
為了最大化整個(gè)系統(tǒng)的處理器利用率,把虛擬處理器的個(gè)數(shù)設(shè)到可以達(dá)到可用授權(quán)能力的值。
使用共享處理器分區(qū)需要設(shè)置合理的虛擬處理器的數(shù)目。虛擬處理器較低的配置數(shù)會(huì)導(dǎo)致浪費(fèi)處理能力或者不能使用空閑共享處理周期(一個(gè)非受限分區(qū)的最大授權(quán)能力收到虛擬處理器個(gè)數(shù)的限制)。虛擬處理器配置數(shù)目過高沒有問題,因?yàn)樵谀J(rèn)情況下 AIX 操作系統(tǒng)不會(huì)調(diào)度沒有使用的虛擬處理器(參見 AIX schedo命令和 vpm_xvcpus配置參數(shù)信息)。我們做了一個(gè)測試來測量虛擬處理器的折疊能力,這是一個(gè)機(jī)制負(fù)責(zé)調(diào)度分區(qū)請求的最小數(shù)目的虛擬處理器,變化一個(gè)共享處理器分區(qū)(在表 1 中,一共有 4 個(gè)分區(qū))的虛擬處理器數(shù)目,這個(gè)分區(qū)有 1.85 個(gè)授權(quán)處理器能力。在第一次測試中我們運(yùn)行 3 次,把虛擬處理器設(shè)置到達(dá)到授權(quán)能力 2 的個(gè)數(shù),然后在后來的測試中我們設(shè)置更多的虛擬處理器個(gè)數(shù)。的確如我們所期望的,相對更高的虛擬處理器數(shù)目并沒有帶來任何對性能的負(fù)面影響。
對于在 DB2 環(huán)境中的受限分區(qū)而言,設(shè)置虛擬處理器的數(shù)目等于最高授權(quán)能力。對于非授權(quán)分區(qū),設(shè)置虛擬處理器的個(gè)數(shù)在下面公式結(jié)果范圍內(nèi)。
RVP = {round up (CEC + [UW/TUW] * FPC) , round up (CEC + FPC)}
|
- RVP顯示虛擬處理器的最大范圍。
- CEC是當(dāng)前授權(quán)能力。
- UW是共享處理器分區(qū)的非受限權(quán)重。默認(rèn)值是 128,并且范圍是 0-255。
- TUW是所有非受限共享處理器分區(qū)的非受限權(quán)重總量。
- FPC是空閑共享能力(空閑未分配的處理器能力)。
例如,假設(shè)你有一個(gè) 16 核的 IBM POWER 570 系統(tǒng)。你創(chuàng)建一個(gè)有 4 顆處理器的專用處理器分區(qū),而且你打算在剩下的 12 顆處理器上創(chuàng)建 6 個(gè)非受限共享處理器分區(qū)。你把非受限權(quán)重設(shè)為 128(默認(rèn)值)。
為了運(yùn)行 DB2 實(shí)例,假設(shè)你想創(chuàng)建了一個(gè)賦權(quán)能力是 2.5 非受限的處理器分區(qū)。請使用前面介紹的共識(shí)來判斷你需要為這個(gè)分區(qū)分配的虛擬處理器的個(gè)數(shù)范圍,如下面計(jì)算所顯示的。簡單來講,假設(shè)所有分區(qū)都是非受限并擁有相同的非受限權(quán)重。
RVP = { round up (2.5 + [128 / (128 *6)] * (12-2.5)) , round up (2.5 + (12-2.5))}
RVP = { round up (4.08) , round up (12)}
RVP = { 5 , 12 }
|
這未受限共享處理器分區(qū)公式計(jì)算了一個(gè)范圍值在分配恰當(dāng)?shù)奶撎幚砥鞯臅r(shí)候以供選擇。這個(gè)范圍橫跨極端的工作負(fù)載目標(biāo):最佳平衡性能和最大整個(gè)系統(tǒng)處理器利用率。
一個(gè)一般的指導(dǎo)是基于你工作負(fù)載目標(biāo)來設(shè)置虛擬處理器的數(shù)目。如果工作復(fù)雜相對穩(wěn)定而性能是最重要的,使用較低的范圍值(5,在前面的例子)。如果最大化系統(tǒng)處理器使用率是最重要的,使用最大范圍值(12,前面的例子)。更大的范圍值確保有充足的處理器數(shù)來使用空閑共享處理能力。通常,最好的折中方案是把虛擬處理器的數(shù)目設(shè)置為計(jì)算出來的范圍的最低和最高值之間的某一個(gè)值,基于你在性能和處理器利用率某種程度的平衡需求。如果你遇到發(fā)生不可預(yù)知工作負(fù)載相對比較頻繁這種設(shè)置能帶來明顯的好處。它能從利用共享池中的處理器資源中得到好處。
其他的處理器類型考慮
對于專用處理器分區(qū),處理器分配的增量是整個(gè)處理器。因此處理器能力空閑經(jīng)常發(fā)生在專用處理器分區(qū)上。例如,一個(gè)有 3 顆處理器的專用分區(qū)運(yùn)行的 DB2 系統(tǒng)使用了等價(jià)與 2.10 個(gè)處理器(也就是,vmsta 顯示 70% 分區(qū)利用率)結(jié)果導(dǎo)致浪費(fèi) 0.90(30%)顆處理器能力。
在不重啟 AIX 操作系統(tǒng)或者 DB2 的情況下,改變專用分區(qū)處理器分配的唯一的辦法是使用 DLPAR 選項(xiàng)。比起接近即時(shí)授權(quán)能力改變,DLPAR 選項(xiàng)是相對比較慢(根據(jù)工作負(fù)載,要慢幾秒),它能在一個(gè)非受限共享處理器分區(qū)上運(yùn)行。
之前的信息大多數(shù)是和 POWER6 之前的處理器相關(guān)。從 POWER6 處理器開始,就有選項(xiàng)來把未使用的處理能力從專用處理器分區(qū)貢獻(xiàn)出來。這個(gè)功能消除了在專用處理器分區(qū)內(nèi)的空閑處理周期,進(jìn)一步增強(qiáng)了 System p 提供的虛擬能力。
邏輯分區(qū)類型決策樹流程圖
基于功能性和非功能性的要求,下面決策樹流程圖指導(dǎo)你通過這個(gè)流程判斷為你的 DB2 環(huán)境邏輯分區(qū)類型。
圖 1. DB2 環(huán)境中的邏輯分區(qū)類型判斷樹
查看大圖
磁盤 I/O 類型
DB2 性能嚴(yán)重依賴于子系統(tǒng)的 I/O 性能。為了達(dá)到最佳的 I/O 吞吐量,尤其要注意數(shù)據(jù)庫表數(shù)據(jù)規(guī)劃。你選擇的 I/O 類型直接影響存儲(chǔ)設(shè)備的可管理性和擴(kuò)展性。因此,它是考慮工作負(fù)載優(yōu)先權(quán)和在各個(gè) I/O 之間折衷的關(guān)鍵。你能在分區(qū)中選擇本地 I/O、虛擬 I/O,或兩個(gè)都是。
虛擬 I/O 實(shí)踐
你必須安裝并運(yùn)行一個(gè) VIOS 來使用虛擬磁盤 I/O。
虛擬 I/O 通過使用少量的物理資源來增強(qiáng)、服務(wù)多個(gè)分區(qū),并能明顯減少在硬件和管理上的成本。
虛擬 I/O 對許多 DB2 環(huán)境都很有用。 例如,每個(gè)分區(qū)需要最少一個(gè)根磁盤。沒有虛擬 I/O, 分區(qū)的數(shù)目將受限于可用的 PCI 公共插槽,或者本地 I/O 設(shè)備的物理磁盤適配器,因?yàn)槊總€(gè)分區(qū)需要一個(gè)適配器來訪問磁盤。共享一個(gè)磁盤適配器的唯一辦法是使用虛擬 I/O 和邏輯卷管理器(LVM),它允許多個(gè)邏輯分區(qū)共享一個(gè)磁盤,即使節(jié)省適配器成本不是優(yōu)先考慮的。
磁盤技術(shù)的發(fā)展增強(qiáng)了存儲(chǔ)的能力,磁盤大小和帶寬的比率隨著時(shí)間的推移越來越大,造成 DB2 環(huán)境中非常大的磁盤空空閑,一般來說,比起用磁盤空間,通過磁盤驅(qū)動(dòng)個(gè)數(shù)來計(jì)算更好。
在使用整個(gè)磁盤存儲(chǔ)能力或在交錯(cuò)的工作負(fù)載之間共享磁盤 I/O 帶寬的時(shí)候,磁盤共享可以非常有效。例如,白天在線事務(wù)處理(OLTP)工作負(fù)載和晚間的批量任務(wù)可以共享存儲(chǔ)系統(tǒng)的帶寬。
所有虛擬 I/O 請求都提交到了 VIOS,由它執(zhí)行磁盤 I/O 操作并向分區(qū)直接返回?cái)?shù)據(jù)(沒有虛擬 SCSI 情況下的雙倍緩沖)。
下面是一個(gè)額外虛擬 I/O 功能的簡要列表。更多虛擬 I/O 以及實(shí)現(xiàn)的信息參見 System p5 高級(jí) POWER 虛擬化介紹和配置參考。
- 低成本,LVM 層存儲(chǔ)冗余與本地連接 I/O 設(shè)備和虛擬 I/O 設(shè)備的組合
- 支持雙重 VIOSs 來消除單點(diǎn)故障
- SEA,或主適配器
- 快速內(nèi)部分區(qū)連接,使用 VLAN
虛擬磁盤 I/O 擴(kuò)展
VIOS 自己需要的資源非常有限,它的內(nèi)存需求是固定的。VIOS 的主要處理器需求來自于磁盤 I/O 操作。
記住虛擬 I/O 啟動(dòng)是一個(gè)特定分區(qū),這個(gè)分區(qū)叫 VIOS。它運(yùn)行一個(gè)特殊的操作系統(tǒng) VIOS 來使用處理器和內(nèi)存資源(類似正常的操作系統(tǒng))。然而,它對處理器和內(nèi)存需求是適度的,就算有非常高的 I/O 請求。
VIOS 在需要運(yùn)行 VIOS 操作系統(tǒng)外沒有更多的內(nèi)存需求,它也不需要內(nèi)存來響應(yīng)客戶端分區(qū)磁盤請求。這是因?yàn)樘摂M SCSI 是零內(nèi)存復(fù)制操作:就是,書籍是直接復(fù)制到 LPAR 上的應(yīng)用程序或客戶端文件系統(tǒng)空間
我們使用表 1 表述的相同環(huán)境進(jìn)行測試,但是我們把了 I/O 類型從本地連接改成虛擬 I/O。表 2 總結(jié)了虛擬 I/O 測試環(huán)境。所有測試使用的設(shè)備為虛擬存儲(chǔ)。對于 DB2 存儲(chǔ),我們使用數(shù)據(jù)庫管理表空間(DMS),并用 NO FILESYSTEM CHACHING 選項(xiàng)來創(chuàng)建。表中顯示了 VIOS 客戶端分區(qū)運(yùn)行 DB2 產(chǎn)品的處理性能。測試使用了 8 個(gè)處理器:客戶端分區(qū)使用了 7.40 個(gè)處理器,剩下的 0.60 個(gè)處理器分配給 VIOS 分區(qū)。
表 2. DB2 和虛擬 I/O 測試環(huán)境
|
分區(qū)數(shù) |
|
|
1 |
2 |
4 |
VIOS |
|
分區(qū)類型 |
分區(qū)類型 |
分區(qū)類型 |
分區(qū)類型 |
|
共享 |
共享 |
共享 |
共享 |
授權(quán)能力 |
7.40 |
3.70 |
1.85 |
0.60 |
受限或非受限 |
非受限 |
非受限 |
非受限 |
非受限 |
虛擬處理器 |
8 |
4 |
2 |
1 |
數(shù)據(jù)庫大小 |
~200 GB |
~100 GB |
~50 GB |
NA |
內(nèi)存 |
128 GB |
64 GB |
32 GB |
512MB |
磁盤數(shù) |
192 |
96 |
48 |
NA |
I/O類型 |
虛擬 I/O |
虛擬 I/O |
虛擬 I/O |
NA |
這個(gè)測試被設(shè)計(jì)來展示虛擬 I/O 的擴(kuò)展能力以和 DB2 產(chǎn)品以及 System p 虛擬化解決方案總的擴(kuò)展能力。在這個(gè)場景中,處理器和磁盤 I/O 的使用都基于虛擬化技術(shù)。
結(jié)果顯示虛擬 I/O 的在 VIOS 客戶端分區(qū)處理能力和當(dāng)前 VIOS 客戶端分區(qū)的增長上市線性擴(kuò)展的。虛擬 I/O 的使用也是客戶端分區(qū)類型無關(guān)的:就是說,虛擬 I/O 并不依賴于客戶端分區(qū)是專用分區(qū)還是共享處理器分區(qū)。
虛擬 I/O 和 VIOS 調(diào)優(yōu)
把一個(gè)非受限共享處理器分區(qū)或者有最高非受限權(quán)重分區(qū)設(shè)置為 VIOS 分區(qū)類型,以使 VIOS 得到它需要的任何處理器能力。
在 DB2 產(chǎn)品上使用虛擬 I/O 你只需要做很少的調(diào)優(yōu)。不過第一個(gè)也是最常見的問題是“VIOS 需要多少內(nèi)存和處理器?”
VIOS 的內(nèi)存需求并不明顯。因?yàn)橐粋€(gè)來自客戶端分區(qū)的 I/O 請求對 VIOS 來說不需要內(nèi)存,VIOS 的內(nèi)存需求并不依賴于像 I/O 操作數(shù)目或客戶端分區(qū)數(shù)這樣的因素。我們在本文里進(jìn)行的所有測試使用的一個(gè) VIOS 內(nèi)存都是一個(gè)常量 512M。
VIOS 處理器需求也是不明顯的。雖然有非常高的磁盤操作,我們所有的測試結(jié)果顯示 VIOS 處理器使用大約在 0.55 個(gè)處理器。VIOS 處理器需求隨 I/O 操作次數(shù)增長。
在判斷處理器需求之后,就要考慮工作負(fù)載的最大和最小值,而不僅僅考慮平均值。
為了有幫助對 VIOS 進(jìn)行正確的測量(能看到不可預(yù)知的工作負(fù)載)需要要使用下面的方法:
- 為了獲得相當(dāng)數(shù)量的初始處理能力,設(shè)置 VIOS 分區(qū)類型為非受限共享處理器分區(qū)。
- 對工作負(fù)載的峰值運(yùn)行一個(gè)測試,并記錄 VIOS 賦權(quán)能力利用率(使用 VIOS 的 viostat 命令)。
- 給你記錄的高峰授權(quán)能力增加 10% 的額外能力利用率,并像 VIOS 賦權(quán)能力一樣使用總能力。
- 設(shè)置 VIOS 分區(qū)類型為高非受限權(quán)重的非授權(quán)共享處理器分區(qū)。
在基于 POWER6 處理器的服務(wù)器上使用一個(gè)有共享專用 VIOS 能力的專用處理器分區(qū)。一個(gè)基于 POWER6 服務(wù)器的新功能,可以共享專用能力??梢允箤S锰幚砥鞣謪^(qū)貢獻(xiàn)多余的處理器周期給專用處理器分區(qū)共享池,并因此提高整個(gè)系統(tǒng)的性能。那些貢獻(xiàn)了處理器周期的專用分區(qū)有使用這些周期的優(yōu)先權(quán);而共享只有當(dāng)專用分區(qū)沒有使用它的全部資源的時(shí)候才發(fā)生。
經(jīng)常監(jiān)視 VIOS 處理器需求,尤其在 DB2 改變了 I/O 或者存儲(chǔ)特征,像緩沖池大小和表空間頁大小后。不同程度的改變 DB2 I/O 或存儲(chǔ)特征會(huì)對存儲(chǔ)系統(tǒng)帶來不同的壓力,也可能造成 VIOS 需要更多或更少處理器能力。
通常情況下,對任何分區(qū)而言一個(gè)虛擬處理器不能跨多個(gè)物理處理器:也就是,一個(gè)虛擬處理器不能使用超過一個(gè)物理處理器。對 VIOS 也是一樣。在這種情況下 VIOS 需要比當(dāng)前的配置虛擬處理器數(shù)目更多授權(quán)能力,你可以通過使用 DLPAR 服務(wù),分配一個(gè)額外的虛擬處理器給 VIOS 分區(qū)。
虛擬 I/O 客戶端分區(qū)通過使用虛擬 SCSI 適配器完成 I/O。和實(shí)際的物理適配器一樣,你能通過使用 AIX 5Lv5.3 TL05 或以后版本中的 queue_depth參數(shù)調(diào)來整虛擬 SCSI 適配器。請對虛擬 SCSI 客戶端分區(qū)適配器設(shè)置正確的 queue_depth值。為了在 VIOS 給一個(gè)物理適配器設(shè)置正確的 queue_depth 值,我們對在客戶端分區(qū)和 VIOS 中的多個(gè)虛擬 SCSI 適配器上進(jìn)行測試(包括對 DB2 事務(wù)日志使用專用虛擬 SCSI 適配器以及每個(gè)表空間使用專用虛擬 SCSI 適配器),結(jié)果顯示使用一個(gè)虛擬適配器和多個(gè)虛擬適配器在性能上沒有區(qū)別。
網(wǎng)絡(luò)類型
虛擬 I/O 支持兩種類型的虛擬網(wǎng)絡(luò)結(jié)構(gòu)。SEA(SEA 需要一個(gè) VIOS),或者干線適配器這適合很多使用單個(gè)物理以太網(wǎng)適配器來連接公共網(wǎng)絡(luò)的客戶端分區(qū)。其他虛擬網(wǎng)絡(luò)接口類型叫做虛擬以太網(wǎng),它提供了系統(tǒng)分區(qū)間的快速通信。例如,你可以使用虛擬以太網(wǎng)來提供系統(tǒng)分區(qū)間的快速連接。例如,你能使用虛擬以太網(wǎng)在 n 層工作負(fù)載、DB2 產(chǎn)品、和 WebSphere 應(yīng)用服務(wù)器之間提供快速連接。虛擬以太網(wǎng)接口不需要物理適配器、電纜,甚至不需要 VIOS。虛擬以太網(wǎng)那個(gè)是 PHYP 提供服務(wù)并使用 PHYP 內(nèi)存。
通常,高速、無損、在內(nèi)存中的連接、通過虛擬網(wǎng)絡(luò)接口來使用客戶端分區(qū)處理器周期來進(jìn)行網(wǎng)絡(luò)通訊會(huì)更快。但是,這兩種類型虛擬網(wǎng)絡(luò)接口都需要使用客戶端分區(qū)的處理器周期來進(jìn)行網(wǎng)絡(luò)通訊。我們設(shè)計(jì)了下面的測試,對于已經(jīng)在表 1 中勾畫出了使用測試環(huán)境的輪廓,比起客戶端工作負(fù)載產(chǎn)生器運(yùn)行在同一個(gè)分區(qū),我們在分區(qū)間進(jìn)行交叉連接,這樣他們就像兩個(gè)分區(qū)和 4 跟分區(qū)情況下的多個(gè)客戶端工作負(fù)載產(chǎn)生器。我們從客戶端連接 DB2 服務(wù)器時(shí)使用任何一個(gè)物理千兆以太網(wǎng)適配器或一個(gè)虛擬以太網(wǎng)接口,并且我們計(jì)算了每個(gè)分區(qū)的吞吐量。
物理網(wǎng)卡和虛擬以太網(wǎng)接口在事務(wù)吞吐量方面沒有任何差別。注意,這個(gè)測試沒有涉及 VIOS,因?yàn)樘摂M以太網(wǎng)不需要它。
工作負(fù)載管理設(shè)置
為了在不使其負(fù)擔(dān)過重的情況下降低管理 IT 設(shè)施的成本,工作負(fù)載管理涉及 了一個(gè)非常復(fù)雜的 IT 策略(用來處理工作負(fù)載需求的動(dòng)態(tài)性質(zhì))。工作負(fù)載管理的關(guān)鍵是平衡工作負(fù)載并給高優(yōu)先級(jí)的應(yīng)用程序分配資源以達(dá)到服務(wù)層面協(xié)議(SLAs)
虛擬化提供了很多級(jí)別的工作負(fù)載管理功能。你能改變內(nèi)存總量、非受限權(quán)重、賦權(quán)能力、和使用 DLPAR 服務(wù)動(dòng)態(tài)使用的虛擬處理器數(shù)目,不需要重啟操作系統(tǒng)或 DB2 服務(wù)器。你可以通過 HMC 訪問 DLPAR 服務(wù),要么直接使用 WebSM,或者來自網(wǎng)絡(luò)任何一個(gè)地方的一個(gè)遠(yuǎn)程 shell 調(diào)用。當(dāng)你啟用了 DB2 STMM 功能與 DLPAR 服務(wù),STMM 功能自動(dòng)理性地改變內(nèi)存使用并能調(diào)整 DB2 堆以最大化性能。更多關(guān)于 STMM 以及它帶來的好處信息請參見“最佳實(shí)踐:工作負(fù)載管理”。
另外,如前面提到的,一個(gè)非受限共享處理器分區(qū)能非常有效的處理高度動(dòng)態(tài)或不可預(yù)知的工作負(fù)載。當(dāng)這個(gè)運(yùn)行 DB2 產(chǎn)品的分區(qū)的非受限權(quán)重設(shè)置高于其他分區(qū)時(shí),這個(gè)分區(qū)具有在分配空閑處理器能力的最高優(yōu)先權(quán)。
在剛剛提到的工作負(fù)載管理能力之外,IBM 提供了 IBM Tivoli Intelligent Orchestrator 工作流以提供和優(yōu)化 IT 基礎(chǔ)設(shè)施。另外還提供了,IBM Enterprise Workload Management (EWLM), 一個(gè)端到端的 IT 資源優(yōu)化解決方案。更多關(guān)于對 DB2 產(chǎn)品使用 EWLM 信息參見“工作負(fù)載管理”文章。
總結(jié)
建議和最佳實(shí)踐 |
邏輯分區(qū)類型選擇
- 使用共享處理器分區(qū)來增加處理器利用率并提供更多的彈性。如果工作負(fù)載不可預(yù)知,使用非受限共享處理器分區(qū)將非常有效。
- 為了最佳的平衡性能,虛擬處理器的數(shù)目不要高于每 1.00 授權(quán)能力 2 個(gè)虛擬處理器。不要改變 schedo 配置參數(shù) vpm_xvcpus 的默認(rèn)值為 0。
- 為了最大化整個(gè)系統(tǒng)的處理器利用率,把虛擬處理器的數(shù)目設(shè)置為授權(quán)能力可用值??捎玫氖跈?quán)能力是當(dāng)前分區(qū)的授權(quán)能力(CEC)和符合條件的空閑共享能力(FPC)的總和。
- 為了管理不可預(yù)知工作負(fù)載,通過把非受限權(quán)重設(shè)置高于其他分區(qū)來確定非授權(quán)共享處理器分區(qū)優(yōu)先級(jí)。
- 通過 DLPAR 服務(wù)你可以改變內(nèi)存總量、非受限權(quán)重、賦權(quán)能力、和虛擬處理器的數(shù)目。你能通過一些工作負(fù)載提供工具自動(dòng)化這些設(shè)置,包括 Tivoli Intelligent Orchestrator。
磁盤 I/O 的類型選擇
- 虛擬 I/O 使其能有比物理槽和適配器多的分區(qū)。
- 一個(gè)虛擬 SCSI 客戶端適配器對于任何數(shù)目的磁盤 I/O 操作來說都足夠了。測試結(jié)果顯示僅使用一個(gè)虛擬適配器和使用多個(gè)虛擬適配器在性能上沒有任何區(qū)別。
- 虛擬 I/O 使用較少物理資源來固化、服務(wù)于多個(gè)分區(qū)并能明顯的降低硬件和管理成本。
- 要使用虛擬磁盤 I/O 你必須安裝并運(yùn)行一個(gè) VIOS。VIOS 本身需要的資源不多,內(nèi)存的需求非常固定。VIOS 主要的處理器需求來自于磁盤 I/O 操作的個(gè)數(shù)。
- 給一個(gè)非受限共享處理器分區(qū)設(shè)置具有最高非受限權(quán)重的 VIOS 分區(qū)類型,VIOS 將因此而得到它所請求的任何處理器能力,甚至在不可預(yù)知的動(dòng)態(tài)工作負(fù)載情況下也是如此。
虛擬網(wǎng)絡(luò)選擇
- 你可以使用 SEA 功能來在多個(gè)客戶端分區(qū)之間只共享一個(gè)物理網(wǎng)絡(luò)適配器。SEA 需要一個(gè) VIOS 和最少一個(gè)物理以太網(wǎng)絡(luò)適配器來連接公網(wǎng)。
- 你能使用虛擬以太網(wǎng)絡(luò)適配器接口來高速、無損、可靠的進(jìn)行分區(qū)見連接。虛擬以太網(wǎng)絡(luò)接口不需要物理網(wǎng)絡(luò)適配器、網(wǎng)線、也不需要 VIOS。
- 在事務(wù)中沒有發(fā)現(xiàn)在物理網(wǎng)絡(luò)接口和虛擬網(wǎng)絡(luò)接口之間在吞吐量上有任何不同。
工作負(fù)載管理設(shè)置
- 使用 DLPAR 服務(wù)可以在不需要重啟操作系統(tǒng)或 DB2 服務(wù)器的情況下動(dòng)態(tài)改變內(nèi)存總量、非受限權(quán)重、賦權(quán)能力、和虛擬處理器的個(gè)數(shù)。
- 使用一個(gè)非受限共享處理器分區(qū)以有效處理高度動(dòng)態(tài)或不可預(yù)知的工作負(fù)載。給 DB2 運(yùn)行的分區(qū)設(shè)置比其他分區(qū)更高的非受限權(quán)重。
|
System p 虛擬化提供了一批分區(qū)和管理功能,像 LPARs、DLPAR 服務(wù)、以及虛擬 I/O、在它之下你能試試 SEA、虛擬網(wǎng)絡(luò)、虛擬 SCSI、或 VLAN。共享處理器分區(qū)讓你能創(chuàng)建一個(gè) LPAR 讓它只使用 0.10 個(gè)處理器。DLPAR 服務(wù)讓你能在運(yùn)行時(shí)更改 LPAR 資源(處理器、內(nèi)存、和 I/O 槽)而不需要重啟操作系統(tǒng)。
DB2 數(shù)據(jù)庫服務(wù)器的多功能性和可能的與 System p 虛擬功能的多種組合幫助 DB2 應(yīng)用程序在很多情況下以最佳的方式運(yùn)行。System p 虛擬化技術(shù)能配置為同時(shí)兼顧計(jì)算機(jī)系統(tǒng)和商業(yè)利益,這包括在低成本情況下的高性能、工作負(fù)載隔離、資源分區(qū)、最大化資源利用率、以及高可用性。這個(gè)技術(shù)降低總擁有成本(TCO)同時(shí)增強(qiáng)可擴(kuò)充能力、可擴(kuò)展性、可靠性、可用性和耐用性。
本文中最精華的一課我們已經(jīng)通過我們自己的測試學(xué)習(xí)過了。這些最佳實(shí)踐為我們使用有 System p 虛擬化的 DB2 產(chǎn)品提供了一個(gè)非常好的起點(diǎn)。你可以利用它們幫助你避免常見的錯(cuò)誤,并更好調(diào)整你的基礎(chǔ)架構(gòu)以達(dá)到你 IT 環(huán)境和商業(yè)利益的目標(biāo)。在把它們應(yīng)用到你的生產(chǎn)系統(tǒng)中之前,請先驗(yàn)證這些最佳實(shí)踐的適用性,建立一個(gè)底線并對多個(gè)虛擬化功能進(jìn)行充分的測試。
|