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

OpenStack Swift 存儲策略及應用案例

云計算 OpenStack
OpenStack Object Storage(Swift)前身是 Rackspace Cloud Files 項目,于 2010 年貢獻給 OpenStack 社區,是 OpenStack 最早的兩個項目之一。Swift 可在比較便宜的通用硬件上構筑具有極強可擴展性和數據持久性的存儲系統,支持多租戶,通過 RESTful API 提供對容器(Container)和對象的 CRUD 操作。

OpenStack Swift 對象存儲及其存儲策略簡介

Swift 2.0 于 2014 年 7 月 8 日發布,其中最重要的新特性是存儲策略(Storage Policy),該特性改變了以往存儲系統中存儲策略由設計與實施方決定的做法,讓用戶能夠以 Container 為粒度,為不同需求的數據指定不同的副本數量、不同參數的糾刪碼、不同性能的存儲介質、不同地理位置、不同的后端存儲設備。存儲策略充分體現了 Swift"軟件定義存儲"(Software Defined Storage)的特點。

為了實現存儲策略,Swift 在原先三個環(Ring)的架構基礎上進行了改進。Swift 為賬戶、容器和對象分別定義了的環,通過環將虛擬節點(分區)映射到一組物理存儲設備上。在 Swift 2.0 中,每個存儲策略對應一個 Object Ring。

Swift存儲策略的配置與使用

配置存儲策略

設置存儲策略分為兩步:編輯配置文件swift.conf文件,創建相應的ObjectRing。在配置文件中每個存儲策略以[storage-policy:N]開頭,其中N是策略的編號。對于該文件的解析遵循以下規則:

  1. 如果該文件中沒有聲明任何策略,Swift會自己創建一個;
  2. 策略編號應當位非負整數;
  3. 如果沒有聲明默認策略,Swift會把編號為0的策略設為默認策略;
  4. 策略編號必須唯一;
  5. 策略應當具有名字,策略命名區分大小且必須唯一;
  6. 策略名稱只能包含字母、數字和連字符,"Policy-0"只能用于編號為0的策略;
  7. 定義策略之后,應當有一個且僅有一個策略被指定為默認策略;
  8. "廢棄"(Deprecated)策略不能同時為默認策略。

