成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從OpenStack的角度看塊存儲的世界

運維 系統(tǒng)運維 OpenStack
本文重點介紹塊存儲服務。我們對目前主流的塊存儲服務提供商和開源的塊存儲軟件做了一個簡要分析,希望能給從事塊存儲開發(fā)的工程師對于塊存儲一個全局的認識。

塊存儲,簡單來說就是提供了塊設(shè)備存儲的接口。用戶需要把塊存儲卷附加到虛擬機或者裸機上以與其交互。這些卷都是持久的:它們可以從運行實例上被解除或者重新附加而數(shù)據(jù)保持完整不變。

本文重點介紹塊存儲服務。我們對目前主流的塊存儲服務提供商和開源的塊存儲軟件做了一個簡要分析,希望能給從事塊存儲開發(fā)的工程師對于塊存儲一個全局的認識。

下面會先介紹常見的單機塊設(shè)備工具,以建立對塊存儲的初步印象。

單機塊存儲

首先,一個硬盤是一個塊設(shè)備。內(nèi)核檢測到硬盤后,在/dev/下會看到/dev/sda/。為了用一個硬盤來得到不同的分區(qū)來做不同的事,我們使用fdisk工具得到/dev/sda1、/dev/sda2等。這種方式通過直接寫入分區(qū)表來規(guī)定和切分硬盤,是最死板的分區(qū)方式。

1. LVM & Device-mapper

LVM是一種邏輯卷管理器。通過LVM來對硬盤創(chuàng)建邏輯卷組和得到邏輯卷,要比fdisk方式更加彈性。如果你目前對LVM用途還不熟悉或者不大清楚,可參考以下鏈接:

通用線程:學習 Linux LVM,第 1 部分

通用線程:學習 Linux LVM,第 2 部分

LVM基于Device-mapper用戶程序?qū)崿F(xiàn)。Device-mapper是一種支持邏輯卷管理的通用設(shè)備映射機制,為存儲資源管理的塊設(shè)備驅(qū)動提供了一個高度模塊化的內(nèi)核架構(gòu)。以下鏈接對Device-mapper架構(gòu)進行了極好的說明:

Linux 內(nèi)核中的 Device Mapper 機制

2. SAN & iSCSI

在接觸了單機下的邏輯卷管理后,你需要了解SAN,目前主流的企業(yè)級存儲方式。

大部分SAN使用SCSI協(xié)議在服務器和存儲設(shè)備之間傳輸和溝通,通過在SCSI之上建立不同鏡像層,可以實現(xiàn)存儲網(wǎng)絡(luò)的連接。常見的有iSCSI,F(xiàn)CP,Fibre Channel over Ethernet等。

SAN通常需要在專用存儲設(shè)備中建立,而iSCSI是基于TCP/IP的SCSI映射,通過iSCSI協(xié)議和Linux iSCSI項目,我們可以在常見的PC機上建立SAN存儲。

對于如何建立在PC機上的SAN,可以參考:iSCSI建立。不過,這篇文章提到的iSCSI target管理方式不太方便,通常我們會用targetcli管理target。targetcli可以直接建立和管理不同backstone類型的邏輯卷和不同的export方式,如建立ramdisk并且通過iSCSI export,非常方便。操作方式見targetcli screencast Part 2 of 3: ISCSI – YouTube

以上都是我們經(jīng)常接觸的單機塊存儲。接下來是本文主要分享的內(nèi)容:公共云技術(shù)服務提供的塊存儲服務,開源的塊存儲框架,以及OpenStack目前對塊存儲的定義和支持情況。

分布式塊存儲

在面對極具彈性的存儲需求和性能要求下,單機或者獨立的SAN越來越不能滿足企業(yè)的需要。如同數(shù)據(jù)庫系統(tǒng)一樣,塊存儲在scale up的瓶頸下也面臨著scale out的需要。我們可以用以下幾個特點來描述分布式塊存儲系統(tǒng)的概念:

  1. 分布式塊存儲可以為任何物理機或者虛擬機提供持久化的塊存儲設(shè)備
  2. 分布式塊存儲系統(tǒng)管理塊設(shè)備的創(chuàng)建、刪除和attach/detach
  3. 分布式塊存儲支持強大的快照功能,快照可以用來恢復或者創(chuàng)建新的塊設(shè)備
  4. 分布式存儲系統(tǒng)能夠提供不同IO性能要求的塊設(shè)備

3.1 Amazon EBS

