1?分布式存儲技術簡介
1.1 分布式存儲系統的特性
(1)可擴展
分布式存儲系統可以擴展到幾百臺甚至幾千臺的集群規模,而且隨著集群規模的增長,系統整體性能表現為線性增長。分布式存儲的水平擴展有以下幾個特性:
- 節點擴展后,舊數據會自動遷移到新節點,實現負載均衡,避免單點過熱的情況出現;
- 水平擴展只需要將新節點和原有集群連接到同一網絡,整個過程不會對業務造成影響;
- 當節點被添加到集群,集群系統的整體容量和性能也隨之線性擴展,此后新節點的資源就會被管理平臺接管,被用于分配或者回收。
(2)低成本
分布式存儲系統的自動容錯、自動負載均衡機制使其可以構建在普通的PC機之上。另外,線性擴展能力也使得增加、減少機器非常方便,可以實現自動運維。
(3)高性能
無論是針對整個集群還是單臺服務器,都要求分布式存儲系統具備高性能。
(4)易用
分布式存儲系統需要能夠提供易用的對外接口,另外,也要求具備完善的監控、運維工具,并能夠與其他系統集成。
(5)易管理
可通過一個簡單的WEB界面就可以對整個系統進行配置管理,運維簡便,極低的管理成本。
分布式存儲系統的挑戰主要在于數據、狀態信息的持久化,要求在自動遷移、自動容錯、并發讀寫的過程中保證數據的一致性。分布式存儲涉及的技術主要來自兩個領域:分布式系統以及數據庫。
1.2 存儲分類
(1)本地存儲
本地存儲本地的文件系統,不能在網絡上用。
- ext3
- ext4
- xfs
- ntfs? ? ??
(2)網絡存儲??
網絡存儲---網絡文件系統,共享的都是文件系統。
- nfs:網絡文件系統
- hdfs:分布式網絡文件系統
- glusterfs:分布式網絡文件系統??????
(3)共享的是裸設備 ?
- 塊存儲 cinder ?ceph(塊存儲 ?對象存儲 ?網絡文件系統-分布式)
- SAN(存儲區域網)? ? ? ??
(4)分布式
- 集群
2 分布式存儲分類介紹
2.1 Hadoop HDFS(大數據分布式文件系統)
HDFS(Hadoop Distributed File System)是一個分布式文件系統,是hadoop生態系統的一個重要組成部分,是hadoop中的的存儲組件.HDFS是一個高度容錯性的系統,HDFS能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。
HDFS的優點:
(1)高容錯性
????????????數據自動保存多個副本
????????????副本丟失后,自動恢復
(2)良好的數據訪問機制
????????????一次寫入、多次讀取,保證數據一致性
(3)適合大數據文件的存儲
????????????TB、 甚至PB級數據
????????????擴展能力很強
HDFS的缺點:
(1)低延遲數據訪問
???????????難以應付毫秒級以下的應用
(2) 海量小文件存取
????????????占用NameNode大量內存
(3)一個文件只能有一個寫入者
???????????僅支持append(追加)
2.2 OpenStack的對象存儲Swift
OpenStack Object Storage(Swift)是OpenStack開源云計算項目的子項目之一。Swift的目的是使用普通硬件來構建冗余的、可擴展的分布式對象存儲集群,存儲容量可達PB級。Swift的是用Python開發
其主要特點為:
- 各個存儲的節點完全對等,是對稱的系統架構。
- 開發者通過一個RESTful HTTP API與對象存儲系統相互作用。
- 無單點故障:Swift的元數據存儲是完全均勻隨機分布的,并且與對象文件存儲一樣,元數據也會存儲多份。整個Swift集群中,也沒有一個角色是單點的。
- 在不影響性能的情況下,集群通過增加外部節點進行擴展。
- 無限的可擴展性:這里的擴展性分兩方面,一是數據存儲容量無限可擴展;二是Swift性能(如QPS、吞吐量等)可線性提升,擴容只需簡單地新增機器,系統會自動完成數據遷移等工作,使各存儲節點重新達到平衡狀態。
- 極高的數據持久性
Swift可以用以下用途:
- 圖片、文檔存儲
- 長期保存的日志文件
- 存儲媒體庫(照片、音樂、視頻等)
- 視頻監控文件的存檔
總結:Swift適合用來存儲大量的、長期的、需要備份的對象。
2.3 公有云對象存儲
公有云大都只有對象存儲。例如,谷歌云存儲是一個快速,具有可擴展性和高可用性的對象存儲。
Amazon類似產品就是S3: http://aws.amazon.com/s3;
微軟類似產品Azure Bolb:http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/;
阿里類似的有OSS:https://www.aliyun.com/product/oss/;
阿里云對象存儲OSS
阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務
存儲類型(Storage Class)
OSS 提供標準、低頻訪問、歸檔三種存儲類型,其中標準存儲類型提供高可靠、高可用、高性能的對象存儲服務,能夠支持頻繁的數據訪問;低頻訪問存儲類型適合長期保存不經常訪問的數據(平均每月訪問頻率 1 到 2 次),存儲單價低于標準類型;歸檔存儲類型適合需要長期保存(建議半年以上)的歸檔數據,在三種存儲類型中單價最低。
應用場景
(1)圖片和音視頻等應用的海量存儲
OSS可用于圖片、音視頻、日志等海量文件的存儲。
(2)云端數據處理
上傳文件到OSS后,可以配合媒體處理服務和圖片處理服務進行云端的數據處理。
(3)網頁或者移動應用的靜態和動態資源分離
利用海量互聯網帶寬,OSS可以實現海量數據的互聯網并發下載。
2.4 GlusterFS分布式文件系統
GlusterFS(GNU ClusterFile System)是一種全對稱的開源分布式文件系統,所謂全對稱是指GlusterFS采用彈性哈希算法,沒有中心節點,所有節點全部平等。GlusterFS配置方便,穩定性好,可輕松達到PB級容量,數千個節點,2011年被紅帽收購。
PB級容量 ?高可用性 基于文件系統級別共享 分布式 去中心化
glusgerfs存儲卷的類型
基本類型:條帶,復制,哈希。
復合卷
復合卷就是分布式復制,分布式條帶,分布式條帶復制卷,像分布式復制,分布式條帶這兩個是比較常用的,像分布式條帶復制卷三種揉一塊兒的用的都比較少,
各種卷的整理
分布卷:存儲數據時,將文件隨機存儲到各臺glusterfs機器上。
- 優點:存儲數據時,讀取速度快
- 缺點:一個birck壞掉,文件就會丟失
復制卷:存儲數據時,所有文件分別存儲到每臺glusterfs機器上。
- 優點:對文件進行的多次備份,一個brick壞掉,文件不會丟失,其他機器的brick上面有備份
- 缺點:占用資源
條帶卷:存數據時,一個文件分開存到每臺glusterfs機器上
- 優點:對大文件,讀寫速度快
- 缺點:一個brick壞掉,文件就會壞掉
最常見的GPFS和HDFS有什么區別?
GPFS和Hadoop的HDFS系統對比,它設計用于在商用硬件上存儲類似或更大的數據
HDFS還將文件分割成塊,并將它們存儲在不同的文件系統節點內。
HDFS對磁盤可靠性的依賴并不高,它可以在不同的節點內存儲塊的副本。保存單一副本塊的一個節點出現故障可以再復制該組其它有效塊內的副本。相較而言,雖然GPFS支持故障節點恢復,但它是一個更嚴重的事件,它可能包括數據(暫時性)丟失的高風險。
GPFS支持完整的Posix文件系統語義。 HDFS和GFS(谷歌文件系統)并不支持完整的Posix語義。
GPFS跨文件系統分布它的目錄索引和其它元數據。相反, Hadoop將它們保留在主要和次要Namenode中,大型服務器必須在RAM內存儲所有的索引信息。
GPFS將文件分割成小塊。Hadoop HDFS喜歡64MB甚至更多的塊,因為這降低了Namenode的存儲需求。小塊或很多小的文件會快速填充文件系統的索引,因此限制了文件系統的大小。