本發(fā)明涉及一種解決雙機集群FC-SAN切換的方法及裝置,該方法保證了在發(fā)生節(jié)點故障切換的情況下服務(wù)器端IO的連續(xù)性,適用于雙機集群存儲系統(tǒng),屬于集群海量數(shù)據(jù)存儲技術(shù)領(lǐng)域。
背景技術(shù):
SAN(Storage Area Network,存儲區(qū)域網(wǎng)絡(luò))的誕生,使存儲空間得到更加充分的利用以及安裝和管理更加有效。SAN是一種將存儲設(shè)備、連接設(shè)備和接口集成在一個高速網(wǎng)絡(luò)中的技術(shù)。SAN本身就是一個存儲網(wǎng)絡(luò),承擔了數(shù)據(jù)存儲任務(wù),SAN網(wǎng)絡(luò)與LAN業(yè)務(wù)網(wǎng)絡(luò)相隔離,存儲數(shù)據(jù)流不會占用業(yè)務(wù)網(wǎng)絡(luò)帶寬。在SAN網(wǎng)絡(luò)中,所有的數(shù)據(jù)傳輸在高速、高帶寬的網(wǎng)絡(luò)中進行,SAN存儲實現(xiàn)的是直接對物理硬件的塊級存儲訪問,提高了存儲的性能和升級能力。早期的SAN采用的是光纖通道(FC,F(xiàn)ibre Channel)技術(shù),所以,以前的SAN多指采用光纖通道的存儲局域網(wǎng),到了ISCSI協(xié)議出現(xiàn)后,為了區(qū)分,業(yè)界就把SAN分為FC-SAN和IP-SAN。
面對迅速增長的數(shù)據(jù)存儲需求,企業(yè)和服務(wù)提供商漸漸開始選擇FC-SAN作為網(wǎng)絡(luò)基礎(chǔ)設(shè)施,因為SAN具有出色的可擴展性。事實上,SAN比傳統(tǒng)的存儲架構(gòu)具有更多顯著的優(yōu)勢。例如,傳統(tǒng)的服務(wù)器連接存儲通常難于更新或集中管理。每臺服務(wù)器必須關(guān)閉才能增加和配置新的存儲,相比較而言,F(xiàn)C-SAN不必宕機和中斷與服務(wù)器的連接即可增加存儲。FC-SAN的存儲結(jié)構(gòu)具有傳輸效率高、安全性高、傳輸延遲極小、占用主機資源少、技術(shù)成熟等特點,是目前應(yīng)用范圍最廣的專業(yè)存儲架構(gòu)。
目前在存儲領(lǐng)域,對于雙機中的FC-SAN一般采用NPIV模式來實現(xiàn)。NPIV即N-PortID虛擬化技術(shù),此方法需要光纖交換機、光纖卡和光纖卡驅(qū)動的支持。用此技術(shù)來實現(xiàn)雙機切換,必須在指定的物理口上創(chuàng)建出新的虛擬端口,使當前維護的光纖卡端口為物理端口數(shù)與虛擬端口數(shù)之和。當滿足雙機的切換條件后,本地的虛擬端口被刪除,之后在雙機中另一臺機器的光纖卡上創(chuàng)建出相同WWPN的新的虛擬端口。從而對存儲端來說,實現(xiàn)了FC SAN功能的切換,保證了服務(wù)器端業(yè)務(wù)的連續(xù)性。但是此方法較為復(fù)雜,要維護光纖卡中所有物理口和虛擬口的狀態(tài),并且對于光纖卡和光纖交換機的要求較高,必須支持NPIV模式才可以。
下面對FC-SAN中常用的技術(shù)術(shù)語進行解釋:
WWPN:光纖端口的端口號,局域網(wǎng)內(nèi)唯一;
V-port:在物理端口的基礎(chǔ)上虛擬出的新的端口;
Target:用于提供FC卷映射的目標端;
V_WWPN:物理端口的虛擬WWPN。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為解決現(xiàn)有保證FC-SAN的業(yè)務(wù)連續(xù)性條件下雙機集群切換時方法復(fù)雜的問題,提出了一種新的FC-SAN切換方法,該方法實現(xiàn)起來更加簡潔、高效,并能夠保證服務(wù)器端業(yè)務(wù)的連續(xù)。
本發(fā)明的思想是通過修改光纖卡的驅(qū)動,使光纖卡端口的WWPN可動態(tài)修改,再通過預(yù)先設(shè)定好的虛擬WWPN來修改對應(yīng)的光纖卡端口的WWPN。由于可用V_WWPN替換雙機不同控制器的光纖卡端口的WWPN,從而實現(xiàn)雙機間用于切換的WWPN的漂移。使對外提供服務(wù)的WWPN只有一個,此過程對于服務(wù)器來說是透明的。
本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的。
一種雙機集群FC-SAN的切換方法,包括切換過程中光纖卡端口物理WWPN的替換以及給Target添加設(shè)備的方法,具體方案如下:
雙機包含控制器A、B,兩個控制器各選取一個光纖卡端口建立綁定,并設(shè)定應(yīng)用于這一對光纖卡端口的虛擬WWPN為V_WWPN;在控制器A將FC卡端口設(shè)置為指定的V_WWPN,向此端口添加FC卷并映射到服務(wù)器;當控制器A滿足以下切換條件的時候:
1.針對非異常掉電情況:控制器A首先卸載FC卷,并在光纖卡驅(qū)動中刪除V_WWPN,將此FC端口由V_WWPN還原為原始的WWPN;之后通知控制器B接管,控制器B接到通知后通過光纖卡驅(qū)動把與控制器A綁定的FC端口設(shè)置為V_WWPN,添加從控制器A上卸載的FC卷并映射到服務(wù)器;切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷,從而實現(xiàn)服務(wù)器業(yè)務(wù)不中斷;
2.針對異常掉電情況:控制器B檢測不到控制器A的存在時,控制器B的光纖卡驅(qū)動把與控制器A綁定的FC端口設(shè)置為V_WWPN,添加從控制器A上卸載的FC卷并映射到服務(wù)器;切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷,從而實現(xiàn)服務(wù)器業(yè)務(wù)不中斷。
有益效果
對比現(xiàn)有技術(shù),本方法通過直接修改光纖卡物理口的WWPN來實現(xiàn)雙控功能,實現(xiàn)更加簡單,不需要光纖卡和光纖交換機對NPIV模式支持。對于一對綁定的光纖卡端口來說,服務(wù)器端看到的和操作的只是一個WWPN。
附圖說明
圖1為本發(fā)明實施例雙機雙向端口配置示意圖;
圖2為本發(fā)明實施例雙機-非掉電切換流程示意圖;
圖3為本發(fā)明實施例雙機-掉電切換流程示意圖。
具體實施方式
為對本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點進行說明,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例1
一種解決雙機集群FC-SAN切換的方法包含以下內(nèi)容:
一:建立雙機光纖卡端口(FC端口)的綁定,指定用于漂移的虛擬WWPN;
因為FC-SAN的雙機切換需要從一個控制器的指定光纖卡端口切換到另一個控制器的一個光纖卡端口,所以要預(yù)先指定好需要用到的兩個控制器的哪些光纖卡端口,即兩個控制器的光纖卡端口要建立綁定,綁定后的一對光纖卡端口一般應(yīng)用在一個業(yè)務(wù)中;并給這一對光纖卡端口指定相應(yīng)的V_WWPN用于切換以及對服務(wù)器提供存儲服務(wù)。
為了使控制器能夠識別上述信息,本實施例中利用配置信息來進行各控制器同步記錄,具體記錄的字段包含:
vwwpn:指定這一對光纖卡端口所使用的虛擬WWPN;
Localhost:本地控制器光纖卡端口的WWPN;
Remotehost:另一個控制器的光纖卡端口的WWPN。
每次創(chuàng)建綁定需要從各控制器選取任何一個可用的光纖卡端口,無端口順序的限制;但每個光纖卡端口只能用于一對綁定。每個業(yè)務(wù)可以使用一對綁定,也可以使用多對綁定以實現(xiàn)多路徑。
二:當映射FC設(shè)備的時候,對光纖卡端口進行修改;
以一個業(yè)務(wù)使用一對光纖卡端口為例,在A/A冗余模式情況下,控制器A、B都有FC-SAN業(yè)務(wù)(業(yè)務(wù)1、業(yè)務(wù)2):
1、如圖1所示,將控制器A(節(jié)點A)的光纖卡物理端口A1和控制器B(節(jié)點B)的光纖卡物理端口B1建立綁定,他們共同的虛擬WWPN是vWWPN1;將控制器A的光纖卡物理端口A2和控制器B的光纖卡物理端口B2建立綁定,他們共同的虛擬WWPN是vWWPN2;
2、將控制器A上物理端口A1的WWPNA1改為vWWPN1,向vWWPN1添加FC卷1(FCvolume1),此時控制器B上的物理端口B1仍為WWPNB1;將控制器B上物理端口B2的WWPNB2改為vWWPN2,向vWWPN2添加FC卷2(FCvolume2),此時控制器A上的物理端口A2仍為WWPNA2;
3、對于控制器A上運行的業(yè)務(wù)1來說,服務(wù)器端只和vWWPN1建立會話,并發(fā)現(xiàn)掛載在vWWPN1上的設(shè)備FCvolume1;對于控制器B上運行的業(yè)務(wù)2來說,服務(wù)器端只和vWWPN2建立會話,并發(fā)現(xiàn)掛載在vWWPNB上的設(shè)備FCvolume2。
三:不同情況下的雙機FC-SAN功能的切換;
1、當控制器A滿足切換條件時:
1)如非異常掉電情況(如圖2所示)。控制器A卸載之前加載的FC volume1設(shè)備,將此光纖卡物理端口A1還原為原始的WWPNA1;之后通知控制器B接管,控制器B接到通知后將把與控制器A對應(yīng)的光纖卡物理端口WWPNB1設(shè)置為vWWPN1,添加FCvolume1并映射到服務(wù)器端,切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷。
2)如異常掉電情況(如圖3所示)??刂破鰽直接掉電關(guān)機,此時控制器B檢測不到控制器A的存在,則控制器B將把與控制器A對應(yīng)的物理端口WWPNB1設(shè)置為vWWPN1,添加FCvolume1并映射到服務(wù)器,切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷。
以上所述為FCvolume1切換的過程,本領(lǐng)域技術(shù)人員據(jù)此可以同理知道FCvolume2的切換過程,在此不再贅述。
以上二、三步驟執(zhí)行時,可以通過步驟一存儲的配置信息獲取本地端口原始的WWPN、與本地端口綁定的另一個控制器的光纖卡端口的WWPN以及vwwpn。
實驗結(jié)果:
本試驗中,搭建了一個雙機集群,包含控制器A、控制器B,并創(chuàng)建了voluma、volumb兩個FC卷設(shè)備。兩個控制器都帶有qla2562的兩口光纖卡,將控制器A的光纖卡端口編號為a1,a2,將控制器B的光纖卡端口編號為b1,b2。將a1,b1建立綁定,并設(shè)置虛擬WWPN為va;將a2,b2建立綁定,并設(shè)置虛擬WWPN為vb。其中,voluma使用a1,b1來切換,volumb使用a2,b2來切換。修改控制器A的光纖卡a1口的WWPN為va,將FC卷voluma加到va上,映射到服務(wù)器端進行IO讀寫測試。同理修改控制器B的光纖卡b2口的WWPN為vb,將FC卷volumb加到vb上,映射到服務(wù)器端進行IO讀寫測試。
重啟控制器A,重啟過程中控制器A卸載掉voluma,虛擬口va變回原物理口a1,此時通知控制器B接管,控制器B的光纖卡b1口變?yōu)樘摂M口va,加載FC卷voluma。此時控制器B的兩個光纖卡端口的WWPN分別為va,vb,分別對外提供設(shè)備voluma,volumb。切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷。
異常斷電控制器A,控制器B檢測不到控制器A的存在時,控制器B的光纖卡b1口變?yōu)樘摂M口va,加載FC卷voluma。此時控制器B的兩個光纖卡端口的WWPN分別為va,vb,分別對外提供設(shè)備voluma,volumb。切換過程中前端IO懸掛和重試,在重試過程完成底層路徑和設(shè)備的切換,保證IO不中斷。
由此實驗可以證明,本發(fā)明所述方法能夠保證雙機集群FC-SAN的正常切換操作,并保證服務(wù)器端IO的連續(xù)性,簡單、方便、易控制。
為了說明本發(fā)明的內(nèi)容及實施方式,本說明書給出了具體實施例。在實施例中引入細節(jié)的目的不是限制權(quán)利要求書的范圍,而是幫助理解本發(fā)明所述方法。本領(lǐng)域的技術(shù)人員應(yīng)理解:在不脫離本發(fā)明及其所附權(quán)利要求的精神和范圍內(nèi),對最佳實施例步驟的各種修改、變化或替換都是可能的。因此,本發(fā)明不應(yīng)局限于最佳實施例及附圖所公開的內(nèi)容。