Amazon作為領(lǐng)先的IaaS服務商,其API目前是IaaS的事實標準。Amazon EC2目前在大多數(shù)方面遠超其他IaaS服務商。Amazon EC2的產(chǎn)品介紹是快速了解Amazon EC2的捷徑。

EBS是Amazon提供的塊存儲服務。通過EBS,用戶可以隨時增刪遷移volume和快照操作。

Amazon EC2實例可以將根設(shè)備數(shù)據(jù)存儲在Amazon EBS或者本地實例存儲上。使用Amazon EBS時,根設(shè)備中的數(shù)據(jù)將獨立于實例的生命周期保留下來,使得在停止實例后仍可以重新啟動使用,與筆記本電腦關(guān)機并在再次需要時重新啟動相似。另一方面,本地實例存儲僅在實例的生命周期內(nèi)保留。這是啟動實例的一種經(jīng)濟方式,因為數(shù)據(jù)沒有存儲到根設(shè)備中。

Amazon EBS提供兩種類型的卷,即標準卷和預配置IOPS卷。它們的性能特點和價格不同,可以根據(jù)應用程序的要求和預算定制所需的存儲性能。

標準卷可為要求有適度或突發(fā)式I/O的應用程序提供存儲。這些卷平均可以提供大約100 IOPS,最多可突增至數(shù)百IOPS。標準卷也非常適合用作引導卷,其突發(fā)能力可提供快速的實例啟動時間(通常十幾秒)。

預配置IOPS卷旨在為數(shù)據(jù)庫等I/O密集型隨機讀寫工作負載提供可預計的高性能。創(chuàng)建一個卷時,利用預置IOPS為卷確定IOPS速率,隨之Amazon EBS在該卷的生命周期內(nèi)提供該速率。Amazon EBS目前支持每預配置IOPS卷最多4000 個IOPS。您可以將多個條帶式卷組合在一起,為應用程序提供每個Amazon EC2數(shù)千IOPS的能力。

EBS可以在卷連接和使用期間實時拍攝快照。不過,快照只能捕獲已寫入Amazon EBS 卷的數(shù)據(jù),不包含應用程序或操作系統(tǒng)已在本地緩存的數(shù)據(jù)。如果需要確保能為實例連接的卷獲得一致的快照,需要先徹底地斷開卷連接,再發(fā)出快照命令,然后重新連接卷。

EBS快照目前可以跨regions增量備份,意味著EBS快照時間會大大縮短,從另一面增加了EBS使用的安全性。

總的來說,Amazon EBS是目前IaaS服務商最引入注目的服務之一,目前的OpenStack、CloudStack等其他開源框架都無法提供Amazon EBS的彈性和強大的服務。了解和使用Amazon EBS是學習IaaS塊存儲的最好手段。

3.2 阿里云存儲

阿里云是國內(nèi)的公共云計算服務商。阿里云磁盤目前僅支持在創(chuàng)建云主機的時候綁定云磁盤或者在升級云主機的進行云磁盤擴容,這從根本上就是傳統(tǒng)的虛擬主機的特點而不是所謂的“云磁盤”。

從目前的阿里云磁盤的限制:

無法快速創(chuàng)建或刪除volume,在進行擴容時需要升級云主機才能達到,而升級云主機只有在下月云主機套餐到期時才能生效(中國移動套餐的模式)

一個云主機最多只能綁定3個云磁盤

從阿里云磁盤目前的使用分析,以下是我對阿里云磁盤實現(xiàn)的推測:

阿里云主機是跟磁盤綁定的,這意味著阿里云的云磁盤是local volume(因此性能還是挺可觀的)。用戶需要擴容、減少都需要下個月更說明了這點,整個主機在擴容時去調(diào)度合適的有足夠存儲空間的host,然后進行擴容。

阿里云磁盤是分布式塊存儲系統(tǒng),但是由于其QoS無法保證和其他資源調(diào)度原因,無法提供足夠的塊存儲支持。

從演講回顧:阿里云存儲技術(shù)的演進,以及云服務用例最佳實踐中了解到阿里云是基于自家的“盤古”系統(tǒng),那么從實際使用來說,遠沒達到一般的分布式塊存儲系統(tǒng)的要求。

4.1 Ceph

Ceph是開源實現(xiàn)的PB級分布式文件系統(tǒng),其分布式對象存儲機制為上層提供了文件接口、塊存儲接口和對象存儲接口。Inktank是Ceph的主要支持商,也是目前Ceph開源社區(qū)的主要力量。

