两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于ceph的存儲交互裝置及存儲系統(tǒng)的制作方法

文檔序號:11154889閱讀:336來源:國知局
一種基于ceph的存儲交互裝置及存儲系統(tǒng)的制造方法

本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,特別是涉及一種基于ceph的存儲交互裝置及存儲系統(tǒng)。



背景技術(shù):

Ceph是一種基于優(yōu)秀的性能、可靠性和可擴(kuò)展性而設(shè)計(jì)的統(tǒng)一的、分布式的存儲系統(tǒng),Ceph的底層是RADOS(reliable autonomous distributed object storage,分布式對象存儲系統(tǒng))。RADOS能夠?qū)⑽锢泶鎯υO(shè)備虛擬化整合為RBD(RADOS塊設(shè)備)池,并依據(jù)自定義將RBD池分割成若干個(gè)RBD卷進(jìn)行數(shù)據(jù)存儲。

RBD卷與用戶端進(jìn)行數(shù)據(jù)交互時(shí),要通過target(靶子)層,以及通過內(nèi)核模塊或librbd作為接口,其中,內(nèi)核模塊處于內(nèi)核態(tài),而librbd處于用戶態(tài)。由于librbd不能夠使用內(nèi)核頁緩存,故librbd內(nèi)設(shè)置有自己的用戶態(tài)的緩存,稱為“RBD cache”,RBD cache就如一般的硬盤cache(緩存)一樣,可以提高librbd的性能。

如圖1所示,圖1為當(dāng)前ceph內(nèi)的存儲交互系統(tǒng)的結(jié)構(gòu)示意圖;由于librbd為用戶態(tài),此時(shí)對應(yīng)使用的target層為tgt-target,客戶端1用一根網(wǎng)線連接到集群中的node1節(jié)點(diǎn)(這里的節(jié)點(diǎn)指服務(wù)器),客戶端2使用一根網(wǎng)線連接到集群中的node2節(jié)點(diǎn),所有節(jié)點(diǎn)中創(chuàng)建target1,通過后端的RBD卷1創(chuàng)建LUN1并通過target1映射到對應(yīng)的客戶端,此時(shí)客戶端1和客戶端2均能通過target1以及LUN1訪問RBD卷1。

目前的RBD cache是依據(jù)客戶端來建立的,這樣客戶端1對應(yīng)RBD cache1,客戶端2對應(yīng)RBD cache2,每個(gè)客戶端分別對應(yīng)一個(gè)RBD cache。此時(shí),客戶端1訪問RBD卷1的路徑為:客戶端1→node1中的target1→LUN1→RBD cache1→RBD卷1;客戶端2訪問RBD卷1的路徑為:客戶端1→node2中的target1→LUN1→RBD cache2→RBD卷1。這種情況下,如果兩個(gè)客戶端同時(shí)訪問RBD卷1進(jìn)行操作(諸如虛擬機(jī)遷移、讀寫等),且客戶端1和客戶端2發(fā)送的數(shù)據(jù)不一致,就會導(dǎo)致RBD cache1和RBD cache2中的數(shù)據(jù)不同步,使得RBD卷不知道應(yīng)該使用哪個(gè)RBD cache中的數(shù)據(jù),進(jìn)而導(dǎo)致系統(tǒng)報(bào)錯(cuò)。

因此,如何提供一種減少系統(tǒng)報(bào)錯(cuò)的基于ceph的存儲交互裝置及存儲系統(tǒng)是本領(lǐng)域技術(shù)人員目前需要解決的問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種基于ceph的存儲交互裝置,避免多個(gè)客戶端通過不同的RBD cache同時(shí)對一個(gè)RBD卷訪問時(shí)數(shù)據(jù)不同步而報(bào)錯(cuò)的問題,可靠性高;本發(fā)明的另一目的是提供一種包括上述存儲交互裝置的存儲系統(tǒng)。

為解決上述技術(shù)問題,本發(fā)明提供了一種基于ceph的存儲交互裝置,包括若干個(gè)RBD卷、分別與若干個(gè)客戶端一一對應(yīng)的若干個(gè)RBD cache;

所述RBD cache,用于將接收到的所述訪問請求同步至其他RBD cache;接收并依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求進(jìn)行相應(yīng)的調(diào)整,依據(jù)調(diào)整后的訪問請求訪問相應(yīng)的RBD卷;將訪問RBD卷后得到的數(shù)據(jù)返回對應(yīng)的客戶端。

優(yōu)選地,所述RBD cache具體用于:

將接收到的所述訪問請求同步至其他RBD cache;接收并依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求的訪問地址或訪問順序進(jìn)行相應(yīng)的調(diào)整,依據(jù)調(diào)整后的訪問請求訪問相應(yīng)的RBD卷;將訪問RBD卷后得到的數(shù)據(jù)返回對應(yīng)的客戶端。

