1. 程式人生 > >【大話存儲】學習筆記(20章),雲存儲

【大話存儲】學習筆記(20章),雲存儲

9.png 分布式存儲 開發平臺 per 空間占用 而是 效率 增加 響應

目前雲計算、雲存儲、雲備份等技術可謂是鋪天蓋地,其中不乏有很多是渾水摸魚的,本來沒有多少雲的性質,只是打著雲的旗號來炒作而已。

目前市場對一款產品是否是,沒有明顯的界定。因為雲本來就沒有一個標準。

雲的是怎麽來的

國外在指代一堆設備的時候,一般使用Cluster這個詞,而中文翻譯一般是“簇”或者“集群”。雲這個詞來源已不可考,也許是某個人在講授PPT的時候,順口說了一句"The Servers in the cloud"的吧,這樣Cloud這個詞就誕生了。

對雲的幾種認識

目前人們對雲的認識基本就有4種不同的觀點:雲即設備、雲即集群、雲即IT系統、雲即服務

  • 雲即設備:

    這是最原始的觀點,也就是所謂的雲只是指代一堆設備,因為沒有設備的支撐,哪來的雲。

  • 雲即集群:

    光有設備還不行,還需要這堆設備有機的聯系起來,相互協同,對外呈現為一個群,這是在“雲即設備”上的一次發展。

  • 雲即IT系統:

    上面說到的集群,也只是一堆服務器放在一起,可以協作,若要進一步發展,需要加上軟件作為靈魂,比如某企業的IT系統。

  • 雲即服務:

    IT系統一般是用來支撐企業的業務的,但是我們能不能通過他來盈利呢?這就涉及到商業模式上面了。主要有如下幾種模式:

    • 直接賣了:

    如果像賣房子一樣,受眾很小,因為需要購買一整套IT系統的人很少。

    • 租出去:

    這就如同租房子一樣,受眾相對於賣房子大很多。但是盈利慢

    • 利用IT系統來運營某種業務,用來賺錢:

    這種方式受眾更大,像郵箱、網頁、博客,幾乎全民都是客戶,所以盈利面很大。這樣看來,能提供某種形式IT服務的一整套IT系統都是雲

    。從這個角度,所有的互聯網運營商,比如各大網站,都是雲運營商。

給雲下個定義

那麽雲目前最主流的定義是啥?

上面提到過,設備組成集群,集群搭上軟件稱為IT系統,IT系統用來服務,好了我們可以把之前的觀點結合起來下個定義:

雲是一個可運營的IT系統,

但是這個定義缺少最關鍵的東西,就是資源迅速靈活地部署和回收。所以雲當前最主流的定義為:

雲是一個智能IT系統,它是:

  • 可運營的

  • 可以迅速靈活部署

  • 可迅速回收資源的

也就是

雲是一個可運營的,迅速靈活部署和回收資源的智能IT系統。

那麽雲應該具有如下性質:

  • 雲提供商擁有一定規模的硬件基礎(計算、存儲、網絡)

  • 作為服務進行交易,而不是實物交易,客戶只是租用

    資源

也就是雲其實是一種商業模式,如果認為只有底層使用了硬件集群和虛擬化技術的系統才是雲這種觀點是非常狹隘的。

技術分享圖片

誰催生了雲

誰催生了雲?當然是需求

傳統IT的問題

互聯網以及智能終端的普及,讓信息得到了爆發性的增長,那麽對IT基礎架構(計算、存儲、網絡)來說,正在快速被飽和。

我們可以看看傳統IT怎麽運作的?比如運營商部門分析出網頁遊戲業務會有20%的增長,所以需要擴容,比如增加Web服務器、數據庫服務器、存儲系統的數量或容量,然後需要采購設備,遵循一系列的流程,這樣周期非常的長,甚至慢於業務的變化周期。

但是另外一個部們的在線視頻業務因為業績不好,利用率不足60%。

當然最原始的想法是將在線視頻業務的的40%余量分配給網遊部門,不過會存在大量的技術風險。比如兩種業務部署在同一個操作系統,會增加業務的粘度,不利於運維,然是如果把業務部署在不同的服務器上,更不利於運維。

加上現在數據中心中存在不同的協議、不同廠商的設備,如果靠手動來部署、管理和回收資源,效率低而且容易錯,業務上線的速度也不快。

