一、云存儲技術
?1.1、云存儲是什么
????????從狹義上來說,云存儲是指通過虛擬化、分布式技術、集群應用、網格技術、負載均衡等技術,將網絡中大量的存儲設備通過軟件集合起來高效協同工作,共同對外提供低成本、高擴展性的數據存儲服務。
從廣義上來講,云存儲可以理解為按需提供的虛擬存儲資源,如同云計算的Paas、 Iaas服務一樣,可稱為數據存儲即服務(Data StorageAs a Service, DaaS),即基于指定的服務水平請求,通過網絡提供適當的虛擬存儲和相關數據服務。
????????云存儲不是指某一個具體的設備,而是指有許多存儲設備和微服務所構成的集體;使用者使用云存儲時并不是使用某個存儲設備,而是使用整個云存儲系統帶來的一種數據訪問服務;云存儲的核心是【應用軟件與存儲設備相結合】,通過應用軟件來實現存儲設備向存儲服務的轉變【云存儲就是將存儲設備、存儲資源放到網絡上供人存取的一種新興的技術方案,使用者可以在任何時間、任何地方通過任何可以連接的網絡裝置,進行數據的任何存取操作】。
?1.2、云存儲的優缺點
????????云存儲的優勢在于可擴展性、場外管理、快速部署,以及較低的前期成本。此外,在一個總是需要更多儲容量的世界中,云存儲提供了無限的額外容量。
????????云存儲的缺點主要集中在合規性、總體生命周期成本、對安全性的疑慮以及速度問題上。而如果數據如果需要長期、穩定存儲的話, 則通常不會只存儲在云中。
序號 | 云存儲的優點 | 云存儲的缺點 |
1 | 場外管理 ????????實現不同實時物域維護的異地在線存儲,可以讓組織關注其他優先事項,特別是組織以合理的成本與可靠的供應商建立了良好關系的話,在某些情況下云計算服務提供商可以提供備份、數據保護、安全和其他的項目,以及管理工作等服務;我們可以將一些物理現場存儲管理任務(包括:采集、配置、以及設置等操作)可以轉移到云端完成 | 成本問題(終身成本) ? ? ? ? 一旦用戶計算超過三到五年的成本,它的成本真的比數據中心的低嗎?對一些人來說答案是否定的;隨著時間的推移,公有云的成本可能會持續增加;如果用戶的應用程序是在本地數據中心運行,而其數據是在云中,是會增加網絡成本,并且會導致延遲的增加;所以把數據存儲到云中可能會有一個終身成本,需要一直付費 |
2 | 網絡連接性 ????????云計算的最大優點之一就是允許用戶在任何的時間、任意地點、任何設備上可以自由地共享和訪問數據;云計算以企業存儲解決方案,從未能夠做到的方式實現了連接現代化企業,通過合適的云存儲,企業可以在運營效率,靈活性、上線時間以競爭優勢,以及降低成本等方面去獲得收益 | 安全性 ? ? ? ? 企業將數據傳遞給公有云服務商,會帶來安全和隱私的問題,媒體對很多公有云泄露的事件都有過報道,安全公司進行了調查表明大約有3%受訪者認為在辦公室外共享文件等隱私數據是安全的。所以永遠不要在公有云中存儲敏感數據。 ? ? ? ? 很多公司對公有云的安全性方面是有很多擔憂的(如:內外部管理權限、服務提供商對訪問用戶的文件進行營銷;加密(包括知識產權加密、無線傳輸和同步)、多個公有云提供商共享驅動器上的數據、以及數據是否會被意外刪除,缺乏明確的審計跟蹤)等都是一些不安全的因素;大企業把數據放到云上會考慮很多安全性的因素 |
3 | 備份速度快 ? ? ? ? 當云計算得到一個非常適合的企業技術支持的時候,所達到的速度可與數據中心現場的處理速度相媲美;通過提供1G的傳輸管道,企業可以使用十幾臺服務器同時去備份數據,在夜間的備份窗口期,在云中傳輸備份75TB的數據,基本上可以很快的完成(與直接備份到磁盤的速度基本一致);增量速度傳輸備份可以達到900多兆每秒,這比5400轉的機械硬盤的傳輸速度還快,非常接近7200轉甚至更高硬盤轉速的存儲速度 | 下載和傳輸速度慢 ? ? ? ? 公有云存儲的一個潛在缺點就是下載和傳輸的速度慢,盡管云存儲在基準的測試中取得很好的結果;但是在一些調查中大約有22%的受訪者表示公有云存儲的主要障礙就是在上傳和下載傳花費的時間較多,畢竟要經過網絡進行傳輸。 |
4 | 快速部署 ? ? ? 公有云是繞過了添加存儲的傳統方法(評估存儲的需求-->以及向供應商請求投標-->產品選擇-->采購訂單-->等待交付-->部署各種存儲資產-->以及評估更多存儲可能需要多長時間)等這些問題,可以實現快速部署 | 合規性 ? ? ? ? 在一些受到嚴格監管的行業中,使用公有云存儲不太可行,主要是考慮到公有云的安全性;醫療保健、金融服務和上市公司對使用這些云存儲必須要十分慎重考慮;很多公有云解決方案的監管和威信可能會非常棘手,要特別注意(如果第三方和眾多的司法管轄區域擁有存儲數據,會成為一個非常大的問題) |
5 | 可擴展性 ????????各種提供商在提供大容量存儲方面做得很好,在公有云中幾乎可以獲得無限的容量和擴展性的性能。 | |
6 | 存儲技術保持更新 ? ? ? ? 公有云提供了一種避免購買高價磁盤的風險,用戶只需要為其所需要的容量性能付費即可;并且供應商會實時升級他們的存儲環境以跟上最新技術的步伐;由于公有云提供存儲技術的更新和升級,所以用戶的存儲組件在后臺會自動升級,并且幾年后它的存儲技術都不會過時 | |
7 | 降低前期投入成本 ? ? ? ? 通過評估、購買、構建、配置和管理存儲,這可能是一項非常昂貴的業務,在許多情況下,企業的大量存儲容量可能都會處于空閑狀態;通常具有高峰期的企業最終會購買足夠的存儲和性能來滿足企業高峰的需求,但是95%的時間基本都不需要這些存儲和IO設備的。公有云就不同了,公有云是允許用戶為使用的內容付費,用附帶報告來監控企業支出和存儲的使用狀態,以及輸入和輸出的活動,這樣就極大降低了前期存儲的成本 |
二、云存儲架構和關鍵技術
?2.1、云存儲架構
????????傳統的存儲架構是存儲、網絡和主機都在同一個數據中心,客戶通過局域網可以直接訪問背后的存儲。
????????而云存儲是指通過虛擬化、分布式技術、集群應用、網格技術、負載均衡等技術,將分散在不同地方的大量的存儲設備通過軟件集合起來,客戶通過公用訪問接口、接入網和客戶端程序等獲取存儲資源,客戶并不知道所訪問的存儲資源處在什么地方。
????????云儲存系統架構主要有四層,分別是存儲層、 基礎管理層、 應用接口層和訪問層,如下圖所示:
?2.2、云存儲的關鍵技術
序號 | 云存儲的關鍵技術 | 說明 |
1 | 存儲虛擬化技術 | 通過存儲虛擬化的方法將不同廠商、不同型號、不同通信技術、不同類型的存儲設備互聯起來,將系統中各種異構的存儲設備映射成為一個統一的存儲資源池;存儲虛擬化技術能夠對存儲資源進行統一的分配和管理,又可以屏蔽存儲實體間的物理位置以及異構的一些特性;實現了資源對用戶的透明性,降低了構建、管理、維護資源的成本,從而提升云存儲系統資源的利用率。 ? ? ? ? 存儲資源虛擬化技術雖然不同設備廠商之間略有差別,但是從總體上來說,可概括為:基于主機的虛擬化、基于存儲設備的虛擬化、基于存儲網絡虛擬化三種技術。 |
2 | 分布式存儲技術 | 是通過網絡使用服務商提供的各個存儲設備上的存儲空間,并將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散存儲在各個存儲設備上;目前比較流行的分布式存儲技術有: 《1》【分布式塊存儲】典型代表是SAN、磁盤陣列式一個典型的塊存儲;對用戶來說SAN是一個非常大的磁盤,用戶可以根據自己的需要,將SAN這個大磁盤格式化為自己需要的文件系統來使用;在SAN這個網絡當中其實是通過IP SAN協議來實現的連接,是塊級別的存儲,優點是很好的去組網、讀寫快、缺點是擴展性較差且不利于共享。 《2》【分布式文件系統存儲】典型代表就是NAS設備(如:FTP、NFS等服務都會與NAS相關聯),對用戶來說NAS設備就好比是一個共享的文件夾,這個時候文件系統是已經存在的;用戶可以將數據統一存放到NAS上,NAS是以文件為單位進行傳輸的,所以這個傳輸過程的開銷會十分大;所以一般文件存儲在文件共享會用到的比較多,不利于在高性能集群中去使用,因為效率很差【優點是分享方便快捷,缺點是讀寫慢】。 《3》【分布式對象存儲】典型特點是無層次結構,在對象存儲中所有的數據都是在同一個層次中,僅僅通過數據的唯一地址標識來識別并查找數據。典型代表是Ceph,對象存儲存儲是如何構建的?(常見方案就是通過多臺服務器內置大容量的硬盤,然后在加上對象存儲這個軟件,并且在加上幾臺管理服務器,管理節點,在這些節點上去安裝存儲管理軟件,這樣的話管理節點就可以管理其他服務器,對外提供這種多線訪問服務);之所以出現對象存儲是為了克服塊存儲和文件系統存儲的缺點,發揚它們的優點【既讀寫快,又利于共享】。用戶完全不用關心對象存儲的數據安全性、包含數據的恢復和數據自動平衡等問題,這些問題都是由對象存儲系統自身自動完成的。 等 |
3 | 數據縮減技術 | 為了應對數據急劇膨脹的問題,企業需要不斷地大量購置存儲設備,來滿足日益不斷增長的存儲需求;企業雖然購買了大量的存儲設備,但是這些設備的利用率往往不足50%,也就說存儲投資的回報率水平是十分低的;通過云存儲技術解決了存儲中的高安全性、可靠性、可擴展性、易管理性等基本要求,同時也利用云存儲的數據縮減技術可以滿足海量信息,爆炸式增長的需求,在一定程度上為企業節省了存儲成本,進而提高了效率【現在比較流行的數據縮減技術有:自動精簡配置、自動存儲分層、重復數據自動刪除、數據壓縮等】其中重復數據自動刪除技術是可以簡單理解為客戶端在上傳文件的時候,先在本地計算Hash指紋,然后把它上傳到服務器去做一個比對,如果指紋一致則表示文件已經存在,那么此時就不需要上傳,直接給出一個鏈接即可,通過這個方式不僅節省了存儲空間,還節省了上傳的時間,實現了秒傳;使用這個技術的典型有百度網盤、阿里云盤。 |
4 | 數據備份技術 | 在數據為中心的時代,數據的重要性是無可質疑的,那么如何保證數據是一個永久的話題;即便是現在的云存儲發展時代,數據的備份也是十分重要的; ????????數據備份技術是將數據本身或者其中的一部分在某一時間的狀態以特定的格式保存下來;已備份的數據當出現錯誤,誤刪除,未加密等各種原因不可用時,可以將數據進行快速準確的恢復。數據備份是一個容災的技術,它是為了防止突發事故而采取的一種數據保護措施,根本的目的是數據資源重新利用和保護;核心工作就是數據恢復。 ????????備份就是將文件復制存儲到其他的廉價存儲服務器中(如:亞馬遜的S3)當用戶執行保存操作時,會復制這個文件并重名為一個時間戳,這樣就可以非常容易地實現任意的恢復到備份的任意時間的任意一個版本,由于每次都要拷貝整個文件,因此稱為全量備份。每次都復制顯然是非常耗費存儲空間的,這個時候我們自然就想到了只復制上一次備份之后改變的內容,這樣就可以節省存儲空間,這就是增量備份。 ? ? ? ? 注意:備份一定要拷貝到其他存儲系統上,如果僅僅只是拷貝到了當前的存儲系統,那其實不叫備份,只能叫做副本;當我們系統集群癱瘓了,數據仍然是不能恢復的,副本主要是用于防止故障(如:一塊磁盤壞了,數據不丟失還能讀取恢復回來);備份呢還是用于防止人禍,比如誤刪除操作等,它能回滾到前面備份的時間點上去。 |
5 | 內容分發網絡技術 | 主要是針對現在互聯網去進行改造,它基本的思想是:盡量避開互聯網上由于網絡帶寬小、網點分布不均、用戶訪問量大等影響數據傳輸速度和穩定性的一些弊端。 ????????為了實現數據傳輸更快、更穩定,通過在網絡各處放置節點服務器,在現有互聯網的基礎之上構成一層智能的虛擬網絡;實時的根據網絡流量、各節點的連接和負載情況、響應時間、到用戶的距離等信息,將用戶的請求重新導向離用戶最近的服務節點上【CDN技術就是內容分發網絡的具體實現】。 ? ? ? ? 內容分發網絡是一種新型的網絡內容服務體系,它是基于IP網絡構建的,基于內容訪問與應用效率的要求、質量要求和內容秩序而提供內容的分發和服務,從廣義的角度來講CDN代表一種基于網絡而構建的高質量、高效率、具有鮮明網絡秩序的網絡應用服務模式;簡單來說:內容分發網絡是一個經營性部署的整體系統包括【分布式存儲】【負載均衡】【網絡請求重定向】【內容管理】四個要求;而內容管理和全局網絡流量是管理CDN的核心所在,那么通過用戶就近負載均衡服務的判斷CDN確保內容以一種極高效的方式為用戶請求去提供服務;總體來說內容服務基于緩存的服務器也稱作代理緩存,它位于網絡的邊緣,距用戶只有一步之遙,那么同時代理緩存是內容提供商原服務器的一個透明鏡像,這樣的架構使得CDN的服務商能夠代表它們的客戶(內容供應商)向最終用戶提供盡可能好的體驗,而這些用戶是不能忍受請求響應時間有延遲的。 |
6 | 存儲加密技術 | 是指當數據從前端服務器輸出或在寫入存儲設備之前通過系統為數據加密,以保證存儲在存儲設備上的數據只有授權的用戶才能夠去讀取;目前,云存儲中常用的存儲加密技術有以下三種: 《1》全盤加密(全部存儲的數據都是以密文的方式進行存放); 《2》虛擬磁盤加密(存放數據之前建立加密的磁盤空間,并通過加密磁盤空間對數據進行加密); 《3》卷加密(所有用戶和系統文件、文件目錄、文件都被加密) |
三、云存儲的方式類型和安全性
?3.1、云存儲的方式
序號 | 云存儲方式 | 說明 |
1 | 塊存儲 | 塊存儲會將單個存儲卷(如云存儲節點)拆分成叫作“塊”的多個獨立實例。它是一種快速、低延遲 的存儲系統,適用于高性能工作負載【典型代表是:SAN、磁盤陣列】 |
2 | 文件存儲 | 文件存儲是 NAS 系統上使用的一種主要技術,負責組織數據并呈現給用戶。它的分層結構使我們能夠自上而下地輕松瀏覽數據,但這會拉長處理時間。 |
3 | 對象存儲 | 對象存儲會將數據與元數據的唯一標示符配對。由于對象未經壓縮和加密,所以用戶可以非常快速地 大批量訪問對象, 因而它也適用于云原生應用。 |
?3.2、云存儲的類型
序號 | 云存儲的類型 | 說明 |
1 | 公共云存儲 | 數據存儲在由虛擬資源構建、稱為公共云的存儲池中,這些資源池都由第三方公司自有和管理的硬件開發而成。 |
2 | 私有云存儲 | 數據存儲在由虛擬資源構建、稱為私有云的存儲池中,這些資源池都來自于企業專用(通常也歸其所有和管理)的系統。相比于現成的軟件,手動設置企業級私有云的做法從長遠來看是較為低效的,所以企業都會使用如OpenStack這種平臺,通過數字的方式將虛擬資源池轉移到私有云上去,在OpenStack的所有項目中,大概有三分之一都需要負責存儲和圖像的檢索,當軟件定義存儲解決方案Ceph搭配使用的時候,企業存儲數據的方式和位置就會有更多的選擇,而且不會影響搭建的私有云性能【因此私有云更多的是Ceph搭配OpenStack整合使用的】 |
3 | 混合云存儲 | 數據存儲位于 2 個或多個互聯的云環境(公共云或私有云)組合而成的混合環境中。 ????????雖然構成混合云的公有云和私有云環境各自都是獨立的實體,但是我們可以通過LAN、WPN包括應用編程接口以及VPN或容器組成的網絡來簡化這些實體間的操作遷移,借助于獨立互聯的架構,企業就能夠在私有云中存儲關鍵的數據,減少公有云中的敏感數據,并根據需要在這兩種環境之間去移動數據。 ? ? ? ? 容器原生的存儲無須部署獨立的存儲平臺,因而它更有助于企業構建混合云存儲;單個集成式容器平臺還可以更加高效的擴展混合云,為企業提供統一的控制點;無論數據存儲在哪一種云環境中,都可以進行輕松的管理。 |
?3.3、云存儲的安全性
序號 | 云存儲的安全性 | 說明 |
1 | 沒有絕對的安全, 安全總是相對的 | 基于良好的、穩定的、達到一定安全級別的軟件技術、硬件技術、機房環境等因素,這種情況下,云存儲相對于本地的存儲會安全很多,依靠軟件+硬件結合的云安全機制。 ? ? ? ? 具體在云存儲安全機制方面主要有幾個方面的保護: ????????《1》模塊保護:通過模塊化冗余的設計,支持熱插拔;電源模塊、控制模塊都是冗余的。 ????????《2》硬盤級別的保護:每個節點都內置磁盤陣列,通過各個級別的磁盤陣列去保護硬盤。 ????????《3》數據級別的保護:節點間數據的寫是多份的,除了通常的Raid技術外,為解決雙盤失效等其它故障導致的數據丟失,云存儲將多個對象的副本分別寫入到了其他的存儲節點,當一個節點發生故障時,其他節點可以繼續提供服務,可以通過其他節點的數據副本快速恢復故障,進而保護節點上的數據。 ????????《4》系統級別的保護:網絡鏈路端到端的冗余,所有存儲模塊都是分布式的,甚至分散在不同的物理節點上。 |
2 | 數據可用性 | 是指數據不會因為黑客攻擊、物理設備故障等問題而導致數據不可用的因素; ????????如果我們擔心數據會因為電腦病毒、計算機故障等問題而丟失,我們常會采集數據備份措施+預防的傳統做法。 ? ? ? ? 在云計算平臺中保證數據可用的常用措施是:冗余備份策略:利用系統的并聯模型來提供系統可靠性。 |
3 | 數據完整性 | 是指數據傳輸存儲的過程中,確保數據不被未授權的用戶篡改,或在篡改后能被系統迅速發現。 ? ? ? ? 數字簽名是保證數據完整性的常用方法,數字簽名為數據在云端傳輸數據保駕護航,保證數據在發送過程中,未做任何修改或變動,同時,也可以確認數據傳輸的發送和接收方的身份,通過數字簽名保證數據的完整性。 |
4 | 數據隱私性 | 是指在海量數據傳輸、存儲、處理的每個環節,保護用戶個人數據以及信息的一個重要因素; ????????云計算主要是通過共享密鑰基于生物學特征,基于公開的密鑰算法的身份驗證機制來保證數據隱私。 ? ? ? ? 此外數據層面的對象會去標識漏洞保護、虛擬機的掃描、數據的隔離、混合云技術等常被用來作為數據隱私安全的一個保障。 |
5 | 隱私保護級別劃分 | 在云平臺中,存儲系統其實是存在不同的文件類型(如:有文檔、圖片、視頻、音頻、電子郵件等)為了保證用戶的隱私,會在其中加入比較復雜的加密算法;但一個不可忽略的現實是這樣會使得云平臺大量的資源會被消耗掉,那么從而會使整個云平臺的工作效率極大的降低,成本自然也會增加。 ? ? ? ? 但是如果對數據都是采用較為簡單的加密算法,數據在云平臺存儲或者處理的過程,就有可能造成數據的泄露; ????????每種數據對用戶來講數據的安全性和重要性都是有所差別的,因為這與數據涉及到的信息重要程度是不同的,如果要對云平臺設置一個數據安全攻略:需要將用戶的隱私級別與數據的隱私級別關聯起來;對于上述數據我們可以根據數據的重要程度進行一個等級的劃分,劃分的依據可以是數據的重要程度和數據的敏感程度。 ????????作為云服務的提供商可以根據數據對用戶隱私程度的不同,來設置相應的隱私等級,一般可以將數據的隱私等級劃分為三個等級: ????????《1》等級一:該等級中不包含用戶較為敏感的數據,該等級的數據可以采用較為簡單的加密算法,使得系統資源不至于被浪費太多; ????????《2》等級二:該等級中的部分數據對于用戶來說是十分敏感的,就需要針對這些十分敏感的數據采用與它等級相符的加密算法; ????????《3》等級三:該等級中的存在用戶大量的隱私數據,對這個等級中的數據采用更為復雜的加密算法,對數據的安全性有更高層次的保障。 |
6 | 打造云數據保護 的閉環網絡 | 在整個云計算平臺數據經歷了數據地生成、數據的遷移、數據的使用、數據的共享、數據的存儲以及數據的銷毀這一個整個數據的閉環網絡,那么在每個過程當中,我們對數據都要安全有效的保證: ????????《1》數據的生成:需要關注數據所有權的問題,企業對于客戶的隱私數據,企業必須要了解哪些數據是被云平臺所熟知的,并且作為客戶需要采取一定的措施來避免云平臺供應商來獲取自身的敏感數據;或者盡量不要把這些敏感的數據存放到云平臺上去。 ????????《2》數據的遷移:要采用復雜的加密算法,用來保證數據的安全性隱私性,在數據遷移的過程中應該采用更高級復雜更加有效的加密算法,防止數據被其他用戶獲取;另外要保證在數據傳輸過程中對于數據的完整性需要采取一定的校驗手段來保證數據的完整性,使得數據在遷移的過程中不會發生數據的丟失、數據的篡改等問題。 ????????《3》數據的使用:需要有靜態數據的保障。 ????????《4》數據的共享:在數據的共享中,我們一定要慎重,因為在數據共享中若與第三方實現共享時,數據的所有者應該采取一定的措施去限制第三方沒有約束的對數據進行傳播。對客戶共享的部分數據來講,除了按照一定的方式對數據進行授權外,還需要對數據共享的方式進行研究,并考慮在數據共享的過程中,如何去防止用戶的敏感數據被共享。 ????????《5》數據的存儲:分為【簡單存儲】【復雜存儲】;將數據保存在云平臺當中時,要考慮數據的完整性、安全性、可用性,解決這些問題的常用方法就是對數據進行加密,為了使得數據加密達到一個應有的效果,需要對算法的可靠性進行一個詳細的驗證,隨著云計算平臺傳輸、存儲、處理的數據量越來越大,在對數據加密的過程中需要兼顧到數據的傳輸速度,以及數據傳輸的效率,在云計算平臺中一般會采取:對稱式的加密算法來對云平臺的數據進行加密處理;而為了保證數據的完整性,要在數據傳輸的過程中對相關數據進行校驗,對本地數據的使用和遷移我們都要引起重視。 ????????《6》數據的銷毀:也需要引起我們的注意,一般而言,計算機默認的刪除方式并沒有真正從計算機刪除該內容,只是刪除了該內容對應的索引;對磁盤進行格式化也是如此,對磁盤的格式化也僅僅是為操作系統創建了一個新的索引而已,將磁盤的扇區標記為未使用過,經過這兩種方式刪除的數據,一旦發生黑客入侵這樣操作,我們采用一定的恢復手段還是可以將數據進行恢復的。 ????????徹底銷毀數據的方式:對磁盤進行低級格式化,或者對磁盤進行覆蓋式數據寫入。 ????????對企業比較敏感或秘密級別的數據,云計算提供商可以考慮采用磁盤擦寫的方法來完成對數據的刪除;或者采用一定的數銷毀算法,甚至是通過物理銷毀來對用戶的數據安全進行隱私保護。 |