本申請涉及計算機網絡技術領域,具體涉及分布式存儲應用技術領域,尤其涉及用于服務器集群的數據均衡方法與裝置。
背景技術:
在大規(guī)模分布式存儲系統(tǒng)中通常包括多個服務器集群,隨著數據量和讀寫請求的增長各個服務器集群不可避免的需要擴容。服務器集群擴容也就是在服務器集群原有服務器的基礎上增加一定數量的新服務器。在服務器集群擴容后數據如何分配成為需要解決的問題。
現(xiàn)有技術中的一種服務器集群擴容后數據分配方法為根據一定策略將原有所有數據集合水平分為多個子集,將部分子集對應的數據遷移至新服務器上,隨著上述部分子集的數據遷移,對應這些子集的新增寫入也跟隨到了新增服務器上。同時,為了不影響正常的數據請求,需要對數據遷移進行控制。這樣一來,數據遷移的速度較慢,從而使得依靠數據遷移達到全集群的數據均衡的時間較長。此外,這種數據分配方法需要在各原服務器的空間寫滿之前進行擴容,增加了服務器集群的擴容成本。
技術實現(xiàn)要素:
本申請的目的在于提出一種改進的用于服務器集群的數據均衡方法與裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請?zhí)峁┝艘环N用于服務器集群的數據均衡方法,該方法包括:響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤,其中,至少一個源磁盤位于擴容前的服務器集群的至少一個原服務器中,目標磁盤位于擴容后的服務器集群中的新增服務器中;禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作;當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作;其中,預設條件包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
在一些可選的實現(xiàn)方式中,在禁止擴容后新增的服務器接收對目標磁盤的讀寫請求之前,上述方法還包括:將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)不同的新加入狀態(tài)。
在一些可選的實現(xiàn)方式中,上述方法還包括:當目標磁盤滿足預設條件時,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài)。
在一些可選的實現(xiàn)方式中,上述方法還包括:若屬于同一個新增服務器的所有磁盤的狀態(tài)均為普通狀態(tài)時,使能該新增服務器接收對目標磁盤的讀寫請求。
在一些可選的實現(xiàn)方式中,各源磁盤對應的待遷移數據為不同的數據。
在一些可選的實現(xiàn)方式中,上述確定存儲待遷移數據的至少一個源磁盤和用于存儲源磁盤中的待遷移數據的目標磁盤,包括:確定存儲在擴容前的服務器集群中的數據占用的存儲空間;將存儲空間除以擴容后服務器集群的總存儲空間,得到比例閾值;分別計算擴容前的服務器集群中的原服務器中的每一個磁盤的比例參數,比例參數為各磁盤上存儲的數據占用的存儲空間除以該磁盤的總存儲空間;當比例參數大于比例閾值時,將磁盤作為源磁盤。
第二方面,本申請?zhí)峁┝艘环N用于服務器集群的數據均衡裝置,該裝置包括:確定單元,配置用于響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤,其中,至少一個源磁盤位于擴容前的服務器集群的至少一個原服務器中,目標磁盤位于擴容后的服務器集群中的新增服務器中;執(zhí)行單元,配置用于禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作;停止單元,配置用于當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作,預設條件包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
在一些可選的實現(xiàn)方式中,上述裝置還包括設置單元,設置單元配置用于在執(zhí)行單元禁止擴容后新增的服務器接收對目標磁盤的讀寫請求之前,將目標磁盤設置為與源磁盤的狀態(tài)不同的新加入狀態(tài)。
在一些可選的實現(xiàn)方式中,設置單元進一步配置用于當目標磁盤滿足預設條件時,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài)。
在一些可選的實現(xiàn)方式中,上述裝置還包括使能單元,使能單元配置用于當屬于同一個新增服務器的所有磁盤的狀態(tài)均為普通狀態(tài)時,使能該新增服務器接收對目標磁盤的讀寫請求。
在一些可選的實現(xiàn)方式中,各源磁盤對應的待遷移數據為不同的數據。
在一些可選的實現(xiàn)方式中,確定單元進一步配置用于:確定存儲在擴容前的服務器集群中的數據占用的存儲空間;將存儲空間除以擴容后服務器集群的總存儲空間,得到比例閾值;分別計算擴容前的服務器集群中的原服務器中的每一個磁盤的比例參數,比例參數為各磁盤上存儲的數據占用的存儲空間除以該磁盤的總存儲空間;當比例參數大于比例閾值時,將磁盤作為源磁盤。
本申請?zhí)峁┑挠糜诜掌骷旱臄祿夥椒ㄅc裝置,通過首先確定待遷移數據的至少一個源磁盤和用于存儲待遷移數據的一個目標磁盤,然后禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作,最后當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作。實現(xiàn)了由至少一個源磁盤到一個目標磁盤的快速數據遷移,進而可以實現(xiàn)擴容后的服務器集群在短時間內快速達到數據均衡;此外,采用本申請?zhí)峁┑募夹g方案可以在原數據塊服務器寫滿時進行擴容,因此降低了擴容成本。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應用于其中的示例性系統(tǒng)架構圖;
圖2是根據本申請的用于服務器集群的數據均衡方法的一個實施例的流程圖;
圖3是根據本申請的用于服務器集群的數據均衡方法原理示意圖;
圖4是根據本申請的用于服務器集群的數據均衡方法的另一個實施例的流程圖
圖5是根據本申請的用于服務器集群的數據均衡的裝置的一個實施例的結構示意圖;
圖6是適于用來實現(xiàn)本申請實施例的服務器的計算機系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用本申請的用于服務器集群的數據均衡方法或用于服務器集群的數據均衡裝置的實施例的示例性系統(tǒng)架構100。
如圖1所示,系統(tǒng)架構100可以包括數據塊服務器101、102、103,主服務器104和客戶端105。主服務器104和客戶端105之間,數據塊服務器101、102、103與主服務器之間,以及數據塊服務器101、102、103與客戶端105之間通過網絡進行通信。此處的網絡可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
客戶端105通過網絡與主服務器104交互,以接收或發(fā)送消息等。用戶可以通過各種應用與客戶端進行交互。
客戶端105可以是具有顯示屏并且支持網頁瀏覽的各種電子設備,包括但不限于智能手機、平板電腦、膝上型便攜計算機和臺式計算機等等??蛻舳?05上可以安裝有與主服務器以及數據塊服務器進行通信的接口程序。
主服務器104可以是用以管理文件存儲系統(tǒng)的服務器。主服務器104通過網絡與客戶端105通信。將可以支持客戶端105進行數據寫入或讀取的數據塊服務器101、102、103信息發(fā)給客戶端105,并在應客戶端105進行數據塊寫入時建立名字空間、訪問控制信息、文件和數據塊的映射信息、及當前數據塊的位置信息等管理信息。
數據塊服務器101、102、103可以是存儲數據的服務器,例如普通的商用計算機。數據塊服務器101、102、103通過網絡與客戶端105通信,接收客戶端105寫入的數據塊;以及向客戶端105提供其讀取的數據塊。
需要說明的是,本申請實施例所提供的用于服務器集群的數據均衡方法一般由主服務器104執(zhí)行,相應地,用于服務器集群的裝置一般設置于主服務器104中。
應該理解,圖1中的數據塊服務器、主服務器和客戶端的數目僅僅是示意性的。根據實現(xiàn)需要,可以具有任意數目的數據塊服務器、主服務器和客戶端。
請參考圖2,示出了根據本申請的用于服務器集群的數據均衡方法的一個實施例的流程200。所述的用于服務器集群的數據均衡方法,包括以下步驟:
步驟201,響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤。
服務器集群通常包括多臺數據塊服務器和一臺主服務器。其中主服務器對所有數據塊服務器中存儲的數據進行管理。當有寫入數據時,主服務器將數據按照固定大小進行分塊,為每個分塊建立唯一標識,并為每個塊確定存儲位置。同時主服務器建立數據塊的管理信息。數據塊的位置信息可以包括數據塊所在的數據塊服務器的標識信息及具體的磁盤信息。其中,數據塊服務器的標識信息例如可以包括數據塊服務器的IP地址信息。數據塊服務器可以按照主服務器為各數據塊分配的空間及位置對各數據塊進行存儲。值得指出的是,主服務器是一個邏輯概念,一臺主服務器可以包括多臺物理主機。
當服務器集群的容量出現(xiàn)瓶頸時,需要對服務器集群進行擴容,通常服務器集群擴容是指在原服務器集群中添加新的數據塊服務器。
在本實施例中,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)首先確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤。
具體地,主服務器可以將擴容后的新增服務器中的任意一個磁盤作為目標磁盤。也就是說上述目標磁盤位于擴容后的服務器集群中的新增服務器中。新增服務器例如可以為擴容后的服務器集群中的新增的數據塊服務器。
對于上述任意一個目標磁盤,主服務器獲取該目標磁盤的存儲空間,然后根據該目標磁盤的存儲空間從至少一個原數據塊服務器中選取待遷移數據。在選取待遷移數據時可以首先從原數據塊服務器中確定至少一個源磁盤,再從上述至少一個源磁盤中選取一定數量的數據塊作為待遷移數據。在一些應用場景中,存儲于數據塊服務器中的各個數據塊的大小為一個固定值。該固定值例如可以為32GB。
通常,在分布式存儲集群中,每一份數據可以包括多個副本,不同的副本可以存儲于不同的數據塊服務器中。在本實施例的一些可選實現(xiàn)方式中,從各個源磁盤中選取的待遷移數據可以為不同的數據。此處“不同的數據”可以是待遷移數據塊所對應的用戶的標識信息不同,還可以是待遷移數據塊中的數據內容不同。當從各個源磁盤中選取的待遷移數據為不同的數據時,每一份數據將只有一個副本被遷移到新增服務器中。這樣不但可以保證數據在擴容后的集群中均勻分布,還可以使得在一份數據的一個副本被遷移到新增服務器上的目標磁盤的過程中,該份數據位于其他原數據塊服務器中的其它副本可以為用戶的讀寫請求提供服務。
在本實施例中,上述至少一個源磁盤位于擴容前的原服務器集群的至少一個原服務器中。此處,原服務器可以為原服務器集群中的數據塊服務器。
在本實施例的一些可選實現(xiàn)方式中,主服務器可以根據如下方法來確定源磁盤:首先,確定存儲在擴容前的服務器集群中的所有的數據占用的存儲空間。然后將所有的數據占用的存儲空間除以擴容后服務器集群的總存儲空間,得到比例閾值。接著分別計算擴容前的服務器集群中的原服務器中的每一個磁盤的比例參數;此處,任意一個磁盤的比例參數可以為該磁盤上存儲的數據所占用的存儲空間除以該磁盤的總存儲空間。最后,當一個磁盤的比例參數大于比例閾值時,可以將該磁盤作為源磁盤。
需要說明的是,上述確定源磁盤的方法不限于上述的方法。確定源磁盤的方法可以是其他任意可以將上述原服務器中各數據塊服務器判定為源磁盤的方法,本實施例不對上述確定源磁盤的方法進行具體的限定。
步驟202,禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作。
在本實施例中,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)在步驟201中確定了目標磁盤和源磁盤后,禁止新增服務器接收如圖1所示客戶端對目標磁盤的讀寫請求。然后通過網絡將待遷移數據自源磁盤遷移到目標磁盤中。
值得指出的是,主服務器還可以將待遷移數據及待遷移數據存儲的在源磁盤中的存儲位置信息以及目標磁盤信息通過網絡發(fā)送給目標磁盤所在的新增數據塊服務器。然后由新增數據塊服務器向源磁盤所在的原數據塊服務器發(fā)送遷移數據請求,遷移數據請求中包括源磁盤信息及待遷移數據信息。響應于新增服務器的遷移數據請求,原數據塊服務器將源磁盤上的待遷移數據發(fā)送至新增服務器的目標磁盤中。類似地,還可以將待遷移數據及待遷移數據存儲的在源磁盤中的存儲位置信息以及目標磁盤信息發(fā)送給各個源磁盤所在的原數據塊服務器中,原數據塊服務器將待遷移數據發(fā)送至新增服務器的目標磁盤中。
禁止客戶端對新增服務器的目標磁盤的讀寫請求可以加快執(zhí)行至少一個源磁盤向目標磁盤數據遷移的速度。
步驟203,當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作。
當用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)判斷目標磁盤滿足預設條件時,可以停止執(zhí)行將源磁盤中的待遷移數據遷移至目標磁盤的操作。
在本實施例中,上述預設條件可以包括目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
本申請?zhí)峁┑挠糜诜掌骷旱臄祿夥椒ㄅc裝置,通過首先確定待遷移數據的至少一個源磁盤和用于存儲待遷移數據的一個目標磁盤,然后禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作,最后當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作。實現(xiàn)了由至少一個源磁盤到一個目標磁盤的快速數據遷移,進而可以實現(xiàn)擴容后的服務器集群在短時間內快速達到數據均衡;此外,采用本申請?zhí)峁┑募夹g方案可以在原數據塊服務器寫滿時進行擴容,因此降低了擴容成本。
繼續(xù)參見圖3,圖3是根據本申請的用于服務器集群的數據均衡方法的原理性流程圖300。如圖3所示,擴容前的原服務器集群中的原數據塊服務器A、B、C和D,擴容后的服務器集群中包括原數據塊服務器A、B、C和D以及新增數據塊服務器E。原數據塊服務器A、B、C和D分別包括磁盤a,b,c,d。新增數據塊服務器E包括磁盤e1和磁盤e2。擴容后的服務器集群中新增數據塊服務器E中磁盤e1和e2分別被作為目標磁盤。原數據塊服務器A中的磁盤a、原數據塊服務器B中的磁盤b被確定為對應于目標磁盤e1的源磁盤。原數據塊服務器C中的磁盤c、原數據塊服務器D中的磁盤d被確定為對應于目標磁盤e2的源磁盤。根據目標磁盤e1的存儲空間從源磁盤a和源磁盤b中選取待遷移數據向目標磁盤e1中進行數據遷移。同時根據目標磁盤e2的存儲空間從源磁盤c和源磁盤d中選取待遷移數據向目標磁盤e2中進行數據遷移。圖3所示的數據均衡方法,可以在短時間內快速實現(xiàn)擴容后的服務器集群的數據均衡。
繼續(xù)參考圖4,其示出了根據本申請的用于服務器集群的數據均衡方法的又一個實施例的流程400。所述的用于服務器集群的數據均衡方法,包括以下步驟:
步驟401,響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤。
在本實施例中,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)將擴容后的新增數據塊服務器中的每一個磁盤作為目標磁盤,并獲取每一個目標磁盤的存儲空間。
對于每一個目標磁盤,主服務器根據其存儲空間從擴容前的至少一個原數據塊服務器中確定至少一個源磁盤。并從上述至少一個源磁盤中選取一定量的數據塊作為待遷移數據。
每一個源磁盤對應的待遷移數據不相同。此處的每一個源磁盤對應待遷移數據不相同可以是待遷移數據塊中的數據內容不相同,還可以是待遷移數據塊的標識不相同。
步驟402,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)不同的新加入狀態(tài)。
與圖2所示實施例不同之處在于,在本實施例中,在步驟401中確定了存儲待遷移數據的至少一個源磁盤和一個用于存儲待遷移數據的目標磁盤之后,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)不同的新加入狀態(tài)。這樣一來,可以方便主服務器對各個目標磁盤的管理與控制。
步驟403,禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作。
在步驟402中將目標磁盤的狀態(tài)設置為新加入狀態(tài)之后,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)禁止新增服務器接收對目標磁盤的讀寫請求。
同時主服務器通過網絡執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作。
步驟404,當目標磁盤滿足預設條件時,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài),并停止執(zhí)行遷移操作。
當目標磁盤滿足預設條件時,用于服務器集群的數據均衡方法運行于其上的電子設備(例如圖1所示的主服務器)將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài)。同時停止執(zhí)行遷移操作。
在本實施例中,上述預設條件例如可以包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同。其中,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
在本實施例的一些可選實現(xiàn)方式中,若屬于同一個新增服務器的所有磁盤的狀態(tài)均為普通狀態(tài)時,使能該新增服務器接收對目標磁盤的讀寫請求。也就是說,當一個新增服務器的所有的磁盤的剩余容量與源磁盤的平均剩余容量相同時,不再對該新增服務器中的磁盤數據遷移,同時該新增服務器可以為用戶的讀寫請求提供服務。新增服務器可以為用戶的讀寫請求提供服務,也就是服務器集群的數據吞吐量增加了。
在本實施例中,除了可以使擴容后的服務器集群在短時間內快速達到數據均衡,并節(jié)省擴容成本外,通過在執(zhí)行數據遷移前,對目標磁盤的狀態(tài)設置為不同于源磁盤的新加入狀態(tài),并在磁盤目標磁盤滿足預設條件時,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài),既便于主服務器對目標磁盤的識別及管理,同時還能及時使新增服務器對客戶端提供讀寫服務,以提高服務器集群的數據吞吐量。
進一步參考圖5,作為對圖1所示方法的實現(xiàn),本申請?zhí)峁┝艘环N用于服務器集群的數據均衡裝置的一個實施例,該裝置實施例與圖1所示的方法實施例相對應,該裝置具體可以應用于各種終端中。
如圖5所示,本實施例用于服務器集群的數據均衡裝置500包括:確定單元501、執(zhí)行單元502、與停止單元503。其中,確定單元501配置用于響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤,其中,至少一個源磁盤位于擴容前的服務器集群的至少一個原服務器中,目標磁盤位于擴容后的服務器集群中的新增服務器中。執(zhí)行單元502配置用于禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作。停止單元503配置用于當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作,預設條件包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
在本實施例中,確定單元501例如可以將擴容后的新增服務器中的任意一個磁盤作為目標磁盤。此處,新增服務器可以為擴容后的服務器集群中的新增數據塊服務器。
對于上述任意一個目標磁盤,確定單元501獲取該目標磁盤的存儲空間,然后根據該目標磁盤的存儲空間從至少一個原數據塊服務器中選取待遷移數據。在選取待遷移數據時可以首先從原數據塊服務器中確定至少一個源磁盤,再從上述至少一個源磁盤中選取一定數量的數據塊作為待遷移數據。
在本實施例的一些可選實現(xiàn)方式中,確定單元501從各個源磁盤中選取的待遷移數據為不同的數據。此處不同的數據可以是指待遷移數據塊所對應的用戶的標識信息不同,還可以是指待遷移數據塊中的數據內容不同。確定單元501從各個源磁盤中選取的待遷移數據為不同的數據使得每一份數據只有一個副本被遷移到新增服務器中。這樣不但可以保證數據在擴容后的集群中均勻分布,還可以使得在一份數據的一個副本被遷移到新增服務器上的目標磁盤的過程中,該份數據位于其他原數據塊服務器中的其它副本可以為用戶的讀寫請求提供服務。
在本實施例的一些可選實現(xiàn)方式中,確定單元501進一步配置用于:首先,確定存儲在擴容前的服務器集群中的所有的數據占用的存儲空間。然后將所有的數據占用的存儲空間除以擴容后服務器集群的總存儲空間,得到比例閾值。接著分別計算擴容前的服務器集群中的原服務器中的每一個磁盤的比例參數;此處,任意一個磁盤的比例參數可以為該磁盤上存儲的數據所占用的存儲空間除以該磁盤的總存儲空間。最后,當一個磁盤的比例參數大于比例閾值時,可以將該磁盤作為源磁盤。
在本實施例中,執(zhí)行單元502在確定單元501確定了一個目標磁盤和至少一個源磁盤之后,禁止新增服務器接收客戶端對目標磁盤的讀寫請求。然后通過網絡將待遷移數據自源磁盤遷移到目標磁盤中。
在本實施例的一些可選實現(xiàn)方式中,用于服務器集群的數據均衡裝置500還包括設置單元(圖中未示出),設置單元配置用于在執(zhí)行單元禁止擴容后新增的服務器接收對目標磁盤的讀寫請求之前,將目標磁盤設置為與源磁盤的狀態(tài)不同的新加入狀態(tài)。
停止單元503配置用于當上述目標磁盤滿足預設條件時,停止執(zhí)行遷移操作。在本實施例中,預設條件包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
在本實施例的一些可選實現(xiàn)方式中,上述設置單元進一步配置用于當目標磁盤滿足預設條件時,將目標磁盤的狀態(tài)設置為與源磁盤的狀態(tài)相同的普通狀態(tài)。
在本實施例的一些可選實現(xiàn)方式中,用于服務器集群的數據均衡裝置500還包括使能單元(圖中未示出)。使能單元配置用于當屬于同一個新增服務器的所有磁盤的狀態(tài)均為普通狀態(tài)時,使能該新增服務器接收對目標磁盤的讀寫請求。
下面參考圖6,其示出了適于用來實現(xiàn)本申請實施例的服務器的計算機系統(tǒng)600的結構示意圖。
如圖6所示,計算機系統(tǒng)600包括中央處理單元(CPU)601,其可以根據存儲在只讀存儲器(ROM)602中的程序或者從存儲部分608加載到隨機訪問存儲器(RAM)603中的程序而執(zhí)行各種適當的動作和處理。在RAM 603中,還存儲有系統(tǒng)600操作所需的各種程序和數據。CPU 601、ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。
以下部件連接至I/O接口605:包括鍵盤等的輸入部分606;包括諸如液晶顯示器(LCD)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如LAN卡、調制解調器等的網絡接口卡的通信部分609。通信部分609經由諸如因特網的網絡執(zhí)行通信處理。驅動器610也根據需要連接至I/O接口605。可拆卸介質611,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器610上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分608。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網絡上被下載和安裝,和/或從可拆卸介質611被安裝。在該計算機程序被中央處理單元(CPU)601執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括確定單元、執(zhí)行單元、以及停止單元。其中,這些單元的名稱在某種情況下并不構成對該單元本身的限定,例如,確定單元還可以被描述為“確定源磁盤和目標磁盤的單元”。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述裝置中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入終端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執(zhí)行時,使得所述設備:響應于對服務器集群的擴容,確定存儲待遷移數據的至少一個源磁盤和用于存儲待遷移數據的目標磁盤,其中,至少一個源磁盤位于擴容前的服務器集群的至少一個原服務器中,目標磁盤位于擴容后的服務器集群中的新增服務器中;禁止新增服務器接收對目標磁盤的讀寫請求,并執(zhí)行將待遷移數據自源磁盤遷移到目標磁盤的遷移操作;當目標磁盤滿足預設條件時,停止執(zhí)行遷移操作;其中,預設條件包括:目標磁盤的剩余容量和源磁盤的平均磁盤剩余容量相同,平均磁盤剩余容量為源磁盤剩余容量之和除以源磁盤的數量。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發(fā)明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。