一種實現服務器節點間時間同步的方法及裝置制造方法
【專利摘要】本發明公開了一種實現服務器節點間時間同步的方法及裝置,應用于兩個以上服務器節點中,包括:選擇兩個服務器節點作為主用時間服務器和備用時間服務器;當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。本發明的技術方案實現了集群存儲系統中各個服務器節點時間的一致性。
【專利說明】一種實現服務器節點間時間同步的方法及裝置
【技術領域】
[0001]本發明涉及分布式集群技術,尤指一種集群存儲系統中實現服務器節點間時間同步的方法及裝置。
【背景技術】
[0002]由于集群存儲系統內部服務器節點時間不一致,會影響集群存儲系統安全、通信和數據I/o等性能,因此,為了保證集群存儲系統的系統安全和可用性,需要嚴格保持系統內部各服務器節點間時間的一致性。
[0003]但是,現有集群存儲系統中,為了保證系統安全性、保密性,會禁止服務器節點連接外網,這樣就導致了沒有外部的時間源作為集群服務器節點同步對象的問題。也就是說,如何保證集群存儲系統內所有服務器節點既能同步外部時間源,又能在沒有外部時間源的應用下同步內部時間源,即實現集群存儲系統中各個服務器節點時間的一致性已成為當前亟需解決的一個問題。
【發明內容】
[0004]為了解決上述技術問題,本發明提供了一種實現服務器節點間時間同步的方法及裝置,能夠實現集群存儲系統中各個服務器節點時間的一致性。
[0005]為了達到本發明目的,本發明提供了一種實現服務器節點間時間同步的方法,應用于兩個以上服務器節點中,包括:
[0006]選擇兩個服務器節點作為主用時間服務器和備用時間服務器;
[0007]當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0008]進一步地,在設置主用時間服務器的時間之前,該方法還包括:判斷主用時間服務器是否可用。
[0009]進一步地,當主用時間服務器不可用時,該方法還包括:
[0010]判斷備用時間服務器是否可用;
[0011]當備用時間服務器可用時,設置備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0012]進一步地,該方法還包括:當備用時間服務器不可用時,結束本流程。
[0013]進一步地,選擇主用時間服務器和備用時間服務器,包括:
[0014]確定各個服務器節點的I/O壓力;
[0015]對所有服務器節點的I/O壓力進行排序,從I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
[0016]進一步地,設置主用時間服務器的時間,包括:
[0017]當主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間;
[0018]當主用時間服務器設置為禁止獲取外部標準時間源時,設置主用時間服務器的時間為主用時間服務器的當前時間。
[0019]進一步地,設置備用時間服務器的時間,包括:
[0020]當備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間;
[0021]當備用時間服務器設置為禁止獲取外部標準時間源時,設置備用時間服務器的時間為備用時間服務器的當前時間。
[0022]本發明還提供了一種實現服務器節點間時間同步的裝置,應用于兩個以上服務器節點中,包括:選擇模塊和第一設置模塊;其中,
[0023]選擇模塊,用于選擇兩個服務器節點作為主用時間服務器和備用時間服務器;
[0024]第一設置模塊,用于當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0025]進一步地,該裝置還包括第一判斷模塊,分別與選擇模塊和第一設置模塊相連,用于判斷主用時間服務器是否可用。
[0026]進一步地,該裝置還包括:第二判斷模塊和第二設置模塊;其中,
[0027]第二判斷模塊,與第一判斷模塊相連,用于當主用時間服務器不可用時,判斷備用時間服務器是否可用;
[0028]第二設置模塊,與第二判斷模塊相連,用于當備用時間服務器可用時,設置備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0029]進一步地,選擇模塊還用:當主用時間服務器和備用時間服務器均不可用時,繼續選擇兩個服務器節點作為主用時間服務器和備用時間服務器。
[0030]進一步地,選擇模塊,具體用于:
[0031]確定各個服務器節點的I/O壓力;
[0032]對所有服務器節點的I/O壓力進行排序,從I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
[0033]進一步地,第一設置模塊,具體用于:
[0034]當主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間;
[0035]當主用時間服務器設置為禁止獲取外部標準時間源時,設置主用時間服務器的時間為主用時間服務器的當前時間。
[0036]進一步地,第二設置模塊,具體用于:
[0037]當備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間;
[0038]當備用時間服務器設置為禁止獲取外部標準時間源時,設置備用時間服務器的時間為備用時間服務器的當前時間。
[0039]本發明技術方案包括:應用于兩個以上服務器節點中,包括:選擇兩個服務器節點作為主用時間服務器和備用時間服務器;當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。本發明的技術方案實現了集群存儲系統中各個服務器節點時間的一致性。
【專利附圖】
【附圖說明】
[0040]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
[0041]圖1為本發明實現服務器節點間時間同步的方法的流程圖;
[0042]圖2為本發明集群存儲系統中主用時間服務器可用的時間同步示意圖;
[0043]圖3為本發明中集群存儲系統中主用時間服務器不可用的時間同步示意圖;
[0044]圖4為本發明實現服務器節點間時間同步的裝置的結構示意圖。
【具體實施方式】
[0045]為使本發明的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本發明的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0046]圖1本發明實現服務器節點間時間同步的方法的流程圖,應用于兩個以上服務器節點中,如圖1所示,包括:
[0047]步驟101:選擇兩個服務器節點作為主用時間服務器和備用時間服務器。
[0048]具體包括:確定各個服務器節點的I/O壓力;
[0049]對所有服務器節點的I/O壓力進行排序,從I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
[0050]其中,I/O壓力包括:CPU利用率,和/或內存大小,和/或網絡流量。I/O壓力最小是指CPU利用率最小,和/或剩余內存大,和/或網絡流量使用少。
[0051]需要說明的是,在步驟101之前,禁止集群存儲系統中各個服務器節點與外部網絡的連接。當確定了主用時間服務器和備用時間服務器之后,可以允許主用時間服務器和備用時間服務器與外部網絡的連接。這樣極大的保證了系統安全性、保密性。
[0052]步驟102:當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0053]當主用時間服務器可用時,參見圖2所示,即為本發明集群存儲系統中主用時間服務器可用的時間同步示意圖。
[0054]進一步地,在步驟102之前,該方法還包括:判斷主用時間服務器是否可用。具體包括:判斷其他服務器節點是否能夠與主用時間服務器進行通信,若不能進行通信則說明主用時間服務器不可用,若能進行通信則說明主用時間服務器可用。其中,如何判斷其他服務器節點是否能夠與主用時間服務器進行通信屬于本領域技術人員所熟知的慣用技術手段,在此不再贅述。
[0055]其中,設置主用時間服務器的時間,包括:
[0056]當主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間;
[0057]當主用時間服務器設置為禁止獲取外部標準時間源時,設置主用時間服務器的時間為主用時間服務器的當前時間。
[0058]需要說明的是,當主用時間服務器設置為允許獲取外部標準時間源時,主用時間服務器則獲取外部標準時間源。
[0059]當主用時間服務器不可用時,參見圖3所示,即為本發明集群存儲系統中主用時間服務器不可用的時間同步示意圖,此時集群存儲系統中各個服務器節點同步備用時間服務器的時間。
[0060]進一步地,當主用時間服務器不可用時,該方法還包括:
[0061]判斷備用時間服務器是否可用;
[0062]當備用時間服務器可用時,設置備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0063]其中,設置備用時間服務器的時間,包括:
[0064]當備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間;
[0065]當備用時間服務器設置為禁止獲取外部標準時間源時,設置備用時間服務器的時間為備用時間服務器的當前時間。
[0066]需要說明的是,當備用時間服務器設置為允許獲取外部標準時間源時,備用時間服務器則獲取外部標準時間源。
[0067]進一步地,當主用時間服務器和備用時間服務器均不可用時,返回步驟101。
[0068]需要說明的是,在步驟101中,一旦確定主用時間服務器和備用時間服務器,集群存儲系統的管理員會開通主用時間服務器和備用時間服務器與外部網絡連接的權限,以便主用時間服務器和備用時間服務器獲取外部標準時間源。無法獲取外部標準時間源是指網絡異常,無法與外部網絡連接。
[0069]其中,外部標準時間源是指國家授時中心的簡單網絡時間協議(SNTP)校時服務時間源或其他用戶指定時間源。
[0070]需要說明的是,其他服務器節點可以使用開源軟件,如ntp服務獲取主用時間服務器或備用時間服務器的時間。具體實現屬于本領域技術人員的慣用技術手段,并不用于限定本發明的保護范圍,這里不再贅述。
[0071]圖4本發明實現服務器節點間時間同步的裝置的流程圖,應用于兩個以上服務器節點中,如圖4所示,包括:選擇模塊和第一設置模塊。其中,
[0072]選擇模塊,用于選擇兩個服務器節點作為主用時間服務器和備用時間服務器。
[0073]其中,選擇模塊具體用于:
[0074]確定各個服務器節點的I/O壓力;
[0075]對所有服務器節點的I/O壓力進行排序,從I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
[0076]其中,I/O壓力包括:CPU利用率,和/或內存大小,和/或網絡流量。I/O壓力最小是指CPU利用率最小,和/或內存剩余大,和/或網絡流量使用少。
[0077]第一設置模塊,用于當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0078]其中,第一設置模塊具體用于:
[0079]當主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間;
[0080]當主用時間服務器設置為禁止獲取外部標準時間源時,設置主用時間服務器的時間為主用時間服務器的當前時間。
[0081]進一步地,該裝置還包括第一判斷模塊,分別與選擇模塊和第一設置模塊相連,用于判斷主用時間服務器是否可用。
[0082]具體包括:判斷其他服務器節點是否能夠與主用時間服務器進行通信,若不能進行通信則說明主用時間服務器不可用,若能進行通信則說明主用時間服務器可用。
[0083]進一步地,該裝置還包括第二判斷模塊,與第一判斷模塊相連,用于判斷備用時間服務器是否可用。
[0084]進一步地,該裝置還包括第二設置模塊,與第二判斷模塊相連,用于當備用時間服務器可用時,設置備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
[0085]其中,第二設置模塊具體用于:
[0086]當備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間;
[0087]當備用時間服務器設置為禁止獲取外部標準時間源時,設置備用時間服務器的時間為備用時間服務器的當前時間。
[0088]其中,外部標準時間源是指國家授時中心的簡單網絡時間協議(SNTP)校時服務時間源或其他用戶指定時間源。
[0089]選擇模塊,還用于當主用時間服務器和備用時間服務器均不可用時,繼續選擇兩個服務器節點作為主用時間服務器和備用時間服務器。
[0090]本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。本申請不限制于任何特定形式的硬件和軟件的結合。
[0091]雖然本發明所揭露的實施方式如上,但所述的內容僅為便于理解本發明而采用的實施方式,并非用以限定本發明。任何本發明所屬領域內的技術人員,在不脫離本發明所揭露的精神和范圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本發明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【權利要求】
1.一種實現服務器節點間時間同步的方法,應用于兩個以上服務器節點中,其特征在于,包括: 選擇兩個服務器節點作為主用時間服務器和備用時間服務器; 當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
2.根據權利要求1所述的方法,其特征在于,在所述設置主用時間服務器的時間之前,該方法還包括:判斷所述主用時間服務器是否可用。
3.根據權利要求2所述的方法,其特征在于,當主用時間服務器不可用時,該方法還包括: 判斷所述備用時間服務器是否可用; 當所述備用時間服務器可用時,設置所述備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
4.根據權利要求3所述的方法,其特征在于,該方法還包括:當備用時間服務器不可用時,結束本流程。
5.根據權利要求1所述的方法,其特征在于,所述選擇主用時間服務器和備用時間服務器,包括: 確定各個服務器節點的I/o壓力; 對所有服務器節點的I/o壓力進行排序,從所述I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
6.根據權利要求1所述的方法,其特征在于,所述設置主用時間服務器的時間,包括: 當所述主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間; 當所述主用時間服務器設置為禁止獲取外部標準時間源時,設置所述主用時間服務器的時間為主用時間服務器的當前時間。
7.根據權利要求3所述的方法,其特征在于,所述設置備用時間服務器的時間,包括: 當所述備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間; 當所述備用時間服務器設置為禁止獲取外部標準時間源時,設置所述備用時間服務器的時間為備用時間服務器的當前時間。
8.一種實現服務器節點間時間同步的裝置,應用于兩個以上服務器節點中,其特征在于,包括:選擇模塊和第一設置模塊;其中, 選擇模塊,用于選擇兩個服務器節點作為主用時間服務器和備用時間服務器; 第一設置模塊,用于當主用時間服務器可用時,設置主用時間服務器的時間,將設置的主用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
9.根據權利要求8所述的裝置,其特征在于,所述裝置還包括第一判斷模塊,分別與選擇模塊和第一設置模塊相連,用于判斷所述主用時間服務器是否可用。
10.根據權利要求9所述的裝置,其特征在于,該裝置還包括:第二判斷模塊和第二設直豐旲塊;其中, 第二判斷模塊,與所述第一判斷模塊相連,用于當主用時間服務器不可用時,判斷所述備用時間服務器是否可用; 第二設置模塊,與第二判斷模塊相連,用于當所述備用時間服務器可用時,設置所述備用時間服務器的時間,將設置的備用時間服務器的時間作為集群存儲系統中各個服務器節點的同步時間源。
11.根據權利要求10所述的裝置,其特征在于,所述選擇模塊還用:當主用時間服務器和備用時間服務器均不可用時,繼續選擇兩個服務器節點作為主用時間服務器和備用時間服務器。
12.根據權利要求7所述的裝置,其特征在于,所述選擇模塊,具體用于: 確定各個服務器節點的I/O壓力; 對所有服務器節點的I/O壓力進行排序,從所述I/O壓力最小的服務節點開始順序選擇兩個務器節點分別作為主用時間服務器和備用時間服務器。
13.根據權利要求7所述的裝置,其特征在于,所述第一設置模塊,具體用于: 當所述主用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為主用時間服務器的時間; 當所述主用時間服務器設置為禁止獲取外部標準時間源時,設置所述主用時間服務器的時間為主用時間服務器的當前時間。
14.根據權利要求10所述的裝置,其特征在于,所述第二設置模塊,具體用于: 當所述備用時間服務器設置為允許獲取外部標準時間源時,設置獲得的外部標準時間源為備用時間服務器的時間; 當所述備用時間服務器設置為禁止獲取外部標準時間源時,設置所述備用時間服務器的時間為備用時間服務器的當前時間。
【文檔編號】H04L29/08GK104270449SQ201410528446
【公開日】2015年1月7日 申請日期:2014年10月9日 優先權日:2014年10月9日
【發明者】張延良 申請人:浪潮(北京)電子信息產業有限公司