我們總結一下,傳統的IT系統存在三個問題:

  • 業務部署周期長

  • 資源不能充分回收利用,存在孤島

  • 手動部署無法滿足需求。

這就痛點。

雲其實是商業模式

不過上面的說法只是雲誕生的一部分理由,實際上最初的雲,實際是一種商業模式,當商業模式與計算機技術結合之後,才產生了雲這個代名詞。這也是雲沒有外在的像技術一樣嚴格的標準的原因。
技術分享圖片

系統架構變化

要解決之前提到的業務部署周期長,無法實現自動化,資源不能方便的回收和復用等,最容易想到的技術手段自然是虛擬化。

服務器虛擬化,即虛擬機系統,充分利用了資源,再加上Vmotion,DRS(Distrubted Resource Scheduler)等技術,極大的增加了部署靈活性和資源均衡性。

我們來看看部署了虛擬機以後對之前的問題帶來的變化。

  • 資源充分利用問題:舊業務余量會自動回收,新業務所需的應用可以直接以虛擬機的形式部署在物理機,因為操作系統各用各的,粘合影響得以避免。

  • 上線業務周期長的問題:部署虛擬機消耗的時間比物理機少了很多,上線速度加快

  • 手動部署問題:使用一種資源自動化分配和回收平臺來解決自動化部署問題。

那麽所謂虛擬化,其實就是在傳統的數據中心上加上一個彈性層,這樣整個數據中心就變成了軟數據中心了。

如果還能做到部署回收自動化、可度量化、服務化、可運營的數據中心,則就是一個雲數據中心了。

綜上所述,雲系統中重要的角色有:

  • 虛擬化

  • 集群化

  • 自動化:實現資源自動部署、調度、分配、回收的管理者

    • 對內可以與其他組件進行通信,管理資源
    • 對外可以響應業務部署的需求,並且將這些需求轉化為對內的資源調度
      這個模塊綜合起來就是“自動化”。
  • 可度量化:
    也就是用戶用了什麽資源,為期多少時間,耗費多少成本,毛利率幾何,報價幾合可以精確度量、定價。

縱觀雲發展的過程中,說不清到底是先有雲這種商業模式還是先有雲這種技術架構的,兩者其實是相互催生、相輔相成。

回顧存儲系統的技術發展過程。

  • 最開始的時候,存儲系統只需要關心數據存儲,只要提供一塊空間,怎麽管,怎麽用,底層是不關心的,

  • 後來,存儲系統開始註重數據管理,開發了諸如快照、重刪、容災等功能。

  • 再後來,又到了數據運營階段,還關心數據怎麽的問題,此時需要更貼近用戶的應用,註重業務展現。

技術分享圖片

公有雲和私有雲

現在我們已經有了一個雲化的數據中心了,那麽可以按照數據中心的是對企業內部開放服務還是給任何人開放服務來分為私有雲和共有雲:

  • 私有雲:數據中心對企業內部開發,提供雲服務,比如存儲空間申請、企業應用系統的快速部署等。
  • 公有雲:對外營業,通過互聯網提供各種雲服務。
  • 私有雲讓企業IT部門角色轉變

    傳統的IT部門是一個支撐部門,始終處於業務部門的牽引之下,所有的采購、經費申請必須以業務需求為前提。

    那麽怎麽提升IT部門的地位,只要也得與業務部門處於平等的地位。雲中的“服務”兩字正好滿足了這種需求,比如IT部門可以通過建立規範的資源申請流程,然後建立電子工單審批系統,只有通過審批以後才提供對應的服務。還可以統計某個部門在某段時間內使用了多少IT資源,消耗了多少成本。

    這樣IT部門成為一個獨立的服務角色,其他部門向IT部門申請資源的時候,是以協商的態度而不是強勢的牽制的態度,而且因為資源可度量了,IT部門可以做出合理的預測,申請後續經費等資源變得更有說服性。

  • 公有雲受制於互聯網帶寬發展

    如今互聯網的接入速度還是比較低的,大量用戶的速度還是1Mbps,也就是只有100KB/s的吞吐量的接入速度。此時,若給他一個iSCSI協議訪問的存儲空間是不現實的,最多提供網盤這樣的上傳下載服務。

    常用的SaaS服務(網頁、聊天、視頻、網盤等)基本上可以基於低速網絡,但是IaaS就困難了,比如訪問虛擬機的時候,如果不是用xshell這種方式,而是使用虛擬桌面登錄,1Mbps非常勉強。而且,如果要安裝軟件,還得把安裝包傳上去。