為解決上述技術(shù)問題,本發(fā)明還提供了一種基于ceph的存儲系統(tǒng),包括如以上任一項(xiàng)所述的存儲交互裝置、分別通過各個(gè)所述RBD卷建立的若干個(gè)邏輯單元、與所述邏輯單元一一對應(yīng)的target層以及服務(wù)器集群,所述服務(wù)器集群內(nèi)包括若干個(gè)服務(wù)器;

所述target層,用于分別接收若干個(gè)所述客戶端發(fā)送的訪問請求;

所述邏輯單元,用于作為自身對應(yīng)的所述target層與各個(gè)所述RBD cache之間的數(shù)據(jù)交互接口,將自身對應(yīng)的所述target層接收到的若干個(gè)訪問請求分別分配至相應(yīng)的RBD cache。

優(yōu)選地,所述target層包括若干個(gè)對應(yīng)于所述邏輯單元的target,所述target設(shè)置于所述ceph內(nèi)的服務(wù)器中,且與所述服務(wù)器一一對應(yīng)。

優(yōu)選地,所述RBD cache設(shè)置于相應(yīng)的服務(wù)器內(nèi),各個(gè)所述RBD cache所位于的服務(wù)器之間通過網(wǎng)線兩兩相連。

優(yōu)選地,所述客戶端與服務(wù)器通過網(wǎng)線連接。

本發(fā)明提供了一種基于ceph的存儲交互裝置,各個(gè)RBD cache基于客戶端設(shè)置,當(dāng)RBD cache接收到訪問請求后,首先同步至其他RBD cache,各個(gè)RBD cache依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求進(jìn)行調(diào)整,然后依據(jù)調(diào)整后的訪問請求進(jìn)行RBD卷的訪問操作。可見,本發(fā)明在當(dāng)不同RBD cache同時(shí)接收到訪問相同RBD卷但操作內(nèi)容不同的訪問請求時(shí),會通過不同RBD cache之間的相互同步操作調(diào)整這些訪問請求的先后順序,或者訪問請求對應(yīng)的訪問位置,從而避免該種情況下系統(tǒng)報(bào)錯(cuò),可靠性高。本發(fā)明還提供了一種包括上述存儲交互裝置的存儲系統(tǒng),也具有上述優(yōu)點(diǎn),在此不再贅述。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為當(dāng)前ceph內(nèi)的存儲交互系統(tǒng)的結(jié)構(gòu)示意圖;

圖2為本發(fā)明提供的一種基于ceph的存儲系統(tǒng)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

本發(fā)明的核心是提供一種基于ceph的存儲交互裝置,避免多個(gè)客戶端通過不同的RBD cache同時(shí)對一個(gè)RBD卷訪問時(shí)數(shù)據(jù)不同步而報(bào)錯(cuò)的問題,可靠性高;本發(fā)明的另一核心是提供一種包括上述存儲交互裝置的基于ceph的存儲系統(tǒng)。

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明提供了一種基于ceph的存儲交互裝置,包括若干個(gè)RBD卷、分別與若干個(gè)客戶端一一對應(yīng)的若干個(gè)RBD cache;

RBD cache,用于將接收到的訪問請求同步至其他RBD cache;接收并依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求進(jìn)行相應(yīng)的調(diào)整,依據(jù)調(diào)整后的訪問請求訪問相應(yīng)的RBD卷;將訪問RBD卷后得到的數(shù)據(jù)返回對應(yīng)的客戶端。

作為優(yōu)選地,RBD cache具體用于:

將接收到的訪問請求同步至其他RBD cache;接收并依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求的訪問地址或訪問順序進(jìn)行相應(yīng)的調(diào)整,依據(jù)調(diào)整后的訪問請求訪問相應(yīng)的RBD卷;將訪問RBD卷后得到的數(shù)據(jù)通過相應(yīng)的邏輯單元和target層返回對應(yīng)的客戶端。

可以理解的是,一般僅在多個(gè)的RBD cache收到的訪問請求有沖突時(shí)才會進(jìn)行調(diào)整,若沒有沖突的話,則可按照接收到的訪問請求依次進(jìn)行訪問操作。另外,RBD cache需要根據(jù)訪問請求的類型對其進(jìn)行調(diào)整,例如,當(dāng)兩個(gè)RBD cache均接收到寫操作,且待寫入的RBD卷中的地址相同但寫入內(nèi)容不同時(shí),這種情況下若進(jìn)行RBD cache同步就會出現(xiàn)報(bào)錯(cuò),此時(shí)會調(diào)整兩個(gè)訪問請求內(nèi)的寫入地址或調(diào)整寫入順序等。當(dāng)然,當(dāng)出現(xiàn)其他類型的訪問沖突時(shí)可進(jìn)行其他類型的調(diào)整,具體如何調(diào)整同步可根據(jù)實(shí)際情況編寫算法,本發(fā)明對此不作限定。

當(dāng)然,這里的RBD cache不僅能夠?qū)υL問地址和訪問請求的順序進(jìn)行調(diào)整,具體調(diào)整哪些內(nèi)容可根據(jù)實(shí)際需要而定,本發(fā)明不作限定。

