知識庫
存儲系統有哪三種?三種存儲方式是:DAS、SAN、NAS,三種存儲類型:塊存儲、文件存儲、對象存儲。塊存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一種新的網絡存儲架構,基于對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。
本質是一樣的,底層都是塊存儲,只是在對外接口上表現不一致,分別應用于不同的業務場景。
分布式存儲的應用場景相對于其存儲接口,現在流行分為三種:
//一、對象存儲: 也就是通常意義的鍵值存儲,其接口就是簡單的GET、PUT、DEL和其他擴展,如七牛、又拍、Swift、S3
//二、塊存儲: 這種接口通常以QEMU Driver或者Kernel Module的方式存在,這種接口需要實現Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盤和阿里云的盤古系統,還有Ceph的RBD(RBD是Ceph面向塊存儲的接口)
//三、文件存儲: 通常意義是支持POSIX接口,它跟傳統的文件系統如Ext4是一個類型的,但區別在于分布式存儲提供了并行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存儲的接口),但是有時候又會把GFS,HDFS這種非POSIX接口的類文件存儲接口歸入此類。
塊存儲和文件存儲是我們比較熟悉的兩種主流的存儲類型,而對象存儲(Object-based Storage)是一種新的網絡存儲架構,基于對象存儲技術的設備就是對象存儲設備(Object-based Storage Device)簡稱OSD。
首先,我們介紹這兩種傳統的存儲類型。通常來講,所有磁盤陣列都是基于Block塊的模式(DAS),而所有的NAS產品都是文件級存儲
1、塊存儲
以下列出的兩種存儲方式都是塊存儲類型:
1) DAS(Direct Attach STorage):是直接連接于主機服務器的一種儲存方式,每一臺主機服務器有獨立的儲存設備,每臺主機服務器的儲存設備無法互通,需要跨主機存取資料時,必須經過相對復雜的設定,若主機服務器分屬不同的操作系統,要存取彼此的資料,更是復雜,有些系統甚至不能存取。通常用在單一網絡環境下且數據交換量不大,性能要求不高的環境下,可以說是一種應用較為早的技術實現。
2)SAN(Storage Area Network):是一種用高速(光纖)網絡聯接專業主機服務器的一種儲存方式,此系統會位于主機群的后端,它使用高速I/O 聯結方式, 如 SCSI, ESCON 及 Fibre- Channels。一般而言,SAN應用在對網絡速度要求高、對數據的可靠性和安全性要求高、對數據共享的性能要求高的應用環境中,特點是代價高,性能好。例如電信、銀行的大數據量關鍵應用。它采用SCSI 塊I/O的命令集,通過在磁盤或FC(Fiber Channel)級的數據訪問提供高性能的隨機I/O和數據吞吐率,它具有高帶寬、低延遲的優勢,在高性能計算中占有一席之地,但是由于SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。
2、文件存儲
通常,NAS產品都是文件級存儲。 NAS(Network Attached Storage):是一套網絡儲存設備,通常是直接連在網絡上并提供資料存取服務,一套 NAS 儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。例如教育、政府、企業等數據存儲應用。
它采用NFS或CIFS命令集訪問數據,以文件為傳輸協議,通過TCP/IP實現網絡化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應用較多的NFS文件系統,但由于NAS的協議開銷高、帶寬低、延遲大,不利于在高性能集群中應用。
下面,我們對DAS、NAS、SAN三種技術進行比較和分析:
表格 1 三種技術的比較
針對Linux集群對存儲系統高性能和數據共享的需求,國際上已開始研究全新的存儲架構和新型文件系統,希望能有效結合SAN和NAS系統的優點,支持直接訪問磁盤以提高性能,通過共享的文件和元數據以簡化管理,目前對象存儲系統已成為Linux集群系統高性能存儲系統的研究熱點,如Panasas公司的Object Base Storage Cluster System系統和Cluster File Systems公司的Lustre等。下面將詳細介紹對象存儲系統。
3、對象存儲
總體上來講,對象存儲同兼具SAN高速直接訪問磁盤特點及NAS的分布式共享特點(擴展性)
核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,并且基于對象存儲設備(Object-based Storage Device,OSD)構建存儲系統。每個對象存儲設備具有一定的智能,能夠自動管理其上的數據分布。