綜上所述,雲目前最能被廣泛推進的地方就是新建數據中心,企業興建私有雲,運營商興建混合雲
技術分享圖片

雲系統架構及組成

下圖為雲具體的架構:
技術分享圖片
分為如下幾個層次

  • 物理架構層:比如供電、散熱等

  • 基礎IT架構層:包括網絡、存儲、服務器等

    需要註意的是這些服務器與存儲設備不是孤島,他們會組成集群,上面搭載虛擬化,並進行自動化的管理。

  • 基礎架構/集群管理層

    有了集群還不夠,需要在上面覆蓋虛擬化層來增加系統的彈性

    對於服務器就是VMware這樣的虛擬機平臺。對於存儲,就只能分布式文件系統或者分布式卷管理系統才能滿足這種需求。

  • 資源部署層:

    現在我們已經可以得到一個網絡、服務器、存儲的集群,還需要一個用來管理和驅動集群的角色。

    比如VMware的Vsphere可以進行計算資源的包裹,分布式系統可以進行存儲資源的包裹。

    利用VSphere提供的Vmotion與DRS可以將虛擬機在集群節點中靈活移動,自動資源動態分配和回收。

  • 中間件層

    應用層與資源層需要一個中間層來適配,這就是中間件層

  • 應用引擎層

    這一層需要提供一個通用的業務開發平臺,可以實現統一發布。

  • 業務展現與運營層

    現在數據中心的架構已經具有集群化、虛擬化、自動化的形態了,但是這只是對自己有用,對用戶來說,他們不用關心底層用不用集群或者虛擬化,只關心是否能得到快速的服務和響應

    所以我們還需要一個業務展現界面,這就是雲服務。

技術分享圖片

那麽出租數據中心其實可以在以下幾個層次中進行:

  • 基礎設施即服務(IaaS)

    所謂基礎設施指的是雲系統中的硬件設施如服務器、網絡、存儲。所以IaaS只是提供硬件平臺,具體的計算任務由用戶自行部署。
    • 如何賣存儲空間:

    可以有多種方式,比如賣裸空間、文件存儲空間等。
    裸空間就是最終用戶看到的是一塊硬盤,所有協議當然首選ISCSI,以便跨越IP網絡,這樣用戶可以通過ISCSI Initiator連接雲提供商的ISCSI Target,然後就可以獲得多個LUN。

    對於雲中存儲系統,精簡重刪這些特性應該是必須的,可以降低不必要的空間占用,而動態分級可以進一步節省存儲成本。

    • 如何賣服務器、虛擬機

    虛擬機平臺需要考慮幾種功能:
    一是動態遷移,即虛擬機可以在不影響應用系統的情況下在物理機之間進行遷移。

    二是資源動態分配調度,

三是管理方便。

Amazon在IaaS提供兩個產品:彈性計算雲(Elastic Compute Cloud , EC2)和簡單存儲服務(Simple Storage Service ,S3),分別對應了主機計算集群和存儲集群
  • 平臺即服務

    相對於IaaS,PaaS屏蔽而不出租基礎架構,轉而出租更高一層的軟件平臺。用戶可以通過這個平臺制作應用。因為這個平臺是一種運行與硬件集群中的軟件,用戶實際上相當於租用了計算業務。

  • 軟件即服務

    SaaS是雲服務中的最外層,直接出售業務級別的內容。比如Web網頁等。

實例說雲

下面使用3Tera Applogic的例子來說一下IaaS層

3Tera的IaaS平臺名為Applogic,是一不可以實現IaaS功能的軟件虛擬化平臺。我們可以看一下它的底層架構:

主要分為4大層次:

  • 硬件層:

    本層包含服務器、存儲、網絡設施等。

    Applogic不要求底層存儲必須是基於SAN的,可以是本地IDE。若幹服務器通過千兆以太網連接起來,形成集群。

    然後在這個有限且分配不靈活的資源池上,實現一種管理方便、使用方便、資源靈活分配的虛擬化層。

  • 分布式核心虛擬化層(Applogic OS):

    • 計算虛擬化:Distributed Virtual Machine Manager(DVM)

    本層的核心是虛擬機技術,通過Hypervisor引擎來虛擬化成多個主機,比如說VMware的ESX Server就是實現這個目的的。只不過Applogic使用的是Xen虛擬機平臺。

    • 存儲虛擬化:Global Volume Store(GVS)子層:

    Applogic使用的是自研分布式文件系統,在這個文件系統之上虛擬出Volume,而且Volume可以Mirror、Clone、Snapshot等。

    每個Volume在多個物理主機上有鏡像以解決HA問題,並且可以提升讀性能。
    而這些Volume對於最終的虛擬機就是裸磁盤,在這個虛擬化層上,每個節點將自己的本地存儲空間貢獻出來,所有節點的存儲被整合起來進行虛擬化。

    • 網絡資源虛擬化:Logical Connection Manager(LCM):將物理網絡搞成虛擬網絡
  • 一次性基礎設施虛擬層

    所謂一次性基礎設施,其實就是虛擬機可以按需創建。每個應用程序可以分配一個獨立基礎設施,包括防火墻、負載均衡、Web服務器、數據庫服務器等。當要刪除應用程序的時候,可以直接把虛擬機刪除了。

    這些角色可以虛擬成一個個對象,在圖形界面使用鼠標拖拽的方式建立對象
    技術分享圖片

    上圖創建了一個防火墻、負載均衡、2臺Web防火墻、數據庫服務器,整個網格中的Volume按照Application進行隔離,不同的Application只能看到自己的Volume。

    防火墻、負載均衡、WebServer之間互聯的IP用戶不需要關心,系統自動分配,唯一需要配置的是整體Application的IP地址信息。

  • 網絡控制層和應用程序管理層

    以Application為單位向用戶交付。

Applogic帶來的革命是把復雜的底層硬件變得簡單,通過拖拽對象來狀態自己的基礎架構,最終以適合某中Application運行的整體服務器&存儲&網絡來交付。

技術分享圖片

雲的缺點

在看雲的缺點之前先看一下雲的優點:

  • 避免資源的浪費:

  • 節能

  • 角色轉變

存在的問題:

  • 穩定性和安全性:如何解決兩個存儲資源互通的問題,如何才能保證完全隔離。

  • 平臺遷移
    怎麽樣才能在不影響業務的前提下遷移到雲平臺上。

  • 不兼容的問題:不同雲服務商提供的架構不同,接口也不同。

雲之後的發展

雲的本質

雲本質是一種服務,而不是一種物質,正因為此,它必須基於物質才能顯示功效,《易經》有雲:“形而上者謂之道,形而下者謂之器”。所以下器者,謂之服務器+存儲+部署管理軟件;上道者,謂之“雲”。所以雲是一種道,是一種方式和方法,而不是某種設備,某個軟件,當然雲需要由硬件+軟件來承載而已。

所以,雲和速度性能沒有直接關系。雲本身不一定就是一個高速高冗余的東西,而是說底層硬件一般使用並行計算集群和存儲集群,在這個基礎上,雲才能表現出更大的效能。

而且雲也不是為了提速而生,它的主要目的是廉價高效的利用資源並降低硬件的應用成本和管理成本。

其實雲早就存在了,只有近兩年才被炒作起來,互聯網服務器就是雲服務,所以有人提出IT服務即雲,Everything as a service。

其實在40年前,我們還是用集中分時計算,隨後到了世紀相交的紀念,用戶各自購買基礎架構進行計算和存儲,然後又逐漸回到了集中計算的時代,實際上這既不是進化,又不是退化,是“分久必合,合久必分。萬物皆在輪回中不斷發展,到一定程度就回到當初的形態,但是承載它的物質是連續不斷的提升的。所輪回的只是其上的那層能量,謂之道。

Micro、Mini、Normal、Huge、Grid彈性數據中心

彈性核或者軟數據中心:將若幹刀片與高密度的磁盤櫃以及微型交換機打包到一個或者幾個機櫃裏面,再覆蓋以彈性層,比如虛擬機管理系統以及分布式存儲系統,將這樣一個微型彈性軟核心做為一個可提供IaaS服務的整體交付給用戶。

或者再在這個軟核上覆蓋一層業務展現於管理層,直接交付到SaaS層。一櫃或者數櫃交付的彈性基礎設施,可以稱為Micro Cloud

【大話存儲】學習筆記(20章),雲存儲