本發(fā)明提供了一種基于ceph的存儲交互裝置,各個(gè)RBD cache基于客戶端設(shè)置,當(dāng)RBD cache接收到訪問請求后,首先同步至其他RBD cache,各個(gè)RBD cache依據(jù)其他RBD cache同步過來的訪問請求對自身接收到的訪問請求進(jìn)行調(diào)整,然后依據(jù)調(diào)整后的訪問請求進(jìn)行RBD卷的訪問操作??梢?,本發(fā)明在當(dāng)不同RBD cache同時(shí)接收到訪問相同RBD卷但操作內(nèi)容不同的訪問請求時(shí),會通過不同RBD cache之間的相互同步操作調(diào)整這些訪問請求的先后順序,或者訪問請求對應(yīng)的訪問位置,從而避免該種情況下系統(tǒng)報(bào)錯(cuò),可靠性高。

本發(fā)明還提供了一種基于ceph的存儲系統(tǒng),參見圖2所示,圖2為本發(fā)明提供的一種基于ceph的存儲系統(tǒng)的結(jié)構(gòu)示意圖。圖2中,LUN1為基于RBD卷1建立的邏輯單元,Tgt-target1為對應(yīng)于LUN1的target;Node1、Node2、Node3為服務(wù)器;RBD cache1對應(yīng)客戶端1,RBD cache2對應(yīng)客戶端2。

該系統(tǒng)包括以上的存儲交互裝置、分別通過各個(gè)RBD卷建立的若干個(gè)邏輯單元、與邏輯單元一一對應(yīng)的target層以及服務(wù)器集群,服務(wù)器集群內(nèi)包括若干個(gè)服務(wù)器;

target層,用于分別接收若干個(gè)客戶端發(fā)送的訪問請求;

邏輯單元,用于作為自身對應(yīng)的target層與各個(gè)RBD cache之間的數(shù)據(jù)交互接口,將自身對應(yīng)的target層接收到的若干個(gè)訪問請求分別分配至相應(yīng)的RBD cache。

其中,target層包括若干個(gè)對應(yīng)于邏輯單元的target,target設(shè)置于ceph內(nèi)的服務(wù)器中,且與服務(wù)器一一對應(yīng)。target即為靶子,客戶端需要先找尋到靶子,才能知道將訪問請求發(fā)送到哪里。

可以理解的是,這里的邏輯單元通過RBD卷建立,即邏輯單元與RBD卷一一對應(yīng),進(jìn)一步的,target層與邏輯單元對應(yīng)設(shè)置,即可以理解為target層與RBD卷一一對應(yīng)。故客戶端發(fā)送的訪問請求通過對應(yīng)于哪個(gè)RBD卷的target層與邏輯單元,該訪問請求即會對哪個(gè)RBD卷進(jìn)行訪問操作;當(dāng)然,中間通過的RBD cache視發(fā)出訪問請求的客戶端而定。例如,假設(shè)第一target層對應(yīng)于第一邏輯單元,第一邏輯單元通過第一RBD卷設(shè)置,則客戶端發(fā)送的訪問請求若通過第一target層和第一邏輯單元,則RBD cache會依據(jù)該訪問請求訪問第一RBD卷。

其中,RBD cache設(shè)置于相應(yīng)的服務(wù)器內(nèi),各個(gè)RBD cache所位于的服務(wù)器之間通過網(wǎng)線兩兩相連。若RBD cache的數(shù)量過多,兩兩相連會造成線路過于復(fù)雜的話,可以通過修改RBD cache內(nèi)的算法,使其具有將其他RBD cache同步過來的訪問請求轉(zhuǎn)發(fā)至與自身相連的其他RBD cache的功能,當(dāng)然,本發(fā)明對此不做限定。

具體的,客戶端與服務(wù)器通過網(wǎng)線連接。由于target一一對應(yīng)的設(shè)置于服務(wù)器中,客戶端可通過網(wǎng)線將訪問請求發(fā)送至對應(yīng)的target中。另外,客戶端與服務(wù)器為無線連接。以上僅為優(yōu)選方案,本發(fā)明不限定客戶端與服務(wù)器間的連接方式。

另外,該存儲系統(tǒng)中,每個(gè)客戶端均可連接多個(gè)服務(wù)器,每個(gè)服務(wù)器也可以連接多個(gè)客戶端,本發(fā)明對此不作限定。

需要說明的是,在本說明書中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
成都市| 磐石市| 浦城县| 陕西省| 延川县| 西贡区| 涟水县| 许昌县| 翁源县| 昌宁县| 罗甸县| 广州市| 隆尧县| 大荔县| 讷河市| 镇原县| 甘谷县| 新乡县| 旺苍县| 乐至县| 响水县| 天长市| 油尖旺区| 抚顺县| 秦安县| 永登县| 镇沅| 赞皇县| 巴马| 碌曲县| 永川市| 武功县| 滨州市| 绩溪县| 镇赉县| 德令哈市| 秭归县| 和静县| 陆丰市| 寻甸| 泰顺县|