本發(fā)明涉及云平臺網(wǎng)絡附屬存儲技術領域,特別涉及一種分布式網(wǎng)絡附屬存儲(Network Attached Storage,簡稱為NAS)方法及系統(tǒng)。
背景技術:
目前越來越多的云平臺提供商在其云平臺中提供NAS服務,云平臺的NAS服務模式主要為以下兩種:
(1)單NAS虛擬機(Virtual Machine,簡稱為VM)模式
圖1是現(xiàn)有技術的單NAS VM模式的架構圖,如圖1所示,在該架構下,用戶提供自身項目的一個虛擬路由器12用戶創(chuàng)建NAS虛擬機13;系統(tǒng)為NAS虛擬機13創(chuàng)建一個虛擬網(wǎng)卡,將其與用戶的虛擬路由器12的端口進行綁定,使用戶虛擬機11與NAS虛擬機13互通;系統(tǒng)為NAS虛擬機13創(chuàng)建另一虛擬網(wǎng)卡,將其與內部存儲網(wǎng)絡的路由設備14端口進行綁定,使NAS虛擬機13與后端存儲集群連接;NAS虛擬機將后端存儲文件系統(tǒng)15掛載至本地,作為網(wǎng)絡文件系統(tǒng)(Network File System,簡稱為NFS)服務器或者通用網(wǎng)絡文件系統(tǒng)(Common Internet File System,簡稱為CIFS)服務器,通過NFS或CIFS對外提供服務。
圖1所示的云平臺NAS模式存在以下弊端:在云平臺內部創(chuàng)建NAS虛擬機連接后端存儲,并將后端存儲作為NFS服務器或者CIFS服務器對外提供NAS服務。這種模式下,只在某一計算節(jié)點上提供一臺NAS虛擬機,當用戶進行大量大文件讀寫時,其他計算節(jié)點上的網(wǎng)絡資源此時處于空閑狀態(tài),未充分利用有效的網(wǎng)絡資源,NAS虛擬機的網(wǎng)絡性能就成為了瓶頸。這種使用內部NAS虛擬機提供NAS服務的模式下,無法充分利用有效的網(wǎng)絡資源,導致內部虛擬機自身網(wǎng)絡性能成為瓶頸,無法最大程度滿足用戶讀寫帶寬需求,且網(wǎng)絡性能優(yōu)化空間不大。
(2)無NAS VM模式
圖2是現(xiàn)有技術的無NAS VM模式的架構圖,如圖2所示,在該架構下,用戶提供自身項目下的虛擬路由器22;系統(tǒng)將內部存儲網(wǎng)絡的路由設備23端口與用戶虛擬路由器22端口互連,使用戶虛擬機21與內部存儲網(wǎng)絡直接連接;由用戶虛擬機21直接掛載后端存儲文件系統(tǒng)24進行使用。
圖2所示的云平臺NAS模式存在以下弊端:云平臺內部不提供NAS虛擬機,直接將后端存儲暴露給用戶,由用戶直接掛載使用。這種直接提供存儲服務的模式下,由于將內部的存儲節(jié)點直接暴露給用戶,會導致比較嚴重的安全隱患。
技術實現(xiàn)要素:
為了解決現(xiàn)有NAS服務無法充分利用網(wǎng)絡資源,無法最大程度滿足用戶讀寫帶寬需求,以及存在安全隱患的問題,本發(fā)明實施例提供了一種基于云平臺的分布式NAS方法及系統(tǒng)。所述技術方案如下:
根據(jù)本發(fā)明實施例的一個方面,提供了一種分布式網(wǎng)絡存儲方法,運用在云平臺上,所述方法包括:
代理服務器接收客戶端發(fā)起的掛載請求,其中,所述代理服務器連接至多個網(wǎng)絡附屬存儲NAS虛擬機,所述多個NAS虛擬機與客戶端連接,且通過路由設備與后端存儲文件系統(tǒng)連接;
所述代理服務器將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機,由選定的NAS虛擬機作為文件系統(tǒng)服務器給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務。
進一步地,所述代理服務器將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機,包括:
所述代理服務器使用輪詢或負載均衡的方式對所述掛載請求進行分發(fā)。
進一步地,由選定的NAS虛擬機作為文件系統(tǒng)服務器給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務,包括:
所述NAS虛擬機采用公用IP給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務。
進一步地,所述多個NAS虛擬機通過路由設備與后端存儲文件系統(tǒng)連接,包括:所述多個NAS虛擬機均掛載所述后端存儲文件系統(tǒng)目錄至NAS虛擬機本地。
進一步地,所述客戶端包括:用戶虛擬機和用戶虛擬路由器,所述用戶虛擬路由器連接至所述用戶虛擬機;
代理服務器接收客戶端發(fā)起的掛載請求,包括:所述代理服務器通過所述用戶虛擬路由器接收所述用戶虛擬機發(fā)起的所述掛載請求。
進一步地,在代理服務器接收客戶端發(fā)起的掛載請求之前,所述方法還包括:
所述云平臺為所述NAS虛擬機創(chuàng)建第一虛擬網(wǎng)卡,并將所述第一虛擬網(wǎng)卡與所述用戶虛擬路由器的端口綁定,使所述NAS虛擬機與所述用戶虛擬機連接;
所述云平臺為所述NAS虛擬機創(chuàng)建第二虛擬網(wǎng)卡,并將所述第二虛擬網(wǎng)卡與所述路由設備的端口綁定,使所述NAS虛擬機與所述后端存儲文件系統(tǒng)連接。
根據(jù)本發(fā)明實施例的另一方面,提供了一種分布式網(wǎng)絡附屬存儲系統(tǒng),運用在云平臺上,該系統(tǒng)包括:代理服務器、多個網(wǎng)絡附屬存儲NAS虛擬機、路由設備和后端存儲文件系統(tǒng);
所述多個NAS虛擬機與客戶端的虛擬機連接,且通過所述路由設備與所述后端存儲文件系統(tǒng)連接;
所述代理服務器,連接至所述多個NAS虛擬機,用于接收客戶端發(fā)起的掛載請求,并將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機;
所述NAS虛擬機用于作為文件系統(tǒng)服務器給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務。
進一步地,所述NAS虛擬機包括:
處理單元,用于采用公用IP給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務;
掛載單元,用于掛載所述后端存儲文件系統(tǒng)目錄至NAS虛擬機本地。
進一步地,所述客戶端包括:用戶虛擬機和用戶虛擬路由器,所述用戶虛擬路由器連接至所述用戶虛擬機;
所述代理服務器連接至所述用戶虛擬路由器,用于通過所述用戶虛擬路由器接收所述用戶虛擬機發(fā)起的所述掛載請求;以及用于使用輪詢或負載均衡的方式對掛載請求進行分發(fā)。
進一步地,所述NAS虛擬機包括:第一虛擬網(wǎng)卡和第二虛擬網(wǎng)卡;
所述第一虛擬網(wǎng)卡用于與所述用戶虛擬路由器的端口綁定,使所述NAS虛擬機與所述用戶虛擬機連接;
所述第二虛擬網(wǎng)卡用于與所述路由設備的端口綁定,使所述NAS虛擬機與所述后端存儲文件系統(tǒng)連接。
本發(fā)明實施例提供的技術方案帶來的有益效果是:基于后端存儲文件系統(tǒng)可共享的特性,在不同的計算節(jié)點上分別創(chuàng)建NAS虛擬機,并連接至同一后端存儲文件系統(tǒng),多個NAS虛擬機同時對用戶提供服務,只對外暴露部分服務端口,從而保證網(wǎng)絡安全性。同時,在NAS虛擬機上層運行代理服務,將用戶掛載請求分發(fā)至不同的NAS虛擬機上,進行分布式處理,能夠充分利用網(wǎng)絡資源,最大程度滿足用戶讀寫帶寬需求。理想情況下,所有NAS虛擬機服務帶寬之和即為云平臺分布式NAS系統(tǒng)對外最大服務帶寬。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是現(xiàn)有技術的單NAS VM模式的架構圖;
圖2是現(xiàn)有技術的無NAS VM模式的架構圖;
圖3是本發(fā)明實施例提供的基于云平臺的分布式NAS系統(tǒng)的結構框圖;
圖4是本發(fā)明實施例提供的云平臺分布式NAS模式的架構圖;
圖5是本發(fā)明實施例提供的基于云平臺的分布式NAS方法的流程圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
本發(fā)明實施例提供了一種分布式NAS系統(tǒng),運用在云平臺上,如圖3所示,該系統(tǒng)包括:代理服務器30、多個NAS虛擬機40、路由設備50和后端存儲文件系統(tǒng)60。多個NAS虛擬機40分別創(chuàng)建在云平臺中不同的計算節(jié)點上,與客戶端的虛擬機連接,且通過路由設備50與后端存儲文件系統(tǒng)60連接。
代理服務器30,連接至多個NAS虛擬機40,用于接收客戶端發(fā)起的掛載請求,并將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機40。本實施例中,代理服務器30還使用輪詢或負載均衡的方式對掛載請求進行分發(fā)。
NAS虛擬機40用于作為文件系統(tǒng)服務器給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務。本實施例中,文件系統(tǒng)服務器可以是NFS服務器或CIFS服務器。系統(tǒng)服務可以是存儲、下載、查詢、權限管理等服務。
上述實施例的系統(tǒng)中,基于后端存儲文件系統(tǒng)可共享的特性,在不同的計算節(jié)點上分別創(chuàng)建NAS虛擬機,并連接至同一后端存儲文件系統(tǒng),多個NAS虛擬機同時對用戶提供服務,只對外暴露部分服務端口,從而保證網(wǎng)絡安全性。同時,在NAS虛擬機上層運行代理服務,將用戶掛載請求分發(fā)至不同的NAS虛擬機上,進行分布式處理,能夠充分利用網(wǎng)絡資源,最大程度滿足用戶讀寫帶寬需求。理想情況下,所有NAS虛擬機服務帶寬之和即為云平臺分布式NAS系統(tǒng)對外最大服務帶寬。
NAS虛擬機40包括:處理單元,用于采用公用IP給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務,使用戶感知不到分布式NAS系統(tǒng)內部存在多臺NAS虛擬機。
NAS虛擬機40包括:掛載單元,用于掛載后端存儲文件系統(tǒng)目錄至NAS虛擬機本地。由此,NAS虛擬機40可以為用戶提供服務,存儲文件到后端存儲文件系統(tǒng)60或者從后端存儲文件系統(tǒng)60下載文件。
客戶端包括:用戶虛擬機和用戶虛擬路由器,用戶虛擬路由器連接至用戶虛擬機。代理服務器30連接至用戶虛擬路由器,用于通過用戶虛擬路由器接收用戶虛擬機發(fā)起的掛載請求。NAS虛擬機40屬于分布式NAS系統(tǒng)內部網(wǎng)絡中專有的子網(wǎng),用戶虛擬機屬于用戶自身項目中的子網(wǎng),用戶虛擬機所在子網(wǎng)與NAS虛擬機所在子網(wǎng)互相隔離,通過用戶虛擬路由器相連接;使用系統(tǒng)內部多個NAS虛擬機對外提供服務,也就是為NAS虛擬機增加安全組,只對外暴露部分服務端口,由此可以保證網(wǎng)絡安全性。
NAS虛擬機40包括:第一虛擬網(wǎng)卡和第二虛擬網(wǎng)卡;第一虛擬網(wǎng)卡用于與用戶虛擬路由器的端口綁定,使NAS虛擬機40與用戶虛擬機連接;第二虛擬網(wǎng)卡用于與路由設備50的端口綁定,使NAS虛擬機40與后端存儲文件系統(tǒng)60連接。
圖4是本發(fā)明實施例提供的云平臺分布式NAS模式的架構圖,如圖4所示,該架構包括:用戶虛擬機10(Client VM)、用戶虛擬路由器20(Client Router)、代理服務器30(Proxy Server)、多個NAS虛擬機40(NAS VM)、路由設備50(Internal Switch)和后端存儲文件系統(tǒng)60(Storage Backend)。其中,用戶虛擬機10和用戶虛擬路由器20屬于客戶端,代理服務器30、NAS虛擬機40、路由設備50和后端存儲文件系統(tǒng)60屬于分布式NAS系統(tǒng),后端存儲文件系統(tǒng)60中包括多個存儲設備。
在該架構下,用戶提供自身項目下的用戶虛擬路由器20,分布式NAS系統(tǒng)將通過用戶虛擬路由器20與用戶子網(wǎng)連接。在云平臺的每個計算節(jié)點上分別創(chuàng)建一個NAS虛擬機40。分別為每個NAS虛擬機40創(chuàng)建虛擬網(wǎng)卡,并將該虛擬網(wǎng)卡與用戶虛擬路由器20的端口綁定,使用戶虛擬機10與NAS虛擬機40連接;分別為每個NAS虛擬機40創(chuàng)建另一虛擬網(wǎng)卡,并將該虛擬網(wǎng)卡與路由設備50的端口綁定,使NAS虛擬機40與后端存儲文件系統(tǒng)60連接。所有NAS虛擬機40掛載同一后端存儲文件系統(tǒng)目錄至NAS虛擬機本地,作為NFS服務器或CIFS服務器,通過NFS或CIFS對外提供服務。所有NAS虛擬機40使用公用IP對用戶提供服務,使用戶感知不到分布式NAS系統(tǒng)內部存在多臺NAS虛擬機。
在NAS虛擬機40上層運行代理服務,用戶虛擬機10發(fā)起掛載請求,代理服務器30接收到掛載請求后進行調度,將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機40,由選定的NAS虛擬機給對應的客戶端所屬的用戶提供存儲或下載服務。理想情況下,分布式NAS系統(tǒng)對外最大服務帶寬為內部所有NAS虛擬機最大帶寬之和。
本發(fā)明實施例還提供了一種分布式NAS方法,運用于云平臺上并基于上述系統(tǒng)實現(xiàn),如圖5所示,該方法包括以下步驟:
步驟S501,代理服務器接收客戶端發(fā)起的掛載請求,其中,代理服務器連接至多個NAS虛擬機多個NAS虛擬機與客戶端虛擬機連接,且通過路由設備與后端存儲文件系統(tǒng)連接。本步驟中,多個NAS虛擬機可以是云平臺分別在多個計算節(jié)點上創(chuàng)建。
步驟S502,代理服務器將不同客戶端的掛載請求分發(fā)至不同的NAS虛擬機,由選定的NAS虛擬機作為文件系統(tǒng)服務器給對應的客戶端提供存儲或下載服務。在本實施例中,文件系統(tǒng)服務器可以是NFS服務器或CIFS服務器,代理服務器使用輪詢或負載均衡的方式對掛載請求進行分發(fā)。
上述實施例的方法中,基于后端存儲文件系統(tǒng)可共享的特性,在不同的計算節(jié)點上分別創(chuàng)建NAS虛擬機,并連接至同一后端存儲文件系統(tǒng),多個NAS虛擬機同時對用戶提供服務,只對外暴露部分服務端口,從而保證網(wǎng)絡安全性。同時,在NAS虛擬機上層運行代理服務,將用戶掛載請求分發(fā)至不同的NAS虛擬機上,進行分布式處理,能夠充分利用網(wǎng)絡資源,最大程度滿足用戶讀寫帶寬需求。理想情況下,所有NAS虛擬機服務帶寬之和即為云平臺分布式NAS系統(tǒng)對外最大服務帶寬。
具體的,NAS虛擬機采用公用IP給對應的客戶端提供網(wǎng)絡文件系統(tǒng)服務,使用戶感知不到分布式NAS系統(tǒng)內部存在多臺NAS虛擬機。本實施例中的系統(tǒng)服務可以包括存儲、下載、查詢、權限管理等服務。
多個NAS虛擬機均掛載后端存儲文件系統(tǒng)目錄至NAS虛擬機本地,由此實現(xiàn)多個NAS虛擬機通過路由設備與后端存儲文件系統(tǒng)連接,NAS虛擬機可以為用戶提供服務,存儲文件到后端存儲文件系統(tǒng)或者從后端存儲文件系統(tǒng)下載文件。
客戶端包括:用戶虛擬機和用戶虛擬路由器,用戶虛擬路由器連接至用戶虛擬機。相應的,代理服務器通過用戶虛擬路由器接收用戶虛擬機發(fā)起的掛載請求。
在代理服務器接收客戶端發(fā)起的掛載請求之前,上述方法還包括:云平臺為NAS虛擬機創(chuàng)建第一虛擬網(wǎng)卡,并將第一虛擬網(wǎng)卡與用戶虛擬路由器的端口綁定,使NAS虛擬機與用戶虛擬機連接;云平臺為NAS虛擬機創(chuàng)建第二虛擬網(wǎng)卡,并將第二虛擬網(wǎng)卡與路由設備的端口綁定,使NAS虛擬機與后端存儲文件系統(tǒng)連接。
綜上所述,上述分布式NAS方法及系統(tǒng)對云平臺NAS的網(wǎng)絡性能進行優(yōu)化,提高了NAS服務最大帶寬。
以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。