本發(fā)明屬于緩存設備技術領域,特別是涉及一種利用ssd緩存對lun進行加速的方法和裝置。
背景技術:
在存儲系統(tǒng)中,ssd磁盤在隨機讀寫方面具有優(yōu)異的表現(xiàn),因此引入ssd緩存技術能夠提高ssd硬盤的性價比,顯著提高存儲系統(tǒng)的io處理性能。如何將ssd磁盤資源進行有效管理,使其對lun級別的加速效果發(fā)揮到最佳,是存儲系統(tǒng)ssd緩存設計的重點。
現(xiàn)有存儲系統(tǒng)只支持對lunio的a/p路徑訪問方式的加速,即緩存分區(qū)只能加速與其prefer_node屬性相同的lun。一般存儲系統(tǒng)需要和多路徑軟件配合使用,主要實現(xiàn)控制器的故障切換和恢復、io流的負載均衡以及磁盤的虛擬化,對于雙節(jié)點存儲系統(tǒng)中使用a/a雙活路徑方式進行io訪問時,此時io會從兩個控制器都下發(fā),原來的a/p模式下的ssd緩存就不能滿足a/a模式的lun加速,尤其是會導致數(shù)據(jù)一致性出現(xiàn)問題。
技術實現(xiàn)要素:
為解決上述問題,本發(fā)明提供了一種利用ssd緩存對lun進行加速的方法和裝置,能夠滿足a/a雙活模式下的加速需求,做到ssd緩存系統(tǒng)功能穩(wěn)定,保證數(shù)據(jù)一致性,提高存儲系統(tǒng)的可靠性。
本發(fā)明提供的一種利用ssd緩存對lun進行加速的方法,包括:
將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū);
將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;
為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的方法中,
所述將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構為:
利用邏輯卷的方式,將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的方法中,
所述將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū)為:
將ssd加入到緩存池中,創(chuàng)建多個只有兩個pdisk的ssd緩存分區(qū)。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的方法中,
所述開啟ssd緩存加速之后,還包括:
接收主機端采用雙活模式下發(fā)的ios;
對所述ios進行緩存,如果命中則重新引導ios到對應的ssd緩存分區(qū),否則直接提交到對應的所述vdisk。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的方法中,
所述開啟ssd緩存加速之后,還包括:
當所述主機端的任一節(jié)點發(fā)生故障時,則利用另一個節(jié)點對所述ios進行緩存。
本發(fā)明提供的一種利用ssd緩存對lun進行加速的裝置,包括:
創(chuàng)建單元,用于將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū);
封裝單元,用于將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;
映射單元,用于為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的裝置中,
所述封裝單元具體用于利用邏輯卷的方式,將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的裝置中,
所述創(chuàng)建單元具體用于將ssd加入到緩存池中,創(chuàng)建多個只有兩個pdisk的ssd緩存分區(qū)。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的裝置中,
還包括:
接收單元,用于接收主機端采用雙活模式下發(fā)的ios;
第一緩存單元,用于對所述ios進行緩存,如果命中則重新引導ios到對應的ssd緩存分區(qū),否則直接提交到對應的所述vdisk。
優(yōu)選的,在上述利用ssd緩存對lun進行加速的裝置中,
還包括:
第二緩存單元,用于當所述主機端的任一節(jié)點發(fā)生故障時,則利用另一個節(jié)點對所述ios進行緩存。
通過上述描述可知,本發(fā)明提供的上述利用ssd緩存對lun進行加速的方法和裝置,由于該方法包括將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū);將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速,因此能夠滿足a/a雙活模式下的加速需求,做到ssd緩存系統(tǒng)功能穩(wěn)定,保證數(shù)據(jù)一致性,提高存儲系統(tǒng)的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請實施例提供的第一種利用ssd緩存對lun進行加速的方法的示意圖;
圖2為ssd緩存分區(qū)與pdisk的對應關系的示意圖;
圖3為a/a模式ssd緩存加速過程的示意圖;
圖4為本申請實施例提供的第一種利用ssd緩存對lun進行加速的裝置的示意圖。
具體實施方式
本發(fā)明的核心思想在于提供一種利用ssd緩存對lun進行加速的方法和裝置,能夠滿足a/a雙活模式下的加速需求,做到ssd緩存系統(tǒng)功能穩(wěn)定,保證數(shù)據(jù)一致性,提高存儲系統(tǒng)的可靠性。
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本申請實施例提供的第一種利用ssd緩存對lun進行加速的方法如圖1所示,圖1為本申請實施例提供的第一種利用ssd緩存對lun進行加速的方法的示意圖,該方法包括如下步驟:
s1:將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū);
具體的,可以創(chuàng)建多個緩存池,參考圖2,圖2為ssd緩存分區(qū)與pdisk的對應關系的示意圖,創(chuàng)建緩存分區(qū)時,可根據(jù)實際需要來決定pdisk的數(shù)量,從圖中可以看出,其中的partition0中包括pdisk0和pdisk1這樣兩個pdisk,而partition1中包括pdisk2和pdisk3這樣兩個pdisk。針對雙控有兩個pdisk,而針對多控設備,則會對應增加pdisk的數(shù)量。
s2:將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;
繼續(xù)參考圖2,可見hdd資源池被劃分出vdisk0、vdisk1、vdisk2以及vdisk3,可以將其中的vdisk0對應到上述partition0,將其中的vdisk1對應到上述partition1等等,此處不再贅述。
s3:為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速。
開啟加速后,ssd緩存會重新引導io進行ssd加速。
通過上述描述可知,本申請實施例提供的第一種利用ssd緩存對lun進行加速的方法,由于包括將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū);將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速,因此能夠滿足a/a雙活模式下的加速需求,做到ssd緩存系統(tǒng)功能穩(wěn)定,保證數(shù)據(jù)一致性,提高存儲系統(tǒng)的可靠性。
本申請實施例提供的第二種利用ssd緩存對lun進行加速的方法,是在上述第一種利用ssd緩存對lun進行加速的方法的基礎上,還包括如下技術特征:
所述將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構為:
利用邏輯卷的方式,將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構。
本申請實施例提供的第三種利用ssd緩存對lun進行加速的方法,是在上述第一種或第二種利用ssd緩存對lun進行加速的方法的基礎上,還包括如下技術特征:
所述將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū)為:
將ssd加入到緩存池中,創(chuàng)建多個只有兩個pdisk的ssd緩存分區(qū)k,映射關系為pdisk_id=pid*node_id,兩個pdisk容量一致,可以屬于不同緩存池。
需要說明的是,ssd緩存分區(qū)由pdisk組成作為緩存分區(qū)的基本管理單位,一個pdisk實際是vdisk數(shù)據(jù)結構的再封裝,即對應后端可訪問的基本邏輯卷,對于a/a模式下的存儲系統(tǒng),一個ssd緩存為了保證對一個vdisk的加速功能,每個控制器需要維護一個pdisk,所以這兩個pdisk組成了存儲系統(tǒng)的一個partition。一般而言,雙活系統(tǒng)的ssd緩存維護32個緩存分區(qū),所以需要維護64個pdisk,存儲系統(tǒng)中的ssd緩存主要進行隨機讀加速,對于寫ios,為了保持數(shù)據(jù)一致性,需要進行兩個控制器之間的元數(shù)據(jù)的同步。
本申請實施例提供的第四種利用ssd緩存對lun進行加速的方法,是在上述第三種利用ssd緩存對lun進行加速的方法的基礎上,還包括如下技術特征:
所述開啟ssd緩存加速之后,還包括:
接收主機端采用雙活模式下發(fā)的ios;
對所述ios進行緩存,如果命中則重新引導ios到對應的ssd緩存分區(qū),否則直接提交到對應的所述vdisk。
具體而言,參考圖3,圖3為a/a模式ssd緩存加速過程的示意圖,正常的a/a模式情況下,對一個vdisk進行ssd緩存加速,兩個節(jié)點可能都會接收到的ios,兩個節(jié)點都需要創(chuàng)建該分區(qū)對應的pdisk,通過映射關系會使用partition對應節(jié)點上的pdisk來進行加速處理,同時對寫io會進行元數(shù)據(jù)同步。
本申請實施例提供的第五種利用ssd緩存對lun進行加速的方法,是在上述第四種利用ssd緩存對lun進行加速的方法的基礎上,還包括如下技術特征:
所述開啟ssd緩存加速之后,還包括:
當所述主機端的任一節(jié)點發(fā)生故障時,則利用另一個節(jié)點對所述ios進行緩存。
具體的,當雙節(jié)點存儲系統(tǒng)中的某一節(jié)點發(fā)生故障后,下發(fā)vdisk的ios全部由另一節(jié)點接收和進行ssd緩存加速,這就有助于保證存儲的安全性,有效避免對系統(tǒng)造成的不利影響。
上述方法創(chuàng)建和管理比較靈活,有效組織了ssd緩存資源,提高ssd緩存的加速性能,從而擴展了存儲系統(tǒng)的功能,顯著提升了存儲系統(tǒng)的性能,還保證了系統(tǒng)的可靠性,保證存儲系統(tǒng)ios不中斷正常業(yè)務,用戶體驗更好。
本申請實施例提供的第一種利用ssd緩存對lun進行加速的裝置如圖4所示,圖4為本申請實施例提供的第一種利用ssd緩存對lun進行加速的裝置的示意圖,該裝置包括:
創(chuàng)建單元201,用于將ssd加入到緩存池中,創(chuàng)建多個至少包括兩個pdisk的ssd緩存分區(qū),創(chuàng)建緩存分區(qū)時,可根據(jù)實際需要來決定pdisk的數(shù)量;
封裝單元202,用于將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構;
映射單元203,用于為所述vdisk數(shù)據(jù)結構添加所述緩存分區(qū)屬性,進行緩存映射,并開啟ssd緩存加速。
本申請實施例提供的第二種利用ssd緩存對lun進行加速的裝置,是在上述第一種利用ssd緩存對lun進行加速的裝置的基礎上,還包括如下技術特征:
所述封裝單元具體用于利用邏輯卷的方式,將lun封裝成帶有緩存分區(qū)屬性的vdisk數(shù)據(jù)結構。
本申請實施例提供的第三種利用ssd緩存對lun進行加速的裝置,是在上述第一種或第二種利用ssd緩存對lun進行加速的裝置的基礎上,還包括如下技術特征:
所述創(chuàng)建單元具體用于將ssd加入到緩存池中,創(chuàng)建多個只有兩個pdisk的ssd緩存分區(qū)。
需要說明的是,ssd緩存分區(qū)由pdisk組成作為緩存分區(qū)的基本管理單位,一個pdisk實際是vdisk數(shù)據(jù)結構的再封裝,即對應后端可訪問的基本邏輯卷,對于a/a模式下的存儲系統(tǒng),一個ssd緩存為了保證對一個vdisk的加速功能,每個控制器需要維護一個pdisk,所以這兩個pdisk組成了存儲系統(tǒng)的一個partition。一般而言,雙活系統(tǒng)的ssd緩存維護32個緩存分區(qū),所以需要維護64個pdisk,存儲系統(tǒng)中的ssd緩存主要進行隨機讀加速,對于寫ios,為了保持數(shù)據(jù)一致性,需要進行兩個控制器之間的元數(shù)據(jù)的同步。
本申請實施例提供的第四種利用ssd緩存對lun進行加速的裝置,是在上述第三種利用ssd緩存對lun進行加速的裝置的基礎上,還包括如下技術特征:
還包括:
接收單元,用于接收主機端采用雙活模式下發(fā)的ios;
第一緩存單元,用于對所述ios進行緩存,如果命中則重新引導ios到對應的ssd緩存分區(qū),否則直接提交到對應的所述vdisk。
正常的a/a模式情況下,對一個vdisk進行ssd緩存加速,兩個節(jié)點可能都會接收到的ios,兩個節(jié)點都需要創(chuàng)建該分區(qū)對應的pdisk,通過映射關系會使用partition對應節(jié)點上的pdisk來進行加速處理,同時對寫io會進行元數(shù)據(jù)同步。
本申請實施例提供的第五種利用ssd緩存對lun進行加速的裝置,是在上述第四種利用ssd緩存對lun進行加速的裝置的基礎上,還包括如下技術特征:
還包括:
第二緩存單元,用于當所述主機端的任一節(jié)點發(fā)生故障時,則利用另一個節(jié)點對所述ios進行緩存。
具體的,當雙節(jié)點存儲系統(tǒng)中的某一節(jié)點發(fā)生故障后,下發(fā)vdisk的ios全部由另一節(jié)點接收和進行ssd緩存加速,這就有助于保證存儲的安全性,有效避免對系統(tǒng)造成的不利影響。
對所公開的實施例的上述說明,使本領域專業(yè)技術人員能夠實現(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領域的專業(yè)技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。