專利名稱:從源物理適配器向目的物理適配器遷移虛擬適配器的方法、裝置和計算機可用程序代碼的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的涉及數(shù)據(jù)處理系統(tǒng),更具體地,涉及包括已經(jīng)虛擬化的物 理適配器的數(shù)據(jù)處理系統(tǒng)。更具體地,本發(fā)明涉及在數(shù)據(jù)處理系統(tǒng)中的計 算機實現(xiàn)的方法、裝置和計算機可用程序代碼,在所述數(shù)據(jù)處理系統(tǒng)中多
個主計算機系統(tǒng)共享多個適配器并通過PCI交換結(jié)構(gòu)總線與這些適配器通 信,所述PCI交換結(jié)構(gòu)(switched-fabric)總線用于從源物理適配器向目 的物理適配器遷移虛擬適配器。
背景技術(shù):
傳統(tǒng)PCI總線是允許將擴展卡安裝在單計算機系統(tǒng)(例如個人計算機) 中的局部并行總線。然后,將PCI兼容適配器卡與PCI總線耦合,以向計 算機系統(tǒng)添加輸A/輸出(1/0)設(shè)備,例如盤驅(qū)動器或其他設(shè)備。需要PCI 橋接器/控制器,以將PCI總線連接至計算機系統(tǒng)的系統(tǒng)總線。PCI總線可 通過PCI橋接器/控制器與安裝有PCI總線的計算機系統(tǒng)的CPU通信。在 單計算機系統(tǒng)中可存在多個PCI橋接器。然而,這些PCI橋接器用于將多 個PCI總線與安裝有PCI總線的計算機系統(tǒng)的CPU耦合。如果單計算機 系統(tǒng)包括多個CPU,則可通過單計算機系統(tǒng)的多個CPU來使用PC1總線。
PCI Express ( PCI-E )總線提供了與PCI軟件環(huán)境兼容的遷移路徑。 除了提供最優(yōu)帶寬、性能以及總線寬度和總線頻率的可測量性之外,PCI Express還提供了其他改進特征。這些特征包括QoS(服務(wù)質(zhì)量)、積極 功率管理、本地?zé)岵灏?、每針腳帶寬效率、錯誤報告、恢復(fù)和糾正和創(chuàng)新 的波形因數(shù),并且滿足逐漸增加的復(fù)雜功能的需要,例如點對點傳輸和動
態(tài)重新配置。PCI Express還能夠通過少量的針腳數(shù)和配線實現(xiàn)產(chǎn)品的低 成本設(shè)計。線性標(biāo)度的16-lane的PCI Express互連可提供大于每秒8千兆 的數(shù)據(jù)傳輸速率。
在PCI Express計算環(huán)境中的主計算機系統(tǒng)典型地具有PCI到主橋功 能,其通常已知為才娥合體(root complex)。根聯(lián)合體橋接在CPU總線 (例如超傳輸)和PCI-E總線之間。如果必要,可以在根聯(lián)合體中執(zhí)行其 他功能,例如地址轉(zhuǎn)換。包含一個或多個根功能的多個主機稱為多根系統(tǒng)。
現(xiàn)今,PCI-E總線不允許在多個獨立計算機系統(tǒng)之間共享PCI適配器。 例如,PCI適配器不能夠由多個服務(wù)器計算機系統(tǒng)共享。因此,在使用PCI 總線的現(xiàn)有計算機系統(tǒng)中,物理I/O適配器不能夠被以下系統(tǒng)共享,包括 a )在單根環(huán)境中作為1/0設(shè)備的唯一所有者的主機操作系統(tǒng)或訪^作系 統(tǒng);或b)在多根環(huán)境中作為1/0設(shè)備的唯一所有者的單操作系統(tǒng)或訪客 操作系統(tǒng)。單1/Oi殳備不能夠被單根環(huán)境中的多個訪客操作系統(tǒng),或多根 情況下多個主機上的多個訪M作系統(tǒng)共享。
此外,現(xiàn)有PCI環(huán)境不允許物理I/O適配器的虛擬化。目前,1/0設(shè) 備不能夠在標(biāo)準(zhǔn)PCI或PCI Express數(shù)據(jù)處理系統(tǒng)中虛擬化。由于在已知 計算機系統(tǒng)中不存在虛擬I/O適配器,所以已知計算機系統(tǒng)也不允許從源 物理適配器向目的物理適配器遷移虛擬I/O適配器。
在不使用PCI環(huán)境的已知系統(tǒng)中,可將輔助物理適配器設(shè)計為用于主 物理適配器的失敗轉(zhuǎn)移設(shè)備。在這些系統(tǒng)中,當(dāng)主物理適配器出現(xiàn)故障時, 可使用輔助物理適配器代替主適配器。然而,這些不涉及虛擬適配器。在 這些系統(tǒng)中,^使用一個物理適配器代替出現(xiàn)故障的物理設(shè)備。用輔助物理 適配器代替整個主物理適配器。在這些系統(tǒng)中不存在遷移。存在對于一個 設(shè)備用另一個設(shè)備的代替。此外,代替設(shè)備(即,輔助物理適配器)完全 代替整個主設(shè)備(即,主物理適配器)。因此,需要一種在數(shù)據(jù)處理系統(tǒng) 中從源物理適配器向目的物理適配器遷移虛擬實體(還稱為虛擬適配器) 的計算機實現(xiàn)的方法、裝置和計算機可用程序代碼,在所述數(shù)據(jù)處理系統(tǒng) 中多個主計算^L系統(tǒng)共享多個適配器并通過PCI交換結(jié)構(gòu)總線與這些適配
器通信。
發(fā)明內(nèi)容
公開一種計算機實現(xiàn)的方法、裝置和計算機可用程序代碼,用于在數(shù) 據(jù)處理環(huán)境中從源物理適配器向目的物理適配器遷移虛擬適配器,在數(shù)據(jù)
處理環(huán)境中多個主計算;f幾系統(tǒng)共享多個適配器并通過PCI交換結(jié)構(gòu)總線與 那些適配器通信。首先使得虛擬適配器停止處理事務(wù)。這樣,使得虛擬適 配器離線。然后,捕獲與所述虛擬適配器相關(guān)的所有進行中事務(wù)。從所述 源物理適配器向所述目的物理適配器轉(zhuǎn)移用以定義虛擬適配器的配置信 息。然后,將進行中事務(wù)恢復(fù)到它們原始位置。 一旦虛擬適配器轉(zhuǎn)移到目 的物理適配器時,將在虛擬適配器位于源物理適配器中時從虛擬適配器捕 獲的進行中事務(wù)恢復(fù)到虛擬適配器。因此,將來自虛擬適配器的進行中事 務(wù)恢復(fù)到目的物理適配器。然后,在所述目的物理適配器上重啟所述虛擬 適配器,從而所述虛擬適配器開始處理事務(wù)。
現(xiàn)在參照附圖,僅通過實例描述本發(fā)明,其中
圖l是根據(jù)本發(fā)明示例性實施例的分布式計算系統(tǒng)的示圖2是包括本發(fā)明示例性實施例的邏輯分區(qū)平臺的框圖3是用于實現(xiàn)根據(jù)本發(fā)明示例性實施例這里所示的任意數(shù)據(jù)處理系
統(tǒng)的數(shù)據(jù)處理系統(tǒng)框圖4示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,即在根據(jù)本發(fā)明
示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器之
前,計算機系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如I/O適配器)耦合
的數(shù)據(jù)處理環(huán)境;
圖5示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,其中在根據(jù)本發(fā) 明示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器之 后,在遷移之后沒有重新配置虛擬適配器和物理適配器的情況下,計算機
系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如I/O適配器)耦合的數(shù)據(jù)處理 環(huán)境;
圖6示出示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,即在根據(jù)本 發(fā)明示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器 之后,在遷移之后至少重新配置某些虛擬適配器和/或物理適配器的情況 下,計算機系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如I/O適配器)耦合 的數(shù)據(jù)處理環(huán)境;和
圖7A和7B示出高級流程圖,其描述才艮據(jù)本發(fā)明示例性實施例從源物 理適配器向目的物理適配器遷移特定虛擬適配器。
本發(fā)明的示例性實施例應(yīng)用于多個主計算機系統(tǒng)通過共同I/O結(jié)構(gòu)共 享I/O適配器(IOA)池的任意通用計算系統(tǒng)或?qū)S糜嬎阆到y(tǒng)。在優(yōu)先實 施例中,該結(jié)構(gòu)是符合PCI Express標(biāo)準(zhǔn)的設(shè)備集。
在本發(fā)明的示例性實施例中,PCI Express I/O結(jié)構(gòu)與多個主計算機系 統(tǒng)以及多個I/O適配器連接,從而多個不同主計算機系統(tǒng)可與其他主計算 機系統(tǒng)共享I/O適配器??蓪ξ锢磉m配器虛擬化,從而對一個或多個主計 算機系統(tǒng)邏輯分配所有或部分的物理適配器。每一個虛擬適配器在其主計 算機系統(tǒng)看來是單獨的和獨立的物理適配器。這樣,被邏輯分成多個虛擬 適配器的物理適配器類似于幾個不同的和獨立的物理適配器一樣操作。
可將每一個虛擬適配器分配給相同的或不同的主計算機系統(tǒng)。對于本 領(lǐng)域普通技術(shù)人員,虛擬適配器還已知但不限于虛擬實體或虛擬功能。例 如,可將特定物理適配器邏輯分成3個虛擬適配器??蓪⑦@些虛擬適配器 中的每一個分配給相同或不同主計算機系統(tǒng)。
期望將特定虛擬適配器從其源物理適配器向不同的物理適配器遷移, 以提高性能、保證適配器的高實用性、復(fù)制系統(tǒng)、或平衡在物理適配器之 間的工作量。根據(jù)優(yōu)先實施例,可將虛擬適配器從其源物理適配器向目的 物理適配器遷移。使用配置信息來定義虛擬適配器。對于特定虛擬適配器
的配置信息包括定義在物理適配器中的特定虛擬適配器所需的所有信息。 當(dāng)將虛擬適配器的配置信息復(fù)制到物理適配器時,物理適配器將具有其所 需的任何信息,以包括在物理適配器中的虛擬適配器。當(dāng)將虛擬適配器的 配置信息復(fù)制到物理適配器時,然后將虛擬適配器配置在物理適配器中并 且完全可用。
源硬件和目的硬件需要是相同的版本。然后,配置狀態(tài)的"保存/恢復(fù)" 處理僅是告訴適配器"準(zhǔn)備遷移"的事件,或者換句話說,將你的狀態(tài)轉(zhuǎn)
移到源i殳備狀態(tài)準(zhǔn)備區(qū)(staging area)。 然后,非特定設(shè)備的遷移代碼檢 查以看出兩個適配器的配置空間從而識別相同的設(shè)備。然后,代碼簡單地 將狀態(tài)從源物理適配器的狀態(tài)準(zhǔn)備區(qū)復(fù)制到目的物理適配器。
對于虛擬適配器的配置狀態(tài)進行"集裝",并且其可包含虛擬適配器 需要的任何信息。遷移代碼不知道在整個范圍內(nèi)什么在移動。所集裝的配 置狀態(tài)可包含由虛擬適配器創(chuàng)建的信息,例如,I/O虛擬適配器上的進行 中(in-flight)事務(wù)和登記值,例如虛擬適配器功能的開/關(guān)切換。
在從源物理適配器向目的物理適配器遷移狀態(tài)之前,示例性實施例使 得虛擬I/O適配器i^控制處理停止。在上下文中,進行中事務(wù)或數(shù)據(jù)指 的是當(dāng)前在適配器隊列、結(jié)構(gòu)設(shè)備隊列、和/或主計算機系統(tǒng)隊列中的事務(wù)。 進行中事務(wù)是要遷移的重要狀態(tài)。
為了對物理適配器虛擬化以包括特定虛擬適配器,在目標(biāo)物理適配器 中恢復(fù)配置信息(還稱為配置狀態(tài))。目標(biāo)虛擬適配器的恢復(fù)處理必須恢 復(fù)已經(jīng)向其目的i殳備狀態(tài)準(zhǔn)備區(qū)復(fù)制的集裝的狀態(tài)?;謴?fù)處理系統(tǒng)地恢復(fù) 對于目標(biāo)虛擬適配器的狀態(tài)。然后,恢復(fù)PCI配置信息。在虛擬適配器、 結(jié)構(gòu)設(shè)備、和/或主計算機系統(tǒng)上對進行中事務(wù)排隊。在虛擬適配器中恢復(fù) 適配器特定配置(例如可實現(xiàn)適配器上的校驗和的開/關(guān)功能切換、不同網(wǎng) *質(zhì)速度和圖形分辨率)。
系統(tǒng)管理員可選^%要從其源物理適配器向目的物理適配器遷移的特定 虛擬適配器。優(yōu)選地,啟動PCI管理器,然后使得特定虛擬適配器停止執(zhí) 行事務(wù)。在數(shù)據(jù)處理系統(tǒng)中的所有剩余"i殳備(包括所有剩余虛擬適配器、
所有物理適配器、所有主計算機系統(tǒng)和結(jié)構(gòu))繼續(xù)處理和執(zhí)行事務(wù)。如果 特定虛擬適配器包括在還包括有其他虛擬適配器的源物理適配器中,則這 些其他虛擬適配器將繼續(xù)處理。
然后,PCI管理器捕獲與該特定虛擬適配器相關(guān)的所有進行中事務(wù),
并將它們存儲到遷移存儲區(qū)中的物理適配器上。當(dāng)事務(wù)從該特定虛擬適配 器發(fā)送或由該特定虛擬適配器接收時,進行中事務(wù)與該特定虛擬適配器相 關(guān)。典型地,當(dāng)這些事務(wù)中的源地址或目的地址是虛擬適配器的地址時, 可識別這些事務(wù)。如果事務(wù)包括該特定虛擬適配器作為事務(wù)的源地址或目 的地址,則該事務(wù)是與該虛擬適配器相關(guān)的事務(wù)。進行中事務(wù)是位于數(shù)據(jù) 處理系統(tǒng)或主計算機系統(tǒng)的設(shè)備中的隊列中的事務(wù),所述數(shù)據(jù)處理系統(tǒng)包
括物理適配器、虛擬適配器、結(jié)構(gòu)il備(例如PCI橋接器或交換器)。
將進行中事M存在數(shù)據(jù)處理系統(tǒng)中的每一個設(shè)備中包括的隊列中。 主計算才幾系統(tǒng)、虛擬和物理I/O適配器和所述結(jié)構(gòu)中的i殳備都包括隊列。 PCI管理器通過從隊列復(fù)制事務(wù)和將它們存儲到存儲裝置中來捕獲與特定 虛擬適配器相關(guān)的進行中事務(wù)。優(yōu)選地,存儲裝置位于物理適配器遷移存 儲區(qū)中,盡管它可位于數(shù)據(jù)處理系統(tǒng)中的任何位置。當(dāng)從隊列復(fù)制這些事 務(wù)時,從這些事務(wù)的原始隊列刪除這些事務(wù),從而它們不能被處理。
然后,PCI管理器獲得特定虛擬適配器的配置信息。該配置信息可位 于其中包括虛擬適配器的源物理適配器中,或者可位于數(shù)據(jù)處理系統(tǒng)中的 其他位置的存儲裝置中。代替配置信息本身,可在源物理適配器中存儲用 以指向配置信息位置的指針。
然后,PCI管理器分配虛擬適配器的配置信息,并將其與目的物理適 配器中可用的資源相比較。如果目的物理適配器包括足夠支持特定虛擬適 配器的可用資源,則可通過對目的物理適配器的配置添加特定虛擬適配器 的配置的方式來遷移特定虛擬適配器。將所集裝的數(shù)據(jù)從源1/Oi殳備準(zhǔn)備 區(qū)復(fù)制到目的1/0設(shè)備準(zhǔn)備區(qū)。然后,恢復(fù)處理需要從目的I/O設(shè)備準(zhǔn)備 區(qū)向上述目的設(shè)備正確恢復(fù)數(shù)據(jù)。存在向源準(zhǔn)備區(qū)的保存功能、向模板準(zhǔn) 備區(qū)的復(fù)制、和通過恢復(fù)處理從目的準(zhǔn)備區(qū)的恢復(fù)。
然后,PCI管理器通過從存儲裝置向原始存儲進行中事務(wù)的隊列復(fù)制
這些事務(wù)的方式來存儲這些事務(wù)。對于進行中事務(wù)唯一例外的是,它們初 始存儲在源虛擬適配器隊列中。將從源虛擬適配器隊列復(fù)制的任意進行中
事務(wù)恢復(fù)到目的虛擬適配器隊列。然后,PCI管理器重啟在目的物理適配 器中當(dāng)前位于目的物理適配器上的特定虛擬適配器。PCI通過向特定虛擬
適配器發(fā)送設(shè)置為遷移比特的命令以開始執(zhí)行事務(wù)方式重啟特定虛擬適配 器。
然后,PCI管理器辨,放已經(jīng)對特定虛擬適配器分配的源物理適配器上
的資源。物理適配器具有有限的一組真實的、固定的資源。在物理適配器 中包括的虛擬適配器共享該物理適配器資源。當(dāng)釋放虛擬適配器時,將其 使用的資源給回該特定物理適配器的資源池。如上所述,這種共享可以是
"硬的",意思是虛擬適配器僅獲得對其所分配的;或者是"軟的",意 思是允許虛擬設(shè)備獲得對其分配的資源加上未用的共享。在"石更的"情況 下,當(dāng)對于在該物理適配器上包括的虛擬適配器運行"釋放資源"處理時, 將物理適配器的資源(例如,存儲器、帶寬和時間片)給回物理適配器上 的可用池。
特定虛擬適配器可以在其原始配置狀態(tài)下遷移,或者可以在其實施和 包括在目的物理適配器中之前修改。如果在目的適配器中存在足夠的物理 資源以支持在其原始狀態(tài)下的虛擬適配器,則虛擬適配器可以在其原始狀 態(tài)下遷移。在這種情況下,在虛擬適配器遷移之后其具有與在其遷移之前 相同的配置。因此,虛擬適配器在目的物理適配器上的配置與在源物理適 配器上的配置相同。
如果在目的適配器中不存在足夠的物理資源以支持在其原始狀態(tài)下的 虛擬適配器,則可修改虛擬適配器的配置。即使在目的適配器中存在足夠 的可用資源時,系統(tǒng)管理員也可以在其遷移時,選擇4務(wù)改虛擬適配器。
在遷移期間修改虛擬適配器的配置的情況下,在遷移之后虛擬適配器 具有不同的配置。例如,如果在源物理適配器中已對虛擬適配器授權(quán)了特 定帶寬,但是該帶寬在目的物理適配器中不可用,可修改虛擬適配器的配
置,從而一旦遷移到目的物理適配器時虛擬適配器將具有更小的帶寬。
現(xiàn)在參照附圖,具體地參照圖1,才艮據(jù)本發(fā)明示例性實施例的優(yōu)選實
施例示出分布式計算系統(tǒng)100的示圖。圖1中所示的分布式計算系統(tǒng)釆用 2個或更多根聯(lián)合體(RC) 108、 118、 128、 138和139的形式,它們通過 I/O鏈路110、 120、 130、 142和143與I/O結(jié)構(gòu)144連接,以及與才艮節(jié)點 (RN) 160-163的存儲控制器104、 114、 124和134連接。
根聯(lián)合體包括在根節(jié)點中。典型地,主計算機系統(tǒng)具有PCI到主橋功 能,其通常已知為根聯(lián)合體。根聯(lián)合體橋接在CPU總線(例如超傳輸)和 PCI總線之間。如果必要,可以在#^合體中執(zhí)行其他功能,例如地址轉(zhuǎn) 換。包含一個或多個,合體功能的多個主機稱為多根系統(tǒng)。根聯(lián)合體橋 接在CPU總線(例如超傳輸)和PCI總線之間。如果必要,可以在4Mi 合體中執(zhí)行其他功能,例如地址轉(zhuǎn)換。包含一個或多個+艮聯(lián)合體功能的多 個主機稱為多根系統(tǒng)。
根聯(lián)合體包括在根節(jié)點中。才m合體是完整的計算機系統(tǒng),例如服務(wù)
器計算機系統(tǒng)。這里,根聯(lián)合體還稱為主聯(lián)合體。
根節(jié)點是完整的計算機系統(tǒng),例如服務(wù)器計算機系統(tǒng)。這里,根節(jié)點 還稱為主節(jié)點。
I/O結(jié)構(gòu)通過鏈路151-158與IOA 145-150連接。IOA可以是單功能 IOA,例如145-146和149中的IOA,或者可以是多功能IOA,例如在 147-148和150中的IOA。此外,IOA可經(jīng)由單鏈路連接至I/O結(jié)構(gòu),例 如145-148中的IOA,或通過用于冗余的多鏈路連接至I/O結(jié)構(gòu),例如在 149-150中的IOA。
RC 108、 118、 128、 138和139是RN 160-163的一部分。對于每一個 RN可以有多個RC,例如RN 163。除了RC之外,每一個RN還包括 一個或多個中央處理單元(CPU) 101-102、 111-112、 121-122、 131-132, 存儲器103、 113、 123和133,存儲控制器104、 114、 124和134,所述存 儲控制器連接CPU、存儲器和I/0 RC,并執(zhí)行例如處理存儲器的一致性 通信的這種功能。
RN可在它們的存儲控制器連接在一起159,以形成一個一致性域并且 可用作單對稱多處理(SMP)系統(tǒng),或者可以成為具有單獨一致性域的獨 立節(jié)點,例如RN 162-163中。
配置管理器164在這里還稱作PCI管理器。PCI管理器164可單獨地 與I/O結(jié)構(gòu)144連接,或者可以是RN 160-163中的一個RN的一部分。例 如,如圖4-6所示,PCI管理器(例如PCI管理器466)可包括在計算機 系統(tǒng)402中。配置管理器配置I/0結(jié)構(gòu)的共享資源,并對RN分配資源。
分布式計算系統(tǒng)100可使用各種商業(yè)可用的計算機系統(tǒng)來實現(xiàn)。例如, 分布式計算系統(tǒng)100可使用來自國際商業(yè)才幾器^>司的IBM eServer iSeries Model 840來實現(xiàn)。這種系統(tǒng)可4吏用同樣來自國際商業(yè)機器^^司的OS/400 操作系統(tǒng)支持邏輯分區(qū)。
本領(lǐng)域普通技術(shù)人員可理解,圖1中所示的硬件可以改變。例如,除 了所示的硬件之外或代替所示的硬件,還可以使用其他外圍設(shè)備,例如光 盤驅(qū)動器等。所示的實例并沒有暗示對于本發(fā)明示例性實施例的結(jié)構(gòu)限制。
現(xiàn)在,參照圖2,描述可實現(xiàn)本發(fā)明示例性實施例的示例性邏輯分區(qū) 平臺的框圖。在邏輯分區(qū)平臺200中的石更件例如可作為圖1中的分布式計 算系統(tǒng)100來實現(xiàn)。邏輯分區(qū)平臺200包括分區(qū)硬盤"0、操作系統(tǒng)202、 204、 206、 208和分區(qū)管理固件210。
操作系統(tǒng)202、 204、 206和208可以是單操作系統(tǒng)或在邏輯分區(qū)平臺 200上同時運行的多個異構(gòu)操作系統(tǒng)的多個副本。這些系統(tǒng)可使用對分區(qū) 管理固件(例如管理程序)的接口而設(shè)計的OSM00來實現(xiàn)。OSM00僅用 作在這些示例性實施例中的實例。也可以根據(jù)特定實現(xiàn)使用其他類型的操 作系統(tǒng),例如AIX和Linux。
操作系統(tǒng)202、 204、 206和208位于分區(qū)203、 205、 207和209中。 管理程序軟件是可用于實現(xiàn)分區(qū)管理固件210的軟件實例,其來自國際商 業(yè)機器公司。固件是在不需要電力情況下保存其內(nèi)容的存儲芯片(例如, 只讀存儲器(ROM)、可編程ROM (PROM)、可擦除可編程ROM (EPROM)、電可擦除可編程ROM (EEPROM)和非易失性隨^#取
存儲器(非易失性RAM))中存儲的"軟件"。
此外,這些分區(qū)還包括分區(qū)固件211、 213、 215和217。分區(qū)固件211、 213、 215和217可使用來自國際商業(yè)機器公司的初始引導(dǎo)指令碼、 IEEE-1275標(biāo)準(zhǔn)開放式固件和運行時抽象軟件(RTAS)來實現(xiàn)。
當(dāng)創(chuàng)建分區(qū)203、 205、 207和209時,通過平臺固件210將引導(dǎo)指令 碼的副本加載到分區(qū)203、 205、 207和209上。之后,將控制轉(zhuǎn)移到引導(dǎo) 指令碼,然后通過引導(dǎo)指令碼加載開放式固件和RTAS。然后,對分區(qū)存 儲器分派與分區(qū)關(guān)聯(lián)的或分配給分區(qū)的處理器,以執(zhí)行分區(qū)固件。
分區(qū)硬件230包括多個處理器232-238、多個系統(tǒng)存儲單元240-246、 多個IOA 248-262、 NVRAM存儲裝置298和存儲單元270??蓪⑻幚砥?232-238、存儲單元240-246、 NVRAM存儲裝置298和IOA 248-262中的 每一個或其一部分通過向多個分區(qū)中的一個分配的方式而分區(qū)給邏輯分區(qū) 平臺200中多個分區(qū)中的一個,每一個被分區(qū)的資源對應(yīng)于操作系統(tǒng)202、 204、 206和208中的一個。
分區(qū)管理固件210執(zhí)行用于分區(qū)203、 205、 207和209的多個功能和 服務(wù)以創(chuàng)建和強制執(zhí)行邏輯分區(qū)平臺200的分區(qū)。分區(qū)管理固件210是與 底層硬件相同的固件實現(xiàn)的虛擬機器。因此,分區(qū)管理固件210允許通過 對邏輯分區(qū)平臺200的硬件資源虛擬化的方式同時執(zhí)行獨立OS映像202、 204、 206和208。
服務(wù)處理器2卯可用于提供各種服務(wù),例如在分區(qū)中平臺錯誤的處理。 這些服務(wù)還用作向商家(例如國際商業(yè)機器公司)報告錯誤的服務(wù)代理。 可通過硬件管理控制臺(例如硬件管理控制臺280 )控制不同分區(qū)的操作。 硬件管理控制臺280是系統(tǒng)管理員從中執(zhí)行各種功能(包括向不同分區(qū)重 新分配資源)的單獨分布式計算系統(tǒng)。
在邏輯分區(qū)(LPAR)的環(huán)境中,不允許一個分區(qū)中的資源或程序影 響另一個分區(qū)中的操作。此外,作為實用性,資源的分配需要細分。
圖3是用于實現(xiàn)才艮據(jù)本發(fā)明示例性實施例的這里所示的任意數(shù)據(jù)處理 系統(tǒng)的數(shù)據(jù)處理系統(tǒng)框圖。數(shù)據(jù)處理系統(tǒng)300可以是包括與系統(tǒng)總線306
連接的多個處理器302和304的對稱多處理器(SMP)系統(tǒng)??蛇x擇地, 可采用單處理器系統(tǒng)。在所示實例中,處理器304 AJ!艮務(wù)處理器。與系統(tǒng) 總線306連接的還有提供與本地存儲器309的接口的存儲控制器/高速緩存 308。 1/O總線橋接器310與系統(tǒng)總線306連接,并提供與I/O總線312的 接口 。如圖所示,存儲控制器/高速緩存308和I/O總線橋接器310可集成。
與I/O總線312連接的傳統(tǒng)外圍組件互連(PCI)總線橋接器314提 供與傳統(tǒng)PCI本地總線316的接口 。多個I/O適配器(例如調(diào)制解調(diào)器318 ) 可連接至PCI總線316。典型地PCI總線實施可支持4個PCI擴展槽或附 加連接。可通過調(diào)制解調(diào)器318和通信適配器320提供與其他計算機的通 信鏈路。通信適配器320使得數(shù)據(jù)處理系統(tǒng)300能夠經(jīng)由通信鏈路380向 另 一個計算機系統(tǒng)發(fā)送消息和從其接收消息。
額外的PCI總線橋接器322和324提供用于額外PCI總線326和328 的接口 ,其中從所述PCI總線326和328可支持額外調(diào)制解調(diào)器或網(wǎng)絡(luò)適 配器。這樣,數(shù)據(jù)處理系統(tǒng)300允許與多個網(wǎng)絡(luò)計算機的連接。
如圖所示,存儲器映射圖形適配器330和硬盤332也可以直接或間接 連接至I/O總線312。
圖4示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,即在根據(jù)本發(fā)明 示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器之 前,計算機系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如i/o適配器)耦合 的數(shù)據(jù)處理環(huán)境。數(shù)據(jù)處理環(huán)境400包括計算機系統(tǒng)402和404。計算機 系統(tǒng)在這里還稱為主節(jié)點。因此,例如,計算機系統(tǒng)402在這里還可稱為 主節(jié)點402。
計算機系統(tǒng)402-404利用物理適配器412和414。計算機系統(tǒng)402-404 和物理適配器412和414經(jīng)由結(jié)構(gòu)416彼此通信。結(jié)構(gòu)416包括多個PCI 橋接器/交換器,例如PCI橋接器/交換器418和420。結(jié)構(gòu)416是符合PCI-E 標(biāo)準(zhǔn)的設(shè)備結(jié)構(gòu)。
計算機系統(tǒng)402經(jīng)由PCI交換器418中包括的端口 428與PCI交換器 418耦合。計算機系統(tǒng)404經(jīng)由PCI交換器418中包括的端口 430與PCI
交換器418耦合。
物理適配器412經(jīng)由PCI交換器420中包括的端口 432與PCI交換器 420耦合。物理適配器414經(jīng)由PCI交換器420中包括的端口 434與PCI 交換器420耦合。
PCI交換器418經(jīng)由PCI交換器418中包括的端口 436以及PCI交換 器420中包括的端口 438與PCI交換器420耦合。
PCI交換器418是PCI根交換器,而PCI交換器420不是PCI根交 換器。當(dāng)PCI交換器與一個或多個主節(jié)點(例如計算機系統(tǒng)402或404中 的一個)直接連接時,該PCI交換器是PCI根交換器。
每一個計算機系統(tǒng)可被邏輯分區(qū),如圖2所示。例如,計算機系統(tǒng)402 包括邏輯分區(qū)A 422和邏輯分區(qū)B 424。計算機系統(tǒng)404包括邏輯分區(qū)C 426。
可對每一個物理適配器虛擬化,從而一個物理適配器可看成多個、單 獨的和獨立的適配器。例如,物理適配器412看成3個獨立虛擬適配器, 虛擬適配器A-l 440、虛擬適配器B-l 442、和虛擬適配器C-l 444。將虛 擬適配器A-l 440分配給邏輯分區(qū)A 422。將虛擬適配器B-l 442分配給邏 輯分區(qū)B 424。將虛擬適配器C-l 444分配給邏輯分區(qū)C 426。
物理適配器414看成2個獨立虛擬適配器,虛擬適配器A-2 446和虛 擬適配器C-2 448。將虛擬適配器A-2 446分配給邏輯分區(qū)A422。將虛擬 適配器C-2 448分配給邏輯分區(qū)C 426。
將物理適配器的配置存儲在物理適配器中。例如,物理適配器配置450 是物理適配器412的配置,所以將物理適配器配置450存儲在物理適配器 412中。在物理適配器412上提供遷移存儲區(qū),即框413,并將其用于將遷 移虛擬適配器所必須的狀態(tài)進行集裝。物理適配器配置452是物理適配器 414的配置,所以將物理適配器配置452存儲在物理適配器414中。在物 理適配器414上提供遷移存儲區(qū),即框415,并將其用于將遷移虛擬適配 器所必須的狀態(tài)進行集裝。
如果通過將物理適配器表示為一個或多個虛擬適配器的方式對物理適
配器虛擬化,則也將一個或多個虛擬適配器的配置存儲在物理適配器中。
例如,物理適配器配置450包括虛擬適配器A-l配置454、虛擬適配器 B-l配置456、和虛擬適配器C-l配置458。物理適配器配置452包括虛 擬適配器A-2配置460和虛擬適配器C-2配置462。
代替存儲完整的配置,可在適當(dāng)物理適配器的配置中存儲指向?qū)嶋H存 儲全部配置的位置的指針。例如,虛擬適配器A-l配置454可存儲在系統(tǒng) 400中某處的存儲裝置中。在這種情況下,可在物理適配器450中存儲指 針代替配置454。然后,指針可指向存儲配置454的位置。
也可將每一個虛擬配置的副本保存在一個主機節(jié)點中。例如,可將虛
擬適配器配置464存儲在計算;^系統(tǒng)402中。也可將虛擬適配器A-l配置 454、虛擬適配器B-l配置456、虛擬適配器C-l配置458、虛擬適配器A-2 配置460和虛擬適配器C-2配置462存儲在虛擬適配器配置464中。
每一個虛擬適配器的配置包括遷移比特和資源重新分配比特。例如, 配置456包括遷移比特456a、資源重新分配比特456b、遷移比特456c、 和資源重新分配比特456d。
當(dāng)特定虛擬適配器處于靜態(tài),即停止處理時,PCI管理器將設(shè)置在特 定虛擬適配器的配置中的遷移比特。當(dāng)設(shè)置遷移比特時,其表示虛擬適配 器要開始遷移處理,以及虛擬適配器必須停止處理。虛擬適配器將看到在 其配置中的變化,并通過請求中斷主機以暫停包括該虛擬適配器的物理適 配器的設(shè)備驅(qū)動器。這導(dǎo)致特定虛擬適配器處于靜態(tài)。然后,將該虛擬適 配器從其源物理適配器向目的物理適配器遷移。
當(dāng)重新配置目的物理適配器上的虛擬適配器時,作為向目的物理適配 器遷移的另一個虛擬適配器的結(jié)果,在目的物理適配器上的虛擬適配器必
須停止處理,即處于靜態(tài)。在這種情況下,PCI管理將^:置資源重新分配
比特,以表示用于該虛擬適配器的資源將要被重新分配以及虛擬適配器必 須停止處理。然后,對目的物理適配器上的資源重新分配。
PCI管理器可以與計算機系統(tǒng)、適配器和結(jié)構(gòu)中的每一個分開,如圖 1所示,或者可包括在一個主節(jié)點中。例如,PCI管理器466可存儲在計
算機系統(tǒng)402中。不管PCI管理器怎樣實施,PCI管理器都包括存儲裝置。 例如,PCI管理器466包括存儲裝置466a。
在數(shù)據(jù)處理系統(tǒng)400中的每一個設(shè)備包括隊列,隊列用以保存該設(shè)備 已經(jīng)接收的并且要處理的事務(wù),或該設(shè)備期望發(fā)送到另一個設(shè)*是還沒 有發(fā)送的事務(wù)。例如,計算機系統(tǒng)402包括發(fā)送/接收隊列402a。計算機系 統(tǒng)404包括發(fā)送/接收隊列404a。 PCI交換器418包括發(fā)il/接收隊列418a。 PCI交換器420包括發(fā)送/接收隊列420a。虛擬適配器440包括發(fā)送/接收 隊列440a。虛擬適配器442包括發(fā)送/接收隊列442a。虛擬適配器444包 括發(fā)送/接收隊列444a。虛擬適配器446包括發(fā)i^/接收隊列446a。虛擬適 配器448包括發(fā)送/接收隊列448a。在這些隊列中的任一個隊列中存儲的任 意事務(wù)是"進行中"事務(wù)。
圖5示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,即在根據(jù)本發(fā)明 示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器之 后,在遷移之后沒有重新配置虛擬適配器和物理適配器的情況下,計算機 系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如I/O適配器)耦合的數(shù)據(jù)處理 環(huán)境。在遷移虛擬適配器之前,必須確定虛擬適配器是否要在遷移期間更 改、或重新配置。
如果在沒有重新配置的情況下遷移虛擬適配器,則在目的物理適配器
中一定有足夠的資源以對虛擬適配器授權(quán)。例如,可遷移虛擬適配器,從 而其在目的物理適配器上^f吏用的資源量與在源物理適配器上的虛擬適配器 使用的資源量相同。例如,在目的物理適配器上對虛擬適配器授權(quán)的帶寬 與在源物理適配器上對虛擬適配器授權(quán)的帶寬相同。
在遷移之后可重新配置虛擬適配器。在這種情況下,重新配置虛擬適 配器,以具有在目的物理適配器上可用的資源的優(yōu)點。
已經(jīng)將虛擬適配器A-l 440從物理適配器412遷移至物理適配器414。 在遷移虛擬適配器A-1 440之后,它的配置沒有改變。由于虛擬適配器A-1 440的配置沒有改變,所以剛好可以將虛擬適配器A-l配置454從物理適 配器配置450移動到物理適配器配置452。
此外,在遷移虛擬適配器A-1 440之后,虛擬適配器B-1 442、虛擬適 配器C-1 444、虛擬適配器A-2 446、和虛擬適配器C-2 448沒有改變。
由于在遷移虛擬適配器440之后虛擬適配器B-l 442和虛擬適配器C-l 444的配置沒有改變,所以在物理適配器412上的資源變?yōu)榭捎茫⑶铱?分配給另一虛擬適配器。變?yōu)榭捎玫倪@些資源是曾經(jīng)分配給虛擬適配器 A-l 440的在物理適配器412中的資源。新釋放的資源可保持未分配,可分 配給將要向物理適配器412添加的另一個虛擬適配器,或者可重新配置物 理適配器412,以對于虛擬適配器B-l 442、虛擬適配器C-l 444授4又這些 資源中的某些或所有,或在虛擬適配器B-l 442和虛擬適配器C-l 444之間 劃分。
圖6示出示出包括本發(fā)明示例性實施例的數(shù)據(jù)處理環(huán)境,即在才艮據(jù)本 發(fā)明示例性實施例從源物理適配器向目的物理適配器遷移特定虛擬適配器 之后,在遷移之后至少重新配置某些虛擬適配器和/或物理適配器的情況 下,計算機系統(tǒng)利用PCI交換器的結(jié)構(gòu)與適配器(例如I/O適配器)耦合 的數(shù)據(jù)處理環(huán)境。
已經(jīng)將虛擬適配器A-l從物理適配器412向物理適配器414遷移。在 遷移虛擬適配器A-1時,其配置改變。在圖6所示的實例中,在遷移虛擬 適配器A-l之后,重新配置所有虛擬適配器。在遷移虛擬適配器A-l之后, 重新配置物理適配器412的資源,從而虛擬適配器B-l和C-l分別接收的 資源大于在遷移虛擬適配器A-l之前對它們先前授權(quán)的資源。因此,在遷 移虛擬適配器A-l之后,重新配置虛擬適配器B-l和C-l 。
在遷移之后,物理適配器412包括虛擬適配器B-l 642和虛擬適配器 C-l 644。物理適配器配置450包括虛擬適配器B-l配置656和虛擬適配器 C-l配置658。
在遷移之后,將物理適配器414分配給虛擬適配器A-l 640、虛擬適配 器A-2 646和虛擬適配器C-2 648?,F(xiàn)在,物理適配器配置452包括虛擬 適配器A-l配置654、虛擬適配器A-2配置660和虛擬適配器C-2配置662。
圖7A和7B示出高級流程圖,其描述根據(jù)本發(fā)明示例性實施例從源物
理適配器向目的物理適配器遷移特定虛擬適配器。該處理從框700表示的 位置開始,之后進行框702,其示出系統(tǒng)管理員執(zhí)行將特定虛擬適配器從 其源物理適配器向不同的目的物理適配器遷移的命令。接下來,框704示 出由系統(tǒng)管理員執(zhí)行的命令使得PCI管理器開始執(zhí)行。
然后,該處理進行框706,其示出PCI管理器使得特定虛擬適配器停 止執(zhí)行事務(wù)。PCI管理器通過設(shè)置在虛擬適配器配置中的遷移比特來使得 特定虛擬適配器停止執(zhí)行事務(wù)。這使得虛擬適配器看出對其配置的改變。 當(dāng)虛擬適配器看出對其配置的改變時,虛擬適配器通過請求中斷主;bL,以 暫停用于該虛擬適配器的設(shè)備驅(qū)動器。這導(dǎo)致特定虛擬適配器處于靜態(tài)。 結(jié)果是,不對虛擬適配器上排隊的事務(wù)進行服務(wù)。對主機端上的設(shè)備驅(qū)動 器暫停,從而也阻止了主機端上的事務(wù)。包含在交換隊列中的事務(wù)被處理 和清空。盡管特定虛擬適配器停止處理,但是所有其他虛擬適配器、物理 適配器、主計算才幾系統(tǒng)和結(jié)構(gòu)可繼續(xù)處理。
然后,處理進行框707,其示出確定是否設(shè)置遷移比特。遷移比特表 示遷移是否完成。如果確定沒有設(shè)置遷移比特,則該處理返回框707。如 果確定設(shè)置了遷移比特,則源虛擬適配器處于靜態(tài),并且該處理進行框 708。
之后,框708表示PCI管理器捕獲由該特定虛擬適配器產(chǎn)生的或指定 向該特定虛擬適配器發(fā)送的所有進行中事務(wù)。從虛擬適配器中包括的隊列 復(fù)制這些事務(wù)。將所述事務(wù)從復(fù)制它們的隊列刪除,并將它們存儲在處于 物理適配器框413和415中的遷移存儲區(qū)中。可選擇地,可將事務(wù)存儲在 主機存儲器中的遷移準(zhǔn)備區(qū)中,或如果PCI管理器提供存儲區(qū),可將其存 儲在PCI管理器。因此,將這些事務(wù)從它們的原始隊列移動到存儲裝置。
接下來,框710示出PCI管理器獲得對于該特定虛擬適配器的配置。 之后,框712示出PCI管理器分析目的物理適配器的現(xiàn)有配置。
然后,PCI管理器檢查目的物理適配器的可用資源,以確定在目的物 理適配器中是否存在足夠的可用資源,從而可以在不需要重新配置已經(jīng)在 目的物理適配器中存在的虛擬適配器的情況下向目的物理適配器添加虛擬
適配器。然后,框714示出確定在目的物理適配器中是否存在足夠的可用 資源,從而可以在不需要重新配置已經(jīng)在目的物理適配器中存在的虛擬適 配器的情況下向目的物理適配器添加虛擬適配器。如果確定存在足夠的資 源,則該處理進行框716,其示出PCI管理器通過向物理適配器配置添加 虛擬適配器配置的方式來配置目的物理適配器。
然后,該處理進行框718,其示出PCI管理器將捕獲的進行中事務(wù)恢 復(fù)到目的物理適配器隊列。由于虛擬適配器當(dāng)前存在于目的物理適配器中, 所以將虛擬適配器存在于源物理適配器中時從遷移虛擬適配器隊列復(fù)制的 事務(wù)復(fù)制到該虛擬適配器。然后,處理進行框726。
再參照框714,如果確定存在足夠的資源,則進行框720的處理,其 示出PCI管理器通過設(shè)置在虛擬適配器配置中的資源重新分配比特的方式 使得目的物理適配器中的現(xiàn)有虛擬適配器停止處理。這4吏得虛擬適配器看 出對其配置的改變。當(dāng)虛擬適配器看出對其配置的改變時,虛擬適配器通 過請求中斷主機,以暫停包括該虛擬適配器的物理適配器的設(shè)備驅(qū)動器。 這導(dǎo)致物理適配器和包括特定虛擬適配器的其虛擬適配器處于靜態(tài)。結(jié)果 是,不對虛擬適配器上排隊的事務(wù)進行服務(wù)。對主機端上的設(shè)備驅(qū)動器暫 停,從而也阻止了主機端上的事務(wù)。包含在交換隊列中的事務(wù)被處理和清
空
然后,處理進行框721,其示出確定是否設(shè)置重新分配比特。重新分 配比特表示重新分配是否完成。如果確定沒有設(shè)置重新分配比特,則該處 理返回框721。如果確定設(shè)置了重新分配比特,則目的虛擬適配器處于靜 態(tài),并且該處理進行框722。
接下來,框722示出,如果需要,PCI管理器通過重新配置現(xiàn)有虛擬 適配器配置和改變特定虛擬適配器配置的方式來配置目的物理適配器。之 后,框724示出PCI管理器重啟在目的物理適配器上的現(xiàn)有虛擬適配器。 該處理通過重設(shè)資源重新分配比特的方式重啟。然后,適配器向其設(shè)備驅(qū) 動器用信號通知對于重啟在其物理適配器上的所有虛擬適配器所必須的操 作。然后,處理進4亍框718,其示出PCI管理器將捕獲的進行中事務(wù)恢復(fù) 到目的虛擬適配器隊列。
然后,框726示出PCI管理器重啟在目的物理適配器上的特定虛擬適 配器。通過重設(shè)遷移比特來重新開始該處理。然后,適配器向其設(shè)備驅(qū)動 器用信號通知對于重啟在其物理適配器上的所有虛擬適配器所必須的操 作。接下來,框728示出PCI管理器釋放由特定虛擬適配器使用的在源物 理適配器上已配置的資源。然后,如框730所示,該處理終止。
虛擬適配器組是在特定物理適配器上的虛擬適配器的集合。本領(lǐng)域普 通技術(shù)人員可理解,由圖7A和7B所示的處理可執(zhí)行多次,以從特定源物 理適配器向特定目的物理適配器遷移一組虛擬適配器。這樣,可遷移虛擬 適配器組。
本發(fā)明可采用全部硬件實施例、全部軟件實施例或包含硬件和軟件元 素的實施例的形式。在優(yōu)選實施例中,本發(fā)明以軟件實現(xiàn),其包括但不限 于固件、駐留軟件、微碼等。
此外,本發(fā)明可采用從計算機可用或計算機可讀介質(zhì)可訪問的計算機 程序產(chǎn)品的形式,其中所述介質(zhì)提供由計算機或任意指令執(zhí)行系統(tǒng)使用或 與其連接的程序代碼。為了這里說明的目的,計算機可用或計算機可讀介 質(zhì)可以是可包含、存儲、通信、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備 使用或與其連接的程序的任意有形裝置。
介質(zhì)可以是電介質(zhì)、磁介質(zhì)、光學(xué)介質(zhì)、電磁介質(zhì)、紅外介質(zhì)或半導(dǎo) 體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計算機可讀介質(zhì)的實例包括半導(dǎo) 體或固態(tài)存儲器、磁帶、可移動計算^l^盤、隨才/M!"取存儲器(RAM)、 只讀存儲器(ROM)、硬磁盤和光盤。當(dāng)前的光盤實例包括壓縮盤-只 讀存儲器(CD-ROM)、壓縮盤-讀/寫(CD-RAV)和DVD。
適用于存儲和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)可包括通過系統(tǒng)總線 與存儲元件直接或間接耦合的至少一個處理器。存儲元件可包括在程序代 碼的實際執(zhí)行期間采用的本地存儲器、大容量存儲裝置、和提供至少某些 程序代碼的臨時存儲的高速緩存,以減少在執(zhí)行期間必須從大容量存儲裝 置提取代碼的次數(shù)。
輸7W輸出或I/0設(shè)備(包括但不限于鍵盤、顯示器、定點設(shè)備等)可 直接或通過中間I/O控制器與系統(tǒng)耦合。
網(wǎng)絡(luò)適配器還可以與系統(tǒng)耦合,以使得數(shù)據(jù)處理系統(tǒng)能夠通過中間私 有網(wǎng)絡(luò)或公共網(wǎng)絡(luò)與其他數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設(shè)^合。調(diào) 制解調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡僅是幾個當(dāng)前可用的網(wǎng)絡(luò)適配器類型。
為了圖示和說明的目的提出本發(fā)明的描述,這里的描述沒有詳盡或沒 有以公開的方式限制本發(fā)明。對于本領(lǐng)域普通技術(shù)人員,許多修改和改變 是清楚的??蛇x擇和描述實施例,以最好地說明本發(fā)明的原理、實際應(yīng)用, 以及使得本領(lǐng)域普通技術(shù)人員能夠理解具有各種改變的各個實施例的發(fā) 明,因為這些實施例滿足于預(yù)期的特定用途。
權(quán)利要求
1. 一種在數(shù)據(jù)處理環(huán)境中的計算機實現(xiàn)的方法,所述數(shù)據(jù)處理環(huán)境包括多個主計算機系統(tǒng),所述多個主計算機系統(tǒng)使用結(jié)構(gòu)與多個適配器耦合,所述結(jié)構(gòu)用于從源物理適配器向目的物理適配器遷移虛擬適配器,所述計算機實現(xiàn)的方法包括:使得所述虛擬適配器停止處理事務(wù);捕獲與所述虛擬適配器相關(guān)的所有進行中事務(wù);通過從所述源物理適配器向所述目的物理適配器轉(zhuǎn)移用于所述虛擬適配器的配置信息,向所述目的物理適配器遷移所述虛擬適配器;恢復(fù)所述進行中事務(wù);和重啟在所述目的物理適配器上的所述虛擬適配器,其中所述虛擬適配器包括在所述目的物理適配器中,以及所述虛擬適配器開始處理事務(wù)。
2, 根據(jù)權(quán)利要求l所述的計算機實現(xiàn)的方法,還包括 識別在所述源物理適配器上的已經(jīng)向所述虛擬適配器分配的資源;和 在所述虛擬適配器轉(zhuǎn)移到所述目的物理適配器之后,釋放所識別的資源。
3. 根據(jù)權(quán)利要求l所述的計算機實現(xiàn)的方法,還包括 確定由所述虛擬適配器所需的物理適配器資源量; 確定所述資源量在所述目的物理適配器上是否可用;和 在確定所述資源量在所述目的物理適配器上可用的情況下,響應(yīng)于所述虛擬適配器遷移到所述目的物理適配器的操作,按所述資源量向所述虛 擬適配器分配所述目的物理適配器的資源。
4. 根據(jù)權(quán)利要求3所述的計算機實現(xiàn)的方法,還包括 所述配置信息定義所述虛擬適配器的配置;在確定所述資源量在所述目的物理適配器上可用的情況下,通過^^改 所述配置信息,重新配置所述虛擬適配器;和通過在所述目的物理適配器中存儲所修改的配置信息來遷移所述虛擬 適配器。
5. 根據(jù)權(quán)利要求l所述的計算機實現(xiàn)的方法,還包括 所述配置信息包括對于定義所述虛擬適配器的配置的指針。
6. 根據(jù)權(quán)利要求5所述的計算機實現(xiàn)的方法,還包括 將所述配置存儲在結(jié)構(gòu)管理器中。
7. 根據(jù)權(quán)利要求5所述的計算機實現(xiàn)的方法,還包括 在遷移所述虛擬適配器之前,將所述配置存儲在結(jié)構(gòu)管理器中以及所述源物理適配器中;和在遷移所述虛擬適配器之后,將所述配置存儲在結(jié)構(gòu)管理器中以及所 述目的物理適配器中。
8. 根據(jù)權(quán)利要求l所述的計算機實現(xiàn)的方法,還包括 所述結(jié)構(gòu)包括多個設(shè)備;所述多個主計算機系統(tǒng)、所述多個適配器、和所述多個設(shè)備中的每一 個均包括用于存儲進行中事務(wù)的隊列;通過轉(zhuǎn)移指定向所述虛擬適配器發(fā)送的或已經(jīng)從所述虛擬適配器發(fā)送 的所有進行中事務(wù),來捕獲所有所述進行中事務(wù),其中所述所有進行中事 務(wù)來自所述多個主計算機系統(tǒng)、所述多個適配器、和所述多個設(shè)備中的每 一個中的每一個所述隊列。
9. 根據(jù)權(quán)利要求l所述的計算機實現(xiàn)的方法,還包括 所述結(jié)構(gòu)是包括多個PCI Express設(shè)備的PCI Express交換結(jié)構(gòu)。
10. —種在數(shù)據(jù)處理環(huán)境中的裝置,所述數(shù)據(jù)處理環(huán)境包括多個主計 算機系統(tǒng),所述多個主計算機系統(tǒng)使用結(jié)構(gòu)與多個適配器耦合,所述結(jié)構(gòu) 用于從源物理適配器向目的物理適配器遷移虛擬適配器,所述裝置包括所述裝置包括配置管理器;所述配置管理器4吏得所述虛擬適配器停止處理事務(wù); 所述配置管理器捕獲與所述虛擬適配器相關(guān)的所有進行中事務(wù); 所述配置管理器通過從所述源物理適配器向所述目的物理適配器轉(zhuǎn)移 用于所述虛擬適配器的配置信息,向所述目的物理適配器遷移所述虛擬適 配器;所述配置管理器恢復(fù)所述進行中事務(wù);和所述配置管理器重啟在所述目的物理適配器上的所述虛擬適配器,其 中所述虛擬適配器包括在所述目的物理適配器中,以及所述虛擬適配器開 始處理事務(wù)。
11. 根據(jù)權(quán)利要求10所述的裝置,還包括所述配置管理器識別在所述源物理適配器上的已經(jīng)向所述虛擬適配器 分配的資源;和所述配置管理器在所述虛擬適配器轉(zhuǎn)移到所述目的物理適配器之后, 釋i文所識別的資源。
12. 根據(jù)權(quán)利要求10所述的裝置,還包括 所述配置管理器確定由所述虛擬適配器所需的物理適配器資源量; 所述配置管理器確定所述資源量在所述目的物理適配器上是否可用;和在確定所述資源量在所述目的物理適配器上可用的情況下,所述配置 管理器響應(yīng)于所述虛擬適配器遷移到所述目的物理適配器的操作,按所述 資源量向所述虛擬適配器分配所述目的物理適配器的資源。
13. 根據(jù)權(quán)利要求12所述的裝置,還包括 所述配置信息定義所述虛擬適配器的配置;在確定所述資源量在所述目的物理適配器上可用的情況下,所述配置 管理器通過^^改所述配置信息,重新配置所述虛擬適配器;和所述配置管理器通過在所述目的物理適配器中存儲所修改的配置信息 來遷移所述虛擬適配器。
14. 根據(jù)權(quán)利要求10所述的裝置,還包括 所述配置信息包括對于定義所述虛擬適配器的配置的指針。
15. 根據(jù)權(quán)利要求14所述的裝置,還包括 將所述配置存儲在管理所述結(jié)構(gòu)的所述配置管理器中。
16. 根據(jù)權(quán)利要求14所述的裝置,還包括在遷移所述虛擬適配器之前,將所述配置存儲在管理所述結(jié)構(gòu)的所述配置管理器中以及所述源物理適配器中;和在遷移所述虛擬適配器之后,將所述配置存儲在所述配置管理器中以 及所述目的物理適配器中。
17. 根據(jù)權(quán)利要求10所述的裝置,還包括 所述結(jié)構(gòu)包括多個設(shè)備;所述多個主計算機系統(tǒng)、所述多個適配器、和所述多個設(shè)備中的每一 個均包括用于存儲進行中事務(wù)的隊列;所述配置管理器通過轉(zhuǎn)移指定向所述虛擬適配器發(fā)送的或已經(jīng)從所述 虛擬適配器發(fā)送的所有進行中事務(wù),來捕獲所有所述進行中事務(wù),其中所 述所有進行中事務(wù)來自所述多個主計算機系統(tǒng)、所述多個適配器、和所述 多個設(shè)備中的每一個中的每一個所述隊列。
18. 根據(jù)權(quán)利要求10所述的裝置,還包括 所述結(jié)構(gòu)是包括多個PCI Express設(shè)備的PCI Express交換結(jié)構(gòu)。
19. 一種計算機程序產(chǎn)品,包括計算機可用介質(zhì),其包括在數(shù)據(jù)處理環(huán)境中從源物理適配器向目的物 理適配器遷移虛擬適配器的計算機可用程序代碼,所述數(shù)據(jù)處理環(huán)境包括 多個主計算機系統(tǒng),所述多個主計算機系統(tǒng)使用結(jié)構(gòu)與多個適配器耦合, 所述計算機程序產(chǎn)品包括使得所述虛擬適配器停止處理事務(wù)的計算機可用程序代碼; 捕獲與所述虛擬適配器相關(guān)的所有進行中事務(wù)的計算機可用程序代碼;通過從所述源物理適配器向所述目的物理適配器轉(zhuǎn)移用于所述虛擬適 配器的配置信息,向所述目的物理適配器遷移所述虛擬適配器的計算機可 用程序代碼;恢復(fù)所述進行中事務(wù)的計算機可用程序代碼;和重啟在所述目的物理適配器上的所述虛擬適配器的計算^L可用程序代 碼,其中所述虛擬適配器包括在所述目的物理適配器中,以及所述虛擬適 配器開始處理事務(wù)。
20. 根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,還包括 確定由所述虛擬適配器所需的物理適配器資源量的計算機可用程序代碼;確定所述資源量在所述目的物理適配器上是否可用的計算機可用程序代碼;和在確定所述資源量在所述目的物理適配器上可用的情況下,響應(yīng)于所 述虛擬適配器遷移到所述目的物理適配器的操作,按所述資源量向所述虛 擬適配器分配所述目的物理適配器的資源的計算機可用程序代碼。
21. —種包括程序代碼裝置的計算機程序,其中當(dāng)在計算機上運行所 述程序時,所述程序代碼裝置適用于執(zhí)行權(quán)利要求1至9的所有步驟。
全文摘要
公開一種計算機實現(xiàn)的方法、裝置和計算機可用程序代碼,用于在數(shù)據(jù)處理環(huán)境中從源物理適配器向目的物理適配器遷移虛擬適配器,在數(shù)據(jù)處理環(huán)境中多個主計算機系統(tǒng)共享多個適配器并通過PCI交換結(jié)構(gòu)總線與那些適配器通信。首先使得虛擬適配器停止處理事務(wù)。然后,捕獲與所述虛擬適配器相關(guān)的所有進行中事務(wù)。從所述源物理適配器向所述目的物理適配器轉(zhuǎn)移用以定義虛擬適配器的配置信息。然后,將進行中事務(wù)恢復(fù)到目的虛擬適配器上的它們原始位置。然后,在所述目的物理適配器上重啟所述虛擬適配器,從而所述虛擬適配器開始處理事務(wù)。
文檔編號G06F9/46GK101385009SQ200780005066
公開日2009年3月11日 申請日期2007年1月29日 優(yōu)先權(quán)日2006年2月9日
發(fā)明者D·弗賴穆特, M·維加, R·雷西奧, S·M·瑟伯, S·W·亨特, W·G·霍蘭, W·T·博伊德 申請人:國際商業(yè)機器公司