一種數(shù)據(jù)克隆方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)災備技術領域,特別是涉及一種數(shù)據(jù)克隆方法和系統(tǒng)。
【背景技術】
[0002]克隆技術是指在存儲系統(tǒng)中,在源卷和目標卷間建立克隆關系,當用戶觸發(fā)克隆動作時,數(shù)據(jù)會從源卷備份到目的卷,當有輸入輸出1下發(fā)時,源端先完成到目的卷的克隆動作,再處理接收到的10,使目標卷內(nèi)容和源卷內(nèi)容在克隆時刻一致,可以保障在任意卷故障時導致數(shù)據(jù)損壞時,始終存在一個卷的數(shù)據(jù)是可用且是最近的。目前,通常通過在控制器中建立源卷和目標卷間建立克隆關系并激活,當用戶觸發(fā)克隆動作時,通過該控制器將源卷內(nèi)數(shù)據(jù)備份到目的卷中,來完成克隆動作。當控制器出現(xiàn)故障時,正在進行的克隆動作將被終止,用戶的服務也將被終止,需要對控制器進行修復后才可再次進行克隆操作,而即使是控制器恢復,也需要從目標卷恢復數(shù)據(jù),才能繼續(xù)進行克隆,對外提供服務,恢復克隆的等待時間較長,無法保證上層業(yè)務的不間斷運行,且無法保證用戶數(shù)據(jù)的實時一致性數(shù)據(jù)備份,降低了數(shù)據(jù)的可靠性。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本發(fā)明實施例提供一種數(shù)據(jù)克隆方法和系統(tǒng),以解決現(xiàn)有技術中當控制器出現(xiàn)故障時,正在進行的克隆動作將被終止,用戶的服務也將被終止,需要對控制器進行修復后才可再次進行克隆操作,而即使是控制器恢復,也需要從目標卷恢復數(shù)據(jù),才能繼續(xù)進行克隆,對外提供服務,恢復克隆的等待時間較長,無法保證上層業(yè)務的不間斷運行,且無法保證用戶數(shù)據(jù)的實時一致性數(shù)據(jù)備份,降低了數(shù)據(jù)的可靠性的問題。
[0004]為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術方案:
[0005]—種數(shù)據(jù)克隆方法,用于數(shù)據(jù)災備系統(tǒng),所述數(shù)據(jù)災備系統(tǒng)包括主控制器和從控制器,所述數(shù)據(jù)克隆方法包括:
[0006]判斷所述主控制器是否發(fā)生故障;
[0007]若發(fā)生故障,向所述主控制器發(fā)送停止克隆指令,接收所述主控制器停止克隆后返回的反饋信息,確定源卷中還未進行克隆的數(shù)據(jù);
[0008]向所述從控制器發(fā)送克隆指令,所述從控制器接收到所述克隆指令后對所述源卷中還未進行克隆的數(shù)據(jù)進行克隆。
[0009]其中,在判斷所述主控制器是否發(fā)生故障前還包括:
[0010]向所述主控制器發(fā)送克隆指令;
[0011]所述主控制器接收到所述克隆指令后對所述源卷內(nèi)數(shù)據(jù)進行克隆。
[0012]其中,所述向所述主控制器發(fā)送克隆指令前還包括:
[0013]向所述主控制器和所述從控制器均發(fā)送克隆準備指令;
[0014]確定待進行克隆的源卷和目的卷,在所述主控制器和所述從控制器內(nèi)均建立所述源卷和所述目的卷的克隆關系;
[0015]對所述主控制器和所述從控制器均進行激活操作。
[0016]其中,對所述主控制器進行激活操作包括:向所述主控制器發(fā)送激活指令,所述主控制器對其內(nèi)主克隆插件進行注冊;
[0017]其中,對所述從控制器進行激活操作包括:向所述從控制器發(fā)送激活指令,所述從控制器對其內(nèi)從克隆插件進行注冊。
[0018]其中,所述主控制器停止克隆包括:
[0019]所述主控制器接收到停止克隆指令;
[0020]所述主控制器對其內(nèi)主克隆插件的注冊進行注銷。
[0021]其中,所述從控制器接收到所述克隆指令后對所述源卷中還未進行克隆的數(shù)據(jù)進行克隆包括:
[0022]所述從控制器接收到克隆指令;
[0023]根據(jù)所述克隆指令確定所述源卷中還未進行克隆的數(shù)據(jù);
[0024]將所述源卷中還未進行克隆的數(shù)據(jù)拷貝到所述源卷對應的目的卷中。
[0025]其中,所述源卷中還未進行克隆的數(shù)據(jù)包括:所述主控制器內(nèi)待處理隊列中的數(shù)據(jù),所述主控器內(nèi)正在進行拷貝的數(shù)據(jù),和所述主控器已經(jīng)克隆完成還未拷貝到所述源卷對應的目的卷中的數(shù)據(jù)。
[0026]—種數(shù)據(jù)克隆系統(tǒng),用于數(shù)據(jù)災備系統(tǒng),所述數(shù)據(jù)災備系統(tǒng)包括主控制器和從控制器,所述數(shù)據(jù)克隆系統(tǒng)包括:判定模塊、停止克隆模塊和第一克隆模塊;其中,
[0027]所述判斷模塊,用于判斷所述主控制器是否發(fā)生故障;
[0028]所述停止克隆模塊,用于當判定所述主控制器發(fā)生故障時,向所述主控制器發(fā)送停止克隆指令,接收所述主控制器停止克隆后返回的反饋信息,確定源卷中還未進行克隆的數(shù)據(jù);
[0029]所述第一克隆模塊,用于向所述從控制器發(fā)送克隆指令,使所述從控制器接收到所述克隆指令后對所述源卷中還未進行克隆的數(shù)據(jù)進行克隆。
[0030]其中,所述的數(shù)據(jù)克隆系統(tǒng)還包括:第二克隆模塊,用于向所述主控制器發(fā)送克隆指令;使所述主控制器接收到所述克隆指令后對所述源卷內(nèi)數(shù)據(jù)進行克隆。
[0031]其中,所述數(shù)據(jù)克隆系統(tǒng)還包括:克隆準備模塊,所述克隆準備模塊包括指令發(fā)送單元、關系建立單元和激活單元;其中,
[0032]所述指令發(fā)送單元,用于向所述主控制器和所述從控制器均發(fā)送克隆準備指令;
[0033]所述關系建立單元,用于確定待進行克隆的源卷和目的卷,在所述主控制器和所述從控制器內(nèi)均建立所述源卷和所述目的卷的克隆關系;
[0034]所述激活單元,用于對所述主控制器和所述從控制器均進行激活操作。
[0035]基于上述技術方案,本發(fā)明實施例提供的數(shù)據(jù)克隆方法和系統(tǒng),用于數(shù)據(jù)災備系統(tǒng),所述數(shù)據(jù)災備系統(tǒng)包括主控制器和從控制器,判斷數(shù)據(jù)災備系統(tǒng)內(nèi)主控制器是否發(fā)生故障,若主控制器發(fā)生故障,則向該故障主控制器發(fā)送停止克隆指令,該主控制器在接收到該停止克隆指令后,將停止克隆操作,并向該主控制器發(fā)送反饋信息,告知系統(tǒng)在源卷中存在哪些還未進行克隆的數(shù)據(jù),在確定源卷中還未進行克隆的數(shù)據(jù)后,向從控制器發(fā)送克隆指令,使從控制器在接收到克隆指令后開始對該源卷中還未進行克隆的數(shù)據(jù)進行克隆。當主控器發(fā)生故障時,則停止主控制器的克隆操作,啟動從控制器,將克隆功能切換到從控制器上來進行,無需等待主控制器的修復,也無需從目標卷恢復數(shù)據(jù),便可繼續(xù)進行克隆操作,恢復克隆的等待時間極短,保證了上層業(yè)務的不間斷運行,且保證了用戶數(shù)據(jù)的實時一致性數(shù)據(jù)備份,提高了數(shù)據(jù)的可靠性。
【附圖說明】
[0036]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0037]圖1為本發(fā)明實施例提供的數(shù)據(jù)克隆方法的流程圖;
[0038]圖2為本發(fā)明實施例提供的數(shù)據(jù)克隆方法中控制主控制器對源卷內(nèi)數(shù)據(jù)進行克隆的方法流程圖;
[0039]圖3為本發(fā)明實施例提供的數(shù)據(jù)克隆方法中進行克隆準備的方法流程圖;
[0040]圖4為本發(fā)明實施例提供的數(shù)據(jù)克隆方法中主控制器停止克隆的方法流程圖;
[0041]圖5為本發(fā)明實施例提供的數(shù)據(jù)克隆方法中從控制器接收到克隆指令后對源卷中還未進行克隆的數(shù)據(jù)進行克隆的方法流程圖;
[0042]圖6為本發(fā)明實施例提供的數(shù)據(jù)克隆系統(tǒng)的系統(tǒng)框圖,用于數(shù)據(jù)災備系統(tǒng);
[0043]圖7為本發(fā)明實施例提供的數(shù)據(jù)克隆系統(tǒng)的另一系統(tǒng)框圖;
[0044]圖8為本發(fā)明實施例提供的數(shù)據(jù)克隆系統(tǒng)中克隆準備模塊的結構框圖。
【具體實施方式】
[0045]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前