當前位置:
首頁 > 科技 > 分散式存儲安全缺陷——存儲類型

分散式存儲安全缺陷——存儲類型

存儲最重要的指標是什麼?很多人包括存儲專家都會認為是存儲的性能指標,比如IOPS和帶寬。但是我認為存儲最重要的是數據的安全性。一個跑的飛快的存儲,突然數據丟失了,後果會怎麼樣?數據的丟失,對於任何系統來說,都是滅頂之災。所以,不管什麼樣的存儲,數據的安全可靠都是第一位的。原來傳統的存儲使用了專用硬體,從可靠性上有比較高的保證,所以大家首先會關注性能指標。但是用X86為基礎的SRVSAN的可靠性就不容樂觀。

分散式存儲安全缺陷——存儲類型

我們在2014年下半年,開始搭建以X86為載體的分散式塊存儲,經過嚴格的測試,在同年底投入商用,是業界首個商用的軟體定義的分散式存儲,當時各種媒體都爭相報道。到現在為止已經商用了近2年,存儲運行穩定,表現優良。並從原來2P裸容量擴容到4.5P。但是近段時間我卻越來越擔心,因為SRVSAN與生俱來的數據安全隱患,一直被人忽視了,而且主流廠家也沒有意識到這個問題。如果這個隱患在若干年以後爆發,會發生重大性系統故障。

存儲這個東西,大部分讀者並不是太了解,我將通過幾篇文章連載的方式,從比較基礎知識開始寫,並引出問題和大家一起討論解決的辦法。盤算了一下大致分為七個章節:

一、存儲類型

二、文件系統

三、磁碟類型

四、Raid和副本

五、SRVSAN的架構

六、SRVSAN的安全隱患

七、解決的方法

一般情況下,我們將存儲分成了4種類型,基於本機的DAS和網路的NAS存儲、SAN存儲、對象存儲。對象存儲是SAN存儲和NAS存儲結合後的產物,汲取了SAN存儲和NAS存儲的優點。

分散式存儲安全缺陷——存儲類型

圖1

我們來了解一下應用是怎麼樣獲取它想要的存在存儲里的某個文件信息,並用大家熟悉的Windows來舉例,如圖1。

1、 應用會發出一個指令「讀取本目錄下的readme.txt 文件的前1K數據」。

2、 通過內存通信到目錄層,將相對目錄轉換為實際目錄,「讀取C: test
eadme.txt文件前1K數據」

3、 通過文件系統,比如FAT32,通過查詢文件分配表和目錄項,獲取文件存儲的LBA地址位置、許可權等信息。文件系統先查詢緩存中有沒有數據,如果有直接返回數據;沒有,文件系統通過內存通信傳遞到下一環節命令「讀取起始位置LBA1000,長度1024的信息」。

4、 卷(LUN)管理層將LBA地址翻譯成為存儲的物理地址,並封裝協議,如SCSI協議,傳遞給下一環節。

5、 磁碟控制器根據命令從磁碟中獲取相應的信息。

如果磁碟扇區大小是4K,實際一次I/O讀取的數據是4K,磁頭讀取的4K數據到達伺服器上的內容後,有文件系統截取前1K的數據傳遞給應用,如果下次應用再發起同樣的請求,文件系統就可以從伺服器的內存中直接讀取。

不管是DAS、NAS還是SAN,數據訪問的流程都是差不多的。DAS將計算、存儲能力一把抓,封裝在一個伺服器里。大家日常用的電腦,就是一個DAS系統,如圖1。

分散式存儲安全缺陷——存儲類型

圖2

如果將計算和存儲分離了,存儲成為一個獨立的設備,並且存儲有自己的文件系統,可以自己管理數據,就是NAS,如圖2。計算和存儲間一般採用乙太網絡連接,走的是CIFS或NFS協議。伺服器們可以共享一個文件系統,也就是說,不管伺服器講的是上海話還是杭州話,通過網路到達NAS 的文件系統,都被翻譯成為普通話。所以NAS存儲可以被不同的主機共享。伺服器只要提需求,不需要進行大量的計算,將很多工作交給了存儲完成,省下的CPU資源可以干更多伺服器想乾的事情,即計算密集型適合使用NAS。

分散式存儲安全缺陷——存儲類型

圖3

計算和存儲分離了,存儲成為一個獨立的設備,存儲只是接受命令不再做複雜的計算,只干讀取或者寫入文件2件事情,叫SAN,如圖3。因為不帶文件系統,所以也叫「裸存儲」,有些應用就需要裸設備,如資料庫。存儲只接受簡單明了的命令,其他複雜的事情,有伺服器端幹了。再配合FC網路,這種存儲數據讀取/寫入的速度很高。但是每個伺服器都有自己的文件系統進行管理,對於存儲來說是不挑食的只要來數據我就存,不需要知道來的是什麼,不管是英語還是法語,都忠實記錄下來的。但是只有懂英語的才能看懂英語的數據,懂法語的看懂法語的數據。所以,一般伺服器和SAN存儲區域是一夫一妻制的,SAN的共享性不好。當然,有些裝了集群文件系統的主機是可以共享同一個存儲區域的。

從上面分析,我們知道,決定存儲的快慢是由網路和命令的複雜程度決定的。

內存通信速度>匯流排通信>網路通信,網路通信中還有FC網路和乙太網絡。FC網路目前可以實現8Gb/s,但乙太網絡通過光纖介質已經普及10Gb/s,40Gb/s的網卡也在使用了。也就是說傳統乙太網絡已經不是存儲的瓶頸了。除了FCSAN,IPSAN也是SAN存儲的重要成員。

對存儲的操作,除了熟悉的讀/寫以外,其實還有創建、打開、獲取屬性、設置屬性、查找等等。對於有大腦的SAN存儲來說,除了讀/寫以外的命令,都可以在本地內存中完成,速度極快。而NAS存儲缺乏大腦,每次向存儲傳遞命令,都需要IP封裝並通過乙太網絡傳遞到NAS伺服器上,這個速度就遠遠低於內存通信了。

DAS特點是速度最快,但只能自己用;NAS的特點速度慢點但共享性好;SAN的特點是速度快,但共享性差。總體上來講,對象存儲同兼具SAN高速直接訪問磁碟特點及NAS的分散式共享特點。NAS存儲的基本單位是文件,SAN存儲的基本單位是數據塊,而對象存儲的基本單位是對象,對象可以認為是文件的數據+一組屬性信息的組合,這些屬性信息可以定義基於文件的RAID參數、數據分布和服務質量等。採取的是「控制信息」和「數據存儲」分離的模式,客戶端用對象ID+偏移量作為讀寫的依據,客戶端先從「控制信息」獲取數據存儲的真實地址,再直接從「數據存儲」中訪問。 對象存儲大量使用在互聯網上,大家使用的網盤就是典型的對象存儲。對象存儲有很好的擴展性,可以線性擴容。並可以通過介面封裝,還可以提供NAS存儲服務和SAN存儲服務。VMware的vSAN本質就是一個對象存儲。分散式對象存儲就是SRVSAN的一種,也存在安全隱患。因為這個隱患是X86伺服器帶來的。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 中國存儲 的精彩文章:

阿里雲存儲,為未來進化不止
要實現自動駕駛必須把存儲器加入到自動駕駛的整體和集成體系中

TAG:中國存儲 |