Ceph目前是OpenStack的開源塊存儲實現(xiàn)系統(tǒng)(即Cinder項目的backend driver之一),其實現(xiàn)分為三個部分: OSD,Monitor,MDS。OSD是底層對象存儲系統(tǒng),Monitor是集群管理系統(tǒng),MDS是用來支持POSIX文件接口的Metadata Server。從Ceph的原始論文《Ceph: Reliable, Scalable, and High-Performance Distributed Storage》來看,Ceph專注于擴展性,高可用性和容錯性。Ceph放棄了傳統(tǒng)的Metadata查表方式(HDFS)而改用算法(CRUSH)去定位具體的block。

利用Ceph提供的RULES可以彈性地制訂存儲策略和Pool選擇,Monitor作為集群管理系統(tǒng)掌握了全部的Cluster Map,Client在沒有Map的情況下需要先向Monitor請求得到,然后通過Object id計算相應的OSD Server。

Ceph的文檔可以參考以下鏈接:

Ceph支持傳統(tǒng)的POSIX文件接口,因此需要額外的MDS(Meatadata Server)支持文件元信息(Ceph的塊存儲和對象存儲支持不需要MDS服務)。Ceph將Data和Metadata分離到兩個服務上,跟傳統(tǒng)的分布式系統(tǒng)如Lustre相比可以大大增強擴展性。在小文件讀寫上,Ceph讀寫文件會有[RTT*2],在每次open時,會先去Metadata Server查詢一次,然后再去Object Server。除了Open操作外,Ceph在Delete上也有問題,它需要到Metadata Server擦除對應的Metadata,是n(2)復雜度。Ceph在Metadata上并非只有壞處,通過Metadata Server,像目錄列表等目錄操作為非??焖?,遠超GlusterFS等其他分布式文件系統(tǒng)的目錄或文件元操作。

如果要用Ceph作為塊存儲項目,有幾個問題需要考慮:

  1. Ceph在讀寫上不太穩(wěn)定(有btrfs的原因)。目前Ceph官方推薦XFS作為底層文件系統(tǒng)
  2. Ceph的擴展性較難,如果需要介入Ceph,需要較長時間
  3. Ceph的部署不夠簡易并且集群不夠穩(wěn)定

4.2 Sheepdog

Sheepdog是另一個分布式塊存儲系統(tǒng)實現(xiàn)。與Ceph相比,它的最大優(yōu)勢就是代碼短小好維護,hack的成本很小。Sheepdog也有很多Ceph不支持的特性,比如說Multi-Disk, Cluster-wide Snapshot等。

Sheepdog主要有兩部分,一個是集群管理,另一個是存儲服務。集群管理目前使用Corosync或者Zookper來完成,其存儲服務的特點是在client和存儲host有Cache的實現(xiàn)可以大大減小數(shù)據(jù)流量。

目前Sheepdog只在QEMU端提供Drive,而缺少library支持,這是Sheepdog目前最主要的問題。但是社區(qū)已經(jīng)有相關(guān)的Blueprint在討論這個問題。

了解Sheepdog的一些相關(guān)資料:

目前Taobao是Sheepdog主要用戶和社區(qū)貢獻者。

5. Cinder

OpenStack是目前流行的IaaS框架,提供了與AWS類似的服務并且兼容其API。OpenStack Nova是計算服務,Swift是對象存儲服務,Quantum是網(wǎng)絡(luò)服務,Glance是鏡像服務,Cinder是塊存儲服務,Keystone是身份認證服務,Horizon是Dashboard,另外還有Heat、Oslo、Ceilometer、Ironic等等項目。

OpenStack的存儲主要分為三大類:

(1)對象存儲服務,Swift

(2)塊設(shè)備存儲服務,主要是提供給虛擬機作為“硬盤”的存儲。這里又分為兩塊:

 

  • 本地塊存儲
  • 分布式塊存儲,Cinder

 

(3)數(shù)據(jù)庫服務,目前是一個正在孵化的項目Trove,前身是Rackspace開源出來的RedDwarf,對應AWS里面的RDC。

Cinder是OpenStack中提供類似于EBS塊存儲服務的API框架。它并沒有實現(xiàn)對塊設(shè)備的管理和實際服務,而是為后端不同的存儲結(jié)構(gòu)提供了統(tǒng)一的接口,不同的塊設(shè)備服務廠商在Cinder中實現(xiàn)其驅(qū)動支持以與OpenStack進行整合。后端的存儲可以是DAS,NAS,SAN,對象存儲或者分布式文件系統(tǒng)。也就是說,Cinder的塊存儲數(shù)據(jù)完整性、可用性保障是由后端存儲提供的。在CinderSupportMatrix中可以看到眾多存儲廠商如NetAPP、IBM、SolidFire、EMC和眾多開源塊存儲系統(tǒng)對Cinder的支持。

