伺服器的部署方法及其系統與流程
2023-07-27 20:47:41 4

本公開涉及一種伺服器的部署方法及其系統。
背景技術:
openstack是一個開源的雲計算管理平臺項目。目前,在相關技術中,openstack的部署方法主要是用戶手動選擇配置選項,對指定伺服器進行部署。在實現本公開實施例的過程中,發明人發現相關技術至少存在如下缺陷:手動部署openstack,對用戶的硬體知識儲備要求較高,需要用戶對伺服器的硬體性能了如指掌,否則,難以做出較好的選擇。
技術實現要素:
本公開的一個方面提供了一種伺服器的部署方法,應用於雲計算管理平臺,包括:通過部署伺服器收集目標伺服器的硬體信息,其中,上述目標伺服器用於部署到上述雲計算管理平臺中以提供對應的服務;獲取存儲在上述部署伺服器中的伺服器部署規則,其中,上述伺服器部署規則用於規定在上述雲計算管理平臺中部署各伺服器時所遵循的法則;以及根據收集到的上述硬體信息和獲取到的上述伺服器部署規則,確定上述目標伺服器在上述雲計算管理平臺中所提供的服務。
可選地,在確定上述目標伺服器在上述雲計算管理平臺中所提供的服務之後,上述方法還包括:檢測是否有請求添加至上述雲計算管理平臺中的新增伺服器;若檢測有請求添加至上述雲計算管理平臺中的新增伺服器,則獲取用於指示上述新增伺服器在上述雲計算管理平臺中將提供的服務的用戶指令;以及根據上述用戶指令的指示,確定上述新增伺服器在上述雲計算管理平臺中所提供的服務。
可選地,在獲取用於指示上述新增伺服器在上述雲計算管理平臺中將提供的服務的用戶指令之前,上述方法還包括:檢測是否接收到上述用戶指令;若沒有接收到,則獲取上述新增伺服器的硬體信息;以及根據獲取的上述新增伺服器的硬體信息和上述伺服器部署規則,確定上述新增伺服器在上述雲計算管理平臺中所提供的服務。
可選地,在確定上述新增伺服器在上述雲計算管理平臺中所提供的服務的同時,上述方法還包括:根據獲取的上述目標伺服器的硬體信息和上述伺服器部署規則,重新確定上述目標伺服器在上述雲計算管理平臺中所提供的服務。
可選地,在確定上述目標伺服器在上述雲計算管理平臺中所提供的服務之後,上述方法還包括:檢測是否接收到用戶指令以指示將上述目標伺服器從上述雲計算管理平臺中刪除;以及若檢測接收到用戶指令以指示將上述目標伺服器從上述雲計算管理平臺中刪除,則根據接收到的用戶指令的指示,將上述目標伺服器從上述雲計算管理平臺中刪除。
可選地,上述雲計算管理平臺中除部署有上述目標伺服器之外還部署有其他伺服器,在將上述目標伺服器從上述雲計算管理平臺中刪除之後,上述方法還包括:重新確定上述其他伺服器在上述雲計算管理平臺中所提供的服務。
可選地,在確定上述目標伺服器在上述雲計算管理平臺中所提供的服務之後,上述方法還包括:將上述目標伺服器所安裝的作業系統的啟動鏡像推送給上述目標伺服器。
本公開的另一個方面提供了一種伺服器的部署系統,應用於雲計算管理平臺,包括:收集模塊,用於通過部署伺服器收集目標伺服器的硬體信息,其中,上述目標伺服器用於部署到上述雲計算管理平臺中以提供對應的服務;第一獲取模塊,用於獲取存儲在上述部署伺服器中的伺服器部署規則,其中,上述伺服器部署規則用於規定在上述雲計算管理平臺中部署各伺服器的所遵循的法則;以及第一確定模塊,用於根據收集到的上述硬體信息和獲取到的上述伺服器部署規則,確定上述目標伺服器在上述雲計算管理平臺中所提供的服務。
可選地,上述系統還包括:第一檢測模塊,用於在確定上述目標伺服器在上述雲計算管理平臺中所提供的服務之後,檢測是否有請求添加至上述雲計算管理平臺中的新增伺服器;第二獲取模塊,用於在有請求添加至上述雲計算管理平臺中的上述新增伺服器的情況下,獲取用於指示上述新增伺服器在上述雲計算管理平臺中將提供的服務的用戶指令;以及第二確定模塊,用於根據上述用戶指令的指示,確定上述新增伺服器在上述雲計算管理平臺中所充當的節點角色。
可選地,上述系統還包括:第二檢測模塊,用於在獲取用於指示上述新增伺服器在上述雲計算管理平臺中將提供的服務的用戶指令之前,檢測是否接收到上述用戶指令;第三獲取模塊,用於在沒有接收到上述用戶指令的情況下,獲取上述新增伺服器的硬體信息;以及第三確定模塊,用於根據獲取的上述新增伺服器的硬體信息和上述伺服器部署規則,確定上述新增伺服器在上述雲計算管理平臺中所提供的服務。
本公開的另一方面提供了一種非易失性存儲介質,存儲有計算機可執行指令,上述指令在被執行時用於實現如上任一項所述的伺服器的部署方法。
本公開的另一方面提供了一種電腦程式,上述電腦程式包括計算機可執行指令,上述指令在被執行時用於實現如上任一項所述的伺服器的部署方法。
附圖說明
為了更完整地理解本公開及其優勢,現在將參考結合附圖的以下描述,其中:
圖1a示意性示出了一種傳統的對伺服器進行部署的應用場景;
圖1b示意性示出了根據本公開實施例的可應用伺服器的部署方法及系統的應用場景;
圖2示意性示出了根據本公開實施例的伺服器的部署方法的流程圖;
圖3a示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖;
圖3b示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖;
圖3c示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖;
圖3d示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖;
圖4示意性示出了根據本公開實施例的伺服器的部署系統的框圖;
圖5a示意性示出了根據本公開另一實施例的伺服器的部署系統的框圖;
圖5b示意性示出了根據本公開另一實施例的伺服器的部署系統的框圖;以及
圖6示意性示出了根據本公開實施例的部署伺服器的框圖。
具體實施方式
以下,將參照附圖來描述本公開的實施例。但是應該理解,這些描述只是示例性的,而並非要限制本公開的範圍。此外,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本公開的概念。
在此使用的術語僅僅是為了描述具體實施例,而並非意在限制本公開。這裡使用的詞語「一」、「一個(種)」和「該」等也應包括「多個」、「多種」的意思,除非上下文另外明確指出。此外,在此使用的術語「包括」、「包含」等表明了所述特徵、步驟、操作和/或部件的存在,但是並不排除存在或添加一個或多個其他特徵、步驟、操作或部件。
在此使用的所有術語(包括技術和科學術語)具有本領域技術人員通常所理解的含義,除非另外定義。應注意,這裡使用的術語應解釋為具有與本說明書的上下文相一致的含義,而不應以理想化或過於刻板的方式來解釋。
附圖中示出了一些方框圖和/或流程圖。應理解,方框圖和/或流程圖中的一些方框或其組合可以由電腦程式指令來實現。這些電腦程式指令可以提供給通用計算機、專用計算機或其他可編程數據處理裝置的處理器,從而這些指令在由該處理器執行時可以創建用於實現這些方框圖和/或流程圖中所說明的功能/操作的裝置。
因此,本公開的技術可以硬體和/或軟體(包括固件、微代碼等)的形式來實現。另外,本公開的技術可以採取存儲有指令的計算機可讀介質上的電腦程式產品的形式,該電腦程式產品可供指令執行系統使用或者結合指令執行系統使用。在本公開的上下文中,計算機可讀介質可以是能夠包含、存儲、傳送、傳播或傳輸指令的任意介質。例如,計算機可讀介質可以包括但不限於電、磁、光、電磁、紅外或半導體系統、裝置、器件或傳播介質。計算機可讀介質的具體示例包括:磁存儲裝置,如磁帶或硬碟(hdd);光存儲裝置,如光碟(cd-rom);存儲器,如隨機存取存儲器(ram)或快閃記憶體;和/或有線/無線通信鏈路。
本公開的實施例提供了一種伺服器的部署方法及其系統。伺服器的部署方法應用於雲計算管理平臺,該方法包括通過部署伺服器收集目標伺服器的硬體信息,其中,目標伺服器用於部署到雲計算管理平臺中以提供對應的服務,獲取存儲在部署伺服器中的伺服器部署規則,其中,伺服器部署規則用於規定在雲計算管理平臺中部署各伺服器時所遵循的法則,以及根據收集到的硬體信息和獲取到的部署規則,確定目標伺服器在雲計算管理平臺中所提供的服務。
圖1a示意性示出了一種傳統的對伺服器進行部署的應用場景,如圖1a所示,這是一種典型的部署openstack的應用場景。在該場景中,有6臺伺服器,部署要求如下:1臺做控制節點,2臺做計算節點,3臺做存儲節點。部署openstack之前,需要將所有的伺服器連接到管理網絡上。一般地,這樣的網絡都是使用類似智能平臺管理接口(intelligentplatformmanagementinterface,簡稱為ipmi)的專門的伺服器管理的協議的。在該應用場景中,由於沒有設置部署伺服器(專門用於部署其他伺服器的伺服器),因此,在部署openstack雲服務時,需要用戶手動配置各伺服器的節點角色(即個伺服器在網絡中所提供的服務),此時,如用戶對各伺服器的硬體性能不了解,則很難做出最好的選擇。而且在雲環境下,還要根據不同的節點角色查看相應的硬體指標。比如,對於伺服器a而言,其磁碟的讀寫速度快,且cpu的處理速度也快,這樣的伺服器就適合做存儲節點,因為存儲節點對磁碟的讀寫能力要求比較高,對cpu的處理速度要求不高。再比如,對於伺服器b而言,其磁碟的讀寫速度慢,但內存比較大,且cpu的處理速度也快,網卡帶寬高,這樣的伺服器就適合做網絡節點用來提供網絡服務。
圖1b示意性示出了根據本公開實施例的可應用伺服器的部署方法及系統的應用場景,如圖1b所示,在該場景中,有6臺伺服器,部署要求如下:1臺做控制節點,2臺做計算節點,3臺做存儲節點。在該應用場景中,由於設置了一臺或者多臺部署伺服器(圖中以一臺為例示出),因此,在部署openstack雲服務時,無需用戶手動配置各伺服器的節點角色,部署伺服器可以自動收集各伺服器的硬體性能指標/參數,並基於收集到的相關信息,利用特定的算法,確定各伺服器的節點角色。因此,即使用戶對各伺服器的硬體性能指標/參數不了解,也不妨礙openstack的部署。比如,對於伺服器a而言,其磁碟的讀寫速度快,且cpu的處理速度也快,這樣的伺服器就適合做存儲節點,因為存儲節點對磁碟的讀寫能力要求比較高,對cpu的處理速度要求不高,此時部署伺服器會根據其硬體性能自動將其部署成存儲節點。再比如,對於伺服器b而言,其磁碟的讀寫速度慢,但內存比較大,且cpu的處理速度也快,網卡帶寬高,這樣的伺服器就適合做網絡節點用來提供網絡服務,此時部署伺服器也會根據其硬體性能自動將其部署成網絡節點。
圖2示意性示出了根據本公開實施例的伺服器的部署方法的流程圖。
如圖2所示,該方法包括操作s201~s203,其中:
操作s201,通過部署伺服器收集目標伺服器的硬體信息。其中,目標伺服器用於部署到雲計算管理平臺中以提供對應的服務。
操作s202,獲取存儲在部署伺服器中的伺服器部署規則。其中,伺服器部署規則用於規定在雲計算管理平臺中部署各伺服器時所遵循的法則。
操作s203,根據收集到的硬體信息和獲取到的伺服器部署規則,確定目標伺服器在雲計算管理平臺中所提供的服務。
在本公開實施例中,實施時,可以在管理網絡(如,使用ipmi協議的伺服器管理網)一側,加入一臺或者多臺部署伺服器(用於將各伺服器部署到openstack中,以提供對應的服務,如,存儲服務,計算服務,網絡服務和控制服務等)。
這臺或者這些部署伺服器可以用於保存要部署openstack服務的相關伺服器的硬體信息,硬體信息具體可以包括但不限於:cpu的型號及處理速度,磁碟的類型(如,是ssd,還是hdd,等等)及讀寫速度,網卡的型號及吞出率,等等。對於這些信息,部署伺服器都可以通過ipmi一類的管理協議從對應的伺服器動態獲取。而且隨著openstack服務中伺服器數量的增加或減少,部署伺服器上所維護的信息也會動態的更新。
由於這臺或者這些部署伺服器還用於保存部署openstack服務的部署規則,部署規則包括但不限於各節點角色的分配比例,比如計算節點、控制節點、存儲節點的分配比例,等等。因此,可以直接從部署伺服器上獲取伺服器部署規則。
在獲取到各伺服器的硬體信息和伺服器部署規則之後,可以通過預先設定的匹配算法,計算出各伺服器在openstack服務中所充當的節點角色,即,即在雲計算管理平臺中所提供的服務,實現在部署openstack服務時自動確定各個伺服器的節點角色的目的。
通過本公開實施例,採用設置部署伺服器的方式,由部署伺服器自行收集並存儲伺服器部署規則和各伺服器的硬體信息,從而根據收集到的硬體信息和獲取到的部署規則,可以自動確定目標伺服器在雲計算管理平臺中所提供的服務,克服了相關技術中手動部署openstack服務,對用戶的硬體知識儲備要求較高,需要用戶對伺服器的硬體性能了如指掌的缺陷,並且很容易做出較好的選擇。
下面參考圖3a~圖3d,結合具體實施例對圖2所示的方法做進一步說明。
根據本公開的實施例,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括檢測是否有請求添加至雲計算管理平臺中的新增伺服器,若檢測有請求添加至雲計算管理平臺中的新增伺服器,則獲取用於指示新增伺服器在雲計算管理平臺中將提供的服務的用戶指令,以及根據用戶指令的指示,確定新增伺服器在雲計算管理平臺中所提供的服務。
圖3a示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖。在該實施例中,除了包括上文參考圖2描述的操作s201~s203之外,還包括操作s301~s303。為了描述的簡潔起見,這裡省略對操作s201~s203的描述。
如圖3a所示,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括操作s301~s303,其中:
操作s301,檢測是否有請求添加至雲計算管理平臺中的新增伺服器。
操作s302,若檢測有請求添加至雲計算管理平臺中的新增伺服器,則獲取用於指示新增伺服器在雲計算管理平臺中將提供的服務的用戶指令。
操作s303,根據用戶指令的指示,確定新增伺服器在雲計算管理平臺中所提供的服務。
在本公開實施例中,除了可以自動部署伺服器之外,為了滿足用戶的個性化需求,用戶還可以根據實際需要發送請求,以指示部署伺服器將網絡中新添加的伺服器配置成指定的節點角色,例如,對於伺服器a而言,用戶可以直接指定將其設置為存儲節點。
通過本公開實施例,即可以根據預設匹配算法自動部署各伺服器,又可以根據用戶指示部署各伺服器,使得伺服器部署方案更加靈活,更能滿足用戶的個性化需求。
根據本公開的實施例,在獲取用於指示新增伺服器在雲計算管理平臺中將提供的服務的用戶指令之前,該方法還可以包括檢測是否接收到用戶指令,若沒有接收到用戶指令,則獲取新增伺服器的硬體信息,以及根據獲取的新增伺服器的硬體信息和伺服器部署規則,確定新增伺服器在雲計算管理平臺中所提供的服務。
圖3b示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖。在該實施例中,除了包括上文參考圖2和圖3a描述的相應操作之外,還可以包括操作s304~s306。為了描述的簡潔起見,這裡省略對圖2和圖3a描述的相應操作的描述。
如圖3b所示,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括操作s304~s306,其中:
操作s304,檢測是否接收到用戶指令。
操作s305,若沒有接收到,則獲取新增伺服器的硬體信息。
操作s306,根據獲取的新增伺服器的硬體信息和伺服器部署規則,確定新增伺服器在雲計算管理平臺中所提供的服務。
在本公開實施例中,對於一個雲計算管理平臺而言,按照硬體信息和伺服器部署規則部署好一部分伺服器之後,如果又有新的伺服器請求加入該雲計算管理平臺,此時,需要檢測是否接收到用戶指令,以確定用戶是否指定了該臺伺服器的節點角色。具體地,如果接收到了用戶指令,則按照用戶的指示配置即可;否則,沒有接收到,則根據自動匹配算法配置即可,即,獲取新增伺服器的硬體信息,並根據獲取的新增伺服器的硬體信息和伺服器部署規則,確定新增伺服器在雲計算管理平臺中所提供的服務。
通過本公開實施例,對於一個雲計算管理平臺而言,新添加至其中的伺服器至少可以通過兩種方式進行配置。一種是由用戶指定其節點角色,另一種是根據自動匹配算法進行計算得到其節點角色,因而使得伺服器的部署方式更多樣性。
根據本公開的實施例,在確定新增伺服器在雲計算管理平臺中所提供的服務的同時,該方法還可以包括:根據獲取的目標伺服器的硬體信息和伺服器部署規則,重新確定目標伺服器在雲計算管理平臺中所提供的服務。
由於伺服器部署規則中一般會規定節點角色的配比,在這種情況下,對於一個已經部署完好的雲計算管理平臺而言,如果一個或者新增伺服器,除了需要配置這個或者這些新增伺服器之外,優選地,對於其他伺服器而言,還可以基於這些伺服器的硬體信息和伺服器部署規則,重新對其進行配置。
通過本公開實施例,可以根據云計算管理平臺中伺服器的增加,動態的調整雲計算管理平臺中各伺服器的節點角色,達到優化雲計算管理平臺的結構的目的。
根據本公開的實施例,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括檢測是否接收到用戶指令以指示將目標伺服器從雲計算管理平臺中刪除,以及若檢測接收到用戶指令以指示將目標伺服器從雲計算管理平臺中刪除,則根據接收到的用戶指令的指示,將目標伺服器從雲計算管理平臺中刪除。
圖3c示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖。在該實施例中,除了包括上文參考圖2描述的操作s201~s203之外,還包括操作s307和s308。為了描述的簡潔起見,這裡省略對操作s307~s308的描述。
如圖3c所示,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括操作s307和s308。其中:
在操作s307,檢測是否接收到用戶指令以指示將目標伺服器從雲計算管理平臺中刪除。
在操作s308,若檢測接收到用戶指令,則根據接收到的用戶指令的指示,將目標伺服器從雲計算管理平臺中刪除。
也即,對於一個已經部署完好的雲計算管理平臺而言,既可以新增伺服器,也可以刪除已有的伺服器。
在本公開實施例中,可以根據用戶的指示,從雲計算管理平臺刪除用戶指定的伺服器。通過本公開實施例,對於一個雲計算管理平臺而言,與新增伺服器類似,還可以刪除其中的一個或者多個伺服器,以實現動態調整雲計算管理平臺結構的目的,並且使得伺服器部署方案更加靈活,更能滿足用戶的個性化需求。
根據本公開的實施例,雲計算管理平臺中除部署有目標伺服器之外還部署有其他伺服器,在將目標伺服器從雲計算管理平臺中刪除之後,該方法還可以包括:重新確定其他伺服器在雲計算管理平臺中所提供的服務。
也即,對於一個已經部署完好的雲計算管理平臺而言,既可以新增伺服器,也可以刪除已有的伺服器。進一步,由於伺服器部署規則中一般會規定節點角色的配比,在這種情況下,對於一個已經部署完好的雲計算管理平臺而言,在刪除一個或者多個伺服器之後,優選地,對於其他伺服器而言,還可以基於這些伺服器的硬體信息和伺服器部署規則,重新對其進行配置。
通過本公開實施例,可以根據云計算管理平臺中伺服器的減少,動態的調整雲計算管理平臺中各伺服器的節點角色,達到優化雲計算管理平臺的結構的目的。
根據本公開的實施例,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括:將目標伺服器所安裝的作業系統的啟動鏡像推送給目標伺服器。
圖3d示意性示出了根據本公開另一實施例的伺服器的部署方法的流程圖。在該實施例中,除了包括上文參考圖2描述的操作s201~s203之外,還包括操作s309。為了描述的簡潔起見,這裡省略對操作s201~s203的描述。
如圖3d所示,在確定目標伺服器在雲計算管理平臺中所提供的服務之後,該方法還可以包括操作s309,其中:
在操作s309,將目標伺服器所安裝的作業系統的啟動鏡像推送給目標伺服器。
需要說明的是,在管理網中添加部署伺服器,部署伺服器會動態的收集各個伺服器的硬體信息,同時部署伺服器中也存儲有部署openstack的一些部署規則(即伺服器部署規則)。
開始部署openstack時,節點自動選擇算法(即預先設定的節點匹配算法)可以基於上面的兩類信息(即硬體信息和伺服器部署規則)進行伺服器角色的自動設定。
伺服器部署規則可以包括多種,在此不做限定。例如:
(1)選擇磁碟讀寫速度最快的伺服器作為openstack的存儲節點。
(2)選擇內存大、網卡吞吐率高、cpu處理速度快的伺服器作為openstack的網絡節點。
(3)選擇cpu處理速度最快,內存最大,磁碟讀寫速度最快的伺服器作為控制節點,如果是在ha環境下,作為主要的控制節點。
(4)根據伺服器的數量自動的調整openstack中控制節點、存儲節點、網絡節點的數量,比如ha模式下,需要的控制節點的數量是3,5,7這樣的奇數,存儲節點因為通常要存儲3個以上的數據備份,所以至少要3個以上的存儲節點。
在本公開實施例中,在選定節點角色之後,部署伺服器可以將目標伺服器所安裝的作業系統的啟動鏡像推送給目標伺服器,目標伺服器就可以從作業系統的啟動鏡像啟動,從而進入openstack的管理網絡(簡稱管理網),此時,也可以將部署伺服器連接到這個管理網中,完成openstack中各節點角色的進一步部署。
通過本公開實施例,在openstack環境中自動選擇節點角色,整個部署過程,不需要用戶人為指定伺服器的節點角色,對openstack運營人員的硬體知識儲備要求降低,可以適合自動部署場景。
圖4示意性示出了根據本公開實施例的伺服器的部署系統的框圖。
如圖4所示,伺服器的部署系統400應用於雲計算管理平臺,伺服器的部署系統400包括收集模塊410、第一獲取模塊420和第一確定模塊430。該伺服器的部署系統400可以執行上面參考圖2~圖3d描述的方法。其中:
收集模塊410用於通過部署伺服器收集目標伺服器的硬體信息,其中,目標伺服器用於部署到雲計算管理平臺中以提供對應的服務。
第一獲取模塊420用於獲取存儲在部署伺服器中的伺服器部署規則,其中,伺服器部署規則用於規定在雲計算管理平臺中部署各伺服器的所遵循的法則。
第一確定模塊430用於根據收集到的硬體信息和獲取到的部署規則,確定目標伺服器在雲計算管理平臺中所提供的服務。
在本公開實施例中,實施時,可以在管理網絡(如,使用ipmi協議的伺服器管理網)一側,加入一臺或者多臺部署伺服器(用於將各伺服器部署到openstack中,以提供對應的服務,如,存儲服務,計算服務,網絡服務和控制服務等)。
這臺或者這些部署伺服器可以用於保存要部署openstack服務的相關伺服器的硬體信息,硬體信息具體可以包括但不限於:cpu的型號及處理速度,磁碟的類型(如,是ssd,還是hdd,等等)及讀寫速度,網卡的型號及吞出率,等等。對於這些信息,部署伺服器都可以通過ipmi一類的管理協議從對應的伺服器動態獲取。而且隨著openstack服務中伺服器數量的增加或減少,部署伺服器上所維護的信息也會動態的更新。
由於這臺或者這些部署伺服器還用於保存部署openstack服務的部署規則,部署規則包括但不限於各節點角色的分配比例,比如計算節點、控制節點、存儲節點的分配比例,等等。因此,可以直接從部署伺服器上獲取伺服器部署規則。
在獲取到各伺服器的硬體信息和伺服器部署規則之後,可以通過預先設定的匹配算法,計算出各伺服器在openstack服務中所充當的節點角色,即,即在雲計算管理平臺中所提供的服務,實現在部署openstack服務時自動確定各個伺服器的節點角色的目的。
通過本公開實施例,採用設置部署伺服器的方式,由部署伺服器自行收集並存儲伺服器部署規則和各伺服器的硬體信息,從而根據收集到的硬體信息和獲取到的部署規則,可以自動確定目標伺服器在雲計算管理平臺中所提供的服務,克服了相關技術中手動部署openstack服務,對用戶的硬體知識儲備要求較高,需要用戶對伺服器的硬體性能了如指掌的缺陷,並且很容易做出較好的選擇。
圖5a示意性示出了根據本公開另一實施例的伺服器的部署系統的框圖。在該實施例中,除了包括上文參考圖4描述的模塊之外,還可以包括第一檢測模塊440、第二獲取模塊450和第二確定模塊460。為了描述的簡潔起見,這裡省略對參考圖4描述的模塊的描述。
如圖5a所示,根據本公開的實施例,伺服器的部署系統400還可以包括第一檢測模塊440、第二獲取模塊450和第二確定模塊460。
第一檢測模塊440用於在確定目標伺服器在雲計算管理平臺中所提供的服務之後,檢測是否有請求添加至雲計算管理平臺中的新增伺服器。
第二獲取模塊450用於在有請求添加至雲計算管理平臺中的新增伺服器的情況下,獲取用於指示新增伺服器在雲計算管理平臺中將提供的服務的用戶指令。
第二確定模塊460用於根據用戶指令的指示,確定新增伺服器在雲計算管理平臺中所充當的節點角色。
在本公開實施例中,除了可以自動部署伺服器之外,為了滿足用戶的個性化需求,用戶還可以根據實際需要發送請求,以指示部署伺服器將網絡中新添加的伺服器配置成指定的節點角色,例如,對於伺服器a而言,用戶可以直接指定將其設置為存儲節點。
通過本公開實施例,即可以根據預設匹配算法自動部署各伺服器,又可以根據用戶指示部署各伺服器,使得伺服器部署方案更加靈活,更能滿足用戶的個性化需求。
圖5b示意性示出了根據本公開另一實施例的伺服器的部署系統的框圖。在該實施例中,除了包括上文參考圖4和圖5a描述的模塊之外,還包括第二檢測模塊470、第三獲取模塊480和第三確定模塊490。為了描述的簡潔起見,這裡省略對參考圖4和圖5a描述的模塊的描述。
如圖5b所示,根據本公開的實施例,伺服器的部署系統400還包括第二檢測模塊470、第三獲取模塊480和第三確定模塊490。
第二檢測模塊470用於在獲取用於指示新增伺服器在雲計算管理平臺中將提供的服務的用戶指令之前,檢測是否接收到用戶指令。
第三獲取模塊480用於在沒有接收到用戶指令的情況下,獲取新增伺服器的硬體信息。
第三確定模塊490用於根據獲取的新增伺服器的硬體信息和伺服器部署規則,確定新增伺服器在雲計算管理平臺中所提供的服務。
在本公開實施例中,對於一個雲計算管理平臺而言,按照硬體信息和伺服器部署規則部署好一部分伺服器之後,如果又有新的伺服器請求加入該雲計算管理平臺,此時,需要檢測是否接收到用戶指令,以確定用戶是否指定了該臺伺服器的節點角色。具體地,如果接收到了用戶指令,則按照用戶的指示配置即可;否則,沒有接收到,則根據自動匹配算法配置即可,即,獲取新增伺服器的硬體信息,並根據獲取的新增伺服器的硬體信息和伺服器部署規則,確定新增伺服器在雲計算管理平臺中所提供的服務。
通過本公開實施例,對於一個雲計算管理平臺而言,新添加至其中的伺服器至少可以通過兩種方式進行配置。一種是由用戶指定其節點角色,另一種是根據自動匹配算法進行計算得到其節點角色,因而使得伺服器的部署方式更多樣性。
可以理解的是,上述模塊可以合併在一個模塊中實現,或者其中的任意一個模塊可以被拆分成多個模塊實現。或者,這些模塊中的一個或多個模塊的至少部分功能可以與其他模塊的至少部分功能相結合,並在一個模塊中實現。根據本發明的實施例,上述模塊中的至少一個可以至少被部分地實現為硬體電路,例如現場可編程門陣列(fpga)、可編程邏輯陣列(pla)、片上系統、基板上的系統、封裝上的系統、專用集成電路(asic),或可以以對電路進行集成或封裝的任何其他的合理方式等硬體或固件來實現,或以軟體、硬體以及固件三種實現方式的適當組合來實現。或者,上述模塊中的至少一個可以至少被部分地實現為電腦程式模塊,當該程序被計算機運行時,可以執行相應模塊的功能。
本公開的另一方面提供了一種非易失性存儲介質,存儲有計算機可執行指令,上述指令在被執行時用於實現如上任一項所述的伺服器的部署方法。
本公開的另一方面提供了一種電腦程式,上述電腦程式包括計算機可執行指令,上述指令在被執行時用於實現如上任一項所述的伺服器的部署方法。
圖6示意性示出了根據本公開實施例的部署伺服器的框圖。
如圖6所示,部署伺服器600包括處理器610、存儲器620。該部署伺服器600可以執行上面參考圖2~圖3d描述的方法。
具體地,處理器610例如可以包括通用微處理器、指令集處理器和/或相關晶片組和/或專用微處理器(例如,專用集成電路(asic)),等等。處理器610還可以包括用於緩存用途的板載存儲器。處理器610可以是用於執行參考圖2~圖3d描述的根據本公開實施例的方法流程的不同動作的單一處理單元或者是多個處理單元。
存儲器620,例如可以是能夠包含、存儲、傳送、傳播或傳輸指令的任意介質。例如,可讀存儲介質可以包括但不限於電、磁、光、電磁、紅外或半導體系統、裝置、器件或傳播介質。可讀存儲介質的具體示例包括:磁存儲裝置,如磁帶或硬碟(hdd);光存儲裝置,如光碟(cd-rom);存儲器,如隨機存取存儲器(ram)或快閃記憶體;和/或有線/無線通信鏈路。
存儲器620可以包括電腦程式621,該電腦程式621可以包括代碼/計算機可執行指令,其在由處理器610執行時使得處理器610執行例如上面結合圖2~圖3d所描述的方法流程及其任何變形。
電腦程式621可被配置為具有例如包括電腦程式模塊的電腦程式代碼。例如,在示例實施例中,電腦程式621中的代碼可以包括一個或多個程序模塊,例如包括621a、模塊621b、……。應當注意,模塊的劃分方式和個數並不是固定的,本領域技術人員可以根據實際情況使用合適的程序模塊或程序模塊組合,當這些程序模塊組合被處理器610執行時,使得處理器610可以執行例如上面結合圖2~圖3d所描述的方法流程及其任何變形。
根據本發明的實施例,收集模塊410、第一獲取模塊420、第一確定模塊430、第一檢測模塊440、第二獲取模塊450、第二確定模塊460、第二檢測模塊470、第三獲取模塊480和第三確定模塊490中的至少一個可以實現為參考圖6描述的電腦程式模塊,其在被處理器610執行時,可以實現上面描述的相應操作。
本領域技術人員可以理解,本公開的各個實施例和/或權利要求中記載的特徵可以進行多種組合或/或結合,即使這樣的組合或結合沒有明確記載於本公開中。特別地,在不脫離本公開精神和教導的情況下,本公開的各個實施例和/或權利要求中記載的特徵可以進行多種組合和/或結合。所有這些組合和/或結合均落入本公開的範圍。
儘管已經參照本公開的特定示例性實施例示出並描述了本公開,但是本領域技術人員應該理解,在不背離所附權利要求及其等同物限定的本公開的精神和範圍的情況下,可以對本公開進行形式和細節上的多種改變。因此,本公開的範圍不應該限於上述實施例,而是應該不僅由所附權利要求來進行確定,還由所附權利要求的等同物來進行限定。