下面是一個swift.conf文件的示例:

  1. [swift-hash] 
  2. # random unique strings that can never change (DO NOT LOSE) 
  3. swift_hash_path_prefix = changeme 
  4. swift_hash_path_suffix = changeme 
  5.  
  6. [storage-policy:0
  7. name = apple 
  8. default = yes 
  9.  
  10. [storage-policy:1
  11. name = orange 
  12. deprecated = yes 

完成swift.conf 文件的編輯,下一步是為每個存儲策略創建相應的Object Ring,方法和創建老版本 Object Ring類似,只是要在object 后面加上"-N",這里的 N 是存儲策略的編號。例如,為上述編號為 0和1的存儲策略創建Object Ring:

  1. swift-ring-builder object-0.builder create 10 3 1 
  2. swift-ring-builder object-1.builder create 10 2 1 

使用存儲策略

存儲策略的使用非常簡單,只需要在創建 container 是指定存儲策略即可,下面以 SAIO 部署為例加以說明:

  1. curl -v -X PUT -H 'X-Auth-Token: <your auth token>' -H \ 
  2.     "X-Storage-Policy: orange" \ 
  3.     <a href="http://127.0.0.1:8080/v1/AUTH_test/myCont1">http://127.0.0.1:8080/v1/AUTH_test/myCont1</a> 
  4. curl -X PUT -v -T file1.txt -H 'X-Auth-Token: <your auth token>' \ 
  5. <a href="http://127.0.0.1:8080/v1/AUTH_test/myCont1/">http://127.0.0.1:8080/v1/AUTH_test/myCont1/</a> 

然后執行:

  1. curl -X GET –v \ 
  2.  <a href="http://127.0.0.1:8080/endpoints/AUTH_test/myCont1/file1.txt">http://127.0.0.1:8080/endpoints/AUTH_test/myCont1/file1.txt</a> 

例如,會看到如下結果:

  1. ["http://127.0.0.1:6010/sdb1/32/AUTH_test/myCont1/file1.txt"
  2. "http://127.0.0.1:6040/sdb4/32/AUTH_test/myCont1/file1.txt"

說明 Storage Policy 已經成功發揮作用。

#p#

存儲策略的應用模式

上述提到副本數量的改變,只是存儲策略的應用模式的一種,在實際應用中,可以有以下幾種模式:

1. 縮減或增加冗余

對于一些數據,它們不需要保證很高的數據持久性和可靠性,比較典型的是圖像的縮略圖,它們可以由原圖降采樣得到,在這種情況下,可以對原圖采用三副本方案,對縮略圖采用雙副本方案,降低存儲系統的開銷。 

圖 1.為不同的 Container 指定不同的副本數量

http://s6.51cto.com/wyfs02/M01/54/0E/wKiom1R2vNCizpLYAABYXIAkHMc916.jpg

2. 性能分層

例如,對于一些數據用 HDD 保存,另一些用 SSD 保存。也可以應用于其他存儲介質,甚至是不同的存儲設備。

圖 2.為不同的 Container 指定不同的存儲介質

3. 地理位置約束

在某些場景下,因為公司或者國家的政策的約束,某些數據必須存儲在指定的地理位置,例如混合云場景。有些場景下,用戶希望指定數據存放在距離訪問客戶端比較近的地方。

圖 3.為不同的 Container 指定不同的存儲位置

http://s9.51cto.com/wyfs02/M02/54/0D/wKioL1R2vVOBmm36AABQw0HBOSw603.jpg

4. 應用糾刪碼(Erasure Codes)

對于性能要求不高的場合,應用糾刪碼。糾刪碼,又稱為刪除碼,將對象分割為 m 個分片(fragments),并通過編碼生成 k 個校驗分片, 最后將這 n=m+k 個分片放到 Swift 對象存儲系統的不同位置(通常是 swift 的不同 zone 中)。對于將 m 個分片編碼為 n 個分片的糾刪碼,記為EC(m, n)。糾刪碼的示意圖如下:

圖 4.糾刪碼示意圖

糾刪碼在提高存儲空間利用率的同時,保持或增加數據的持久性(durability)和可靠性。但是由于編碼、解碼和恢復數據往往需要較大的計算量,可能導致性能的降低,所以比較適用于對持久性和可靠性要求比較高,但是訪問量并不大的數據存儲。

圖 5 .應用糾刪碼保護數據

#p#

在某視頻網站中的應用案例 

在某視頻網站中,采用 Swift 存儲視頻文件,并對其部分文件根據視頻類型的不同應用不同的存儲策略。

視頻數據分為三類:1)源片;2)超清視頻文件;3)其他不同清晰度的視頻文件。源片體積較大,對持久性要求高,但是對訪問速度要求較低,并發訪問數量和訪問頻率較低;清晰度較低的視頻由超清視頻轉碼得到,針對上述需求,設計存儲策略如下:

  1. 源片采用糾刪碼策略,編碼參數為EC(7, 4),即把一個視頻文件分割為 4 塊,并生成 3 塊校驗塊,存儲效率約為 57%;
  2. 超清視頻三副本策略,存儲效率約為 33%;
  3. 清晰度較低的視頻采用雙副本策略,存儲效率為 50%。

假設設備損壞的概率為 2%,以上三種存儲策略的數據持久性分別為:99.9995%,99.9992%和 99.96%。

表 1.存儲策略的應用

Swift 集群的總結點數量為 54 個節點,總容量約為 2.3PB,集群的部署架構如下圖所示,其中 Proxy Server 的數量可以根據需要增加或者減少。采用傳統三副本方案,能夠保存的視頻總長度約為(同一段視頻不同分辨率不進行重復統計)3.97×106 分鐘。