從上圖我們也可以看到,Cinder只是提供了一層抽象,然后通過其后段支持的driver實現(xiàn)來發(fā)出命令來得到回應。關(guān)于塊存儲的分配信息以及選項配置等會被保存到OpenStack統(tǒng)一的DB中。

總結(jié)

目前分布式塊存儲的實現(xiàn)仍然是由Amazon EBS領(lǐng)銜,其卓越穩(wěn)定的讀寫性能、強大的增量快照和跨區(qū)域塊設(shè)備遷移,以及令人驚嘆的QoS控制都是目前開源或者其他商業(yè)實現(xiàn)無法比擬的。

不過Amazon EBS始終不是公司私有存儲的一部分,作為企業(yè)IT成本的重要部分,塊存儲正在發(fā)生改變。EMC在一個月前發(fā)布了其ViPR平臺,并開放了其接口,試圖接納其他廠商和開源實現(xiàn)。Nexenta在顛覆傳統(tǒng)的的存儲專有硬件,在其上軟件實現(xiàn)原來只有專有SDN的能力,讓企業(yè)客戶完全擺脫存儲與廠商的綁定。Inktank極力融合OpenStack并推動Ceph在OpenStack社區(qū)的影響力。這些都說明了,無論是目前的存儲廠商還是開源社區(qū)都在極力推動整個分布式塊存儲的發(fā)展,存儲專有設(shè)備的局限性正在進一步弱化了原有企業(yè)的存儲架構(gòu)。

在分布式塊存儲和OpenStack之間,我們可以打造更鞏固的紐帶,將塊存儲在企業(yè)私有云平臺上做更好的集成和運維。

【作者簡介】王豪邁,UnitedStack工程師。本文根據(jù)作者的博客文章《塊存儲的世界(入門級)》修改而成。

責任編輯:黃丹 來源: infoq
相關(guān)推薦

2018-03-16 09:23:34

塊存儲文件存儲對象存儲

2019-04-28 16:10:50

設(shè)計Redux前端

2015-05-05 11:04:31

CoreOS自動化運維

2012-04-29 10:37:28

APP

2010-07-16 09:00:20

開源RedOffice紅旗2000

2019-02-01 14:45:41

前端

2009-07-08 19:44:56

2020-02-04 09:53:05

數(shù)據(jù)安全數(shù)據(jù)泄漏信息安全

2017-04-01 13:30:23

OpenStack O容器技術(shù)

2019-02-18 14:42:18

React.jsUI前端

2021-04-28 22:42:36

SaaS軟件技術(shù)

2022-07-15 13:01:13

Kotlin編程語言Java

2012-10-30 09:59:04

RackspaceOpenStack

2009-08-27 16:03:31

從c#到c++

2009-06-14 18:43:57

LinuxWindows對比

2019-10-08 09:29:41

架構(gòu)代碼業(yè)務邏輯

2016-08-22 12:52:41

GoogleFuchsia操作系統(tǒng)

2017-09-06 15:54:14

2020-04-01 15:04:54

代碼數(shù)學符號程序
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: xxxcom在线观看 | 91精品中文字幕一区二区三区 | 成人午夜在线 | 国产欧美精品一区二区色综合 | 成人精品一区 | 一区二区欧美在线 | 日日艹夜夜艹 | 亚洲自拍偷拍免费视频 | 色婷婷亚洲国产女人的天堂 | 日韩成人中文字幕 | 成人福利在线视频 | 欧美一区成人 | 找个黄色片 | 日韩免| 在线成人av| 免费日本视频 | 国产精品亚洲综合 | 成人在线一区二区 | 国产精品久久久久久久久久三级 | 97精品超碰一区二区三区 | 精品久久久久久久久久 | 国产精品一区二区福利视频 | 久草资源在线 | 久久中文字幕在线 | 国产成人精品免费视频大全最热 | 国产高清在线观看 | 婷婷综合网 | 四季久久免费一区二区三区四区 | 黄网站色大毛片 | 九九九久久国产免费 | 成人一区二区在线 | 一级毛片视频 | 97色伦网 | 精品中文字幕一区 | 欧美日韩在线一区二区 | 黄色片免费在线观看 | 国产免费一区二区三区 | 麻豆av一区二区三区久久 | 亚洲一区二区三区免费观看 | 亚洲国产精品一区在线观看 | www免费视频 |