采用上述存儲策略后,保存的視頻總長度為 5.89×106 分鐘,存儲效率提高了 48%。

圖 6. 基于 Swift 的視頻存儲系統的部署架構

基于 Swift 的視頻存儲系統的部署架構

結束語

在大數據時代,隨著文件數量和數據體量的增加,文件系統和 NAS 的瓶頸越來越明顯,基于 RESTful Web API 的對象存儲逐漸受到人們的廣泛接受。作為最具代表性,應用最廣泛的開源對象存儲方案,OpenStack Swift 自誕生以來一直保持著技術上領先的地位,在 Swift 2.0 中推出的存儲策略功能,能夠讓管理員根據自己系統的特點制定不同的存儲策略;用戶或租戶根據自己數據的特點和業務需要,以 Container 為粒度選擇存儲策略,從而實現成本、數據可靠性、性能等維度上的綜合權衡和優化,體現了軟件定義存儲的特點。本文只是對存儲策略做了一個簡要的介紹,讓讀 者體會存儲策略的用途,進一步深入探索可以查看參考資料了解有關 OpenStack Swift 的更多相關信息。

原文出自:http://www.ibm.com/developerworks/cn/cloud/library/1411_limy_openstackswift/?cmp=dwskl&cpb=dw&ct=dwcon&cr=cn_CSDN_t10_1&ccy=cn

責任編輯:Ophira 來源: IBM
相關推薦

2012-07-12 16:00:32

OpenStackSwift架構

2013-12-10 09:57:35

Openstack S開源云存儲Openstack

2015-08-25 11:17:13

OpenStack對象存儲Swift

2013-07-25 09:12:48

OpenStackSwift對象存儲對象存儲

2016-06-17 13:43:15

OpenStackSwift跨地域存儲集群

2019-01-18 09:02:26

OpenStack存儲組件

2017-07-10 08:18:55

云存儲優勢應用

2017-02-09 11:34:57

大數據用戶畫像應用實踐

2013-07-26 09:16:13

SwiftOpenStackSwiftStack

2012-05-17 13:47:37

OpenStack架構

2011-07-05 10:24:00

虛擬化虛擬化工程

2011-09-07 10:42:38

cloudopenstack n

2013-12-11 21:44:01

OpenStack對象Swift

2013-07-25 09:13:57

SwiftStackOpenStackSwift對象存儲

2014-01-13 10:50:28

虛擬化存儲

2018-10-24 14:17:45

云存儲策略數據

2009-01-30 11:29:48

石油行業地質勘探存儲

2011-03-31 10:18:31

2022-10-25 09:49:26

2012-09-13 11:06:03

IBMdW
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品欧美大片 | 成人性视频免费网站 | 91免费在线 | 久久久入口 | 日韩av一区二区在线观看 | 91观看| 亚洲高清视频在线观看 | 国产成人精品综合 | 国产一伦一伦一伦 | 99福利在线观看 | 国产激情片在线观看 | 黄色大片在线视频 | 精品久久久久久 | 天天干天天谢 | 五月激情婷婷在线 | 一区二区精品在线 | 国产高清在线视频 | 久久久123 | 天天干夜夜操 | 久久国产成人 | 久久大陆 | 久久综合九色综合欧美狠狠 | 亚洲一区二区在线 | 久久久久国产精品一区二区 | 亚洲精品在线91 | 亚洲精品无| 91麻豆精品国产91久久久更新资源速度超快 | 国产一区二区三区在线 | 午夜影院在线观看视频 | 国产成人精品一区二区三区在线 | 一本色道精品久久一区二区三区 | 国产精品永久免费观看 | 国产激情自拍视频 | 欧美一区二区三区一在线观看 | 中文字幕av高清 | 欧美日韩一区二区在线 | 黄片毛片在线观看 | 久久精品亚洲欧美日韩久久 | 欧美日韩精品在线一区 | 伊人精品 | 欧美一区二区综合 |