偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SSD固態(tài)盤應(yīng)用于Ceph集群的四種典型使用場景

云計算
在虛擬化及云計算技術(shù)大規(guī)模應(yīng)用于企業(yè)數(shù)據(jù)中心的科技潮流中,存儲性能無疑是企業(yè)核心應(yīng)用是否虛擬化、云化的關(guān)鍵指標之一。Ceph先進的架構(gòu),加上SSD固態(tài)盤,特別是高速PCIe SSD帶來的高性能,無疑將成為Ceph部署的典型場景。

在虛擬化及云計算技術(shù)大規(guī)模應(yīng)用于企業(yè)數(shù)據(jù)中心的科技潮流中,存儲性能無疑是企業(yè)核心應(yīng)用是否虛擬化、云化的關(guān)鍵指標之一。傳統(tǒng)的做法是升級存儲設(shè)備,但這沒解決根本問題,性能和容量不能兼顧,并且解決不好設(shè)備利舊問題。因此,企業(yè)迫切需要一種大規(guī)模分布式存儲管理軟件,能充分利用已有硬件資源,在可控成本范圍內(nèi)提供***的存儲性能,并能根據(jù)業(yè)務(wù)需求變化,從容量和性能兩方面同時快速橫向擴展。這就是Server SAN興起的現(xiàn)實基礎(chǔ)。

Ceph作為Server SAN的最典型代表,可對外提供塊、對象、文件服務(wù)的分布式統(tǒng)一存儲系統(tǒng),不可避免成為關(guān)注熱點,越來越多的企業(yè)在生產(chǎn)環(huán)境部署和使用Ceph集群,截止今年4月份為止,云計算提供商DreamHost、歐洲核子研究中心CERN等企業(yè)已有3PB規(guī)模數(shù)據(jù)量的Ceph生產(chǎn)環(huán)境。

Ceph先進的架構(gòu),加上SSD固態(tài)盤,特別是高速PCIe SSD帶來的高性能,無疑將成為Ceph部署的典型場景。同時,由于SSD相對昂貴的價格及企業(yè)已有設(shè)備的利舊考慮,如何控制成本,利用少量的SSD盤來達到關(guān)鍵業(yè)務(wù)(如電信計費系統(tǒng)的數(shù)據(jù)庫業(yè)務(wù)等)對性能的要求,做到性能和成本的***平衡點,是用好Ceph的關(guān)鍵。下面討論Ceph集群中SSD盤四種典型使用場景:

1. 作為OSD的日志盤

Ceph使用日志來提高性能及保證數(shù)據(jù)一致性。使用快速的SSD作為OSD的日志盤來提高集群性能是SSD應(yīng)用于Ceph環(huán)境中最常見的使用場景。由于OSD日志讀寫的特點,在選擇SSD盤時,除了關(guān)注IOPS性能外,要重點注意以下3個方面:

1)寫密集場景

OSD日志是大量小數(shù)據(jù)塊、隨機IO寫操作。選購SSD作為日志盤,需要重點關(guān)注隨機、小塊數(shù)據(jù)、寫操作的吞吐量及IOPS;當一塊SSD作為多個OSD的日志盤時,因為涉及到多個OSD同時往SSD盤寫數(shù)據(jù),要重點關(guān)注順序?qū)懙膸挕?/p>

2)分區(qū)對齊

在對SSD分區(qū)時,使用Parted進行分區(qū)并保證4KB分區(qū)對齊,避免分區(qū)不當帶來的性能下降。

3)O_DIRECT和O_DSYNC寫模式及寫緩存

由Ceph源碼可知(ceph/src/os/FileJournal.cc),OSD在寫日志文件時,使用的flags是:

  1. flags |= O_DIRECT | O_DSYNC 

O_DIRECT表示不使用Linux內(nèi)核Page Cache; O_DSYNC表示數(shù)據(jù)在寫入到磁盤后才返回。

由于磁盤控制器也同樣存在緩存,而Linux操作系統(tǒng)不負責管理設(shè)備緩存,O_DSYNC在到達磁盤控制器緩存之后會立即返回給調(diào)用者,并無法保證數(shù)據(jù)真正寫入到磁盤中,Ceph致力于數(shù)據(jù)的安全性,對用來作為日志盤的設(shè)備,應(yīng)禁用其寫緩存。(# hdparm -W 0 /dev/hda 0)

使用工具測試SSD性能時,應(yīng)添加對應(yīng)的flag:dd … oflag=direct,dsync; fio … —direct=1, —sync=1…

#p#

2. 與SATA、SAS硬盤混用,但獨立組成全SSD的Pool

基本思路是編輯CRUSH MAP,先標示出散落在各存儲服務(wù)器的SSD OSD以及硬盤OSD(host元素),再把這兩種類型的OSD聚合起來形成兩種不同的數(shù)據(jù)根(root元素),然后針對兩種不同的數(shù)據(jù)源分別編寫數(shù)據(jù)存取規(guī)則(rule元素),***,創(chuàng)建SSD Pool,并指定其數(shù)據(jù)存取操作都在SSD OSD上進行。

在該場景下,同一個Ceph集群里存在傳統(tǒng)機械盤組成的存儲池,以及SSD組成的快速存儲池,可把對讀寫性能要求高的數(shù)據(jù)存放在SSD池,而把備份數(shù)據(jù)存放在普通存儲池。

對應(yīng)于Ceph作為OpenStack里統(tǒng)一存儲后端,各組件所使用的四個存儲池:Glance Pool存放鏡像及虛擬機快照、Nova Pool存放虛擬機系統(tǒng)盤、Cinder Volume Pool存放云硬盤及云硬盤快照、Cinder Backup Pool存放云硬盤備份,可以判斷出,Nova及Cinder Volume存儲池對IO性能有相對較高的要求,并且大部分都是熱數(shù)據(jù),可存放在SSD Pool;而Glance和Cinder Backup存儲池作為備份冷數(shù)據(jù)池,對性能要求相對較低,可存放在普通存儲池。

這種使用場景,SSD Pool里的主備數(shù)據(jù)都是在SSD里,但正常情況下,Ceph客戶端直接讀寫的只有主數(shù)據(jù),這對相對昂貴的SSD來說存在一定程度上的浪費。這就引出了下一個使用場景—配置CRUSH數(shù)據(jù)讀寫規(guī)則,使主備數(shù)據(jù)中的主數(shù)據(jù)落在SSD的OSD上。

Ceph里的命令操作不詳細敘述,簡單步驟示例如下:

1)標示各服務(wù)器上的SSD與硬盤OSD

  1. # SAS HDD OSD 
  2. host ceph-server1-sas { 
  3. id -2 
  4. alg straw 
  5. hash 0 
  6. item osd.0 weight 1.000 
  7. item osd.1 weight 1.000 
  8. … 
  9. # SSD OSD 
  10. host ceph-server1-ssd { 
  11. id -2 
  12. alg straw 
  13. hash 0 
  14. item osd.2 weight 1.000 
  15. … 

2) 聚合OSD,創(chuàng)建數(shù)據(jù)根

  1. root sas { 
  2. id -1 
  3. alg straw 
  4. hash 0 
  5. item ceph-server1-sas 
  6. … 
  7. item ceph-servern-sas 
  8. root ssd { 
  9. id -1 
  10. alg straw 
  11. hash 0 
  12. item ceph-server1-ssd 
  13. … 
  14. item ceph-servern-ssd 

3)創(chuàng)建存取規(guī)則

  1. rule sas { 
  2. ruleset 0 
  3. type replicated 
  4. … 
  5. step take sas 
  6. step chooseleaf firstn 0 type host 
  7. step emit 
  8. rule ssd { 
  9. ruleset 1 
  10. type replicated 
  11. … 
  12. step take ssd 
  13. step chooseleaf firstn 0 type host 
  14. step emit 

4)編譯及使用新的CRUSH MAP

  1. # crushtool -c ssd_sas_map.txt -o ssd_sas_map 
  2. # ceph osd setcrushmap -i ssd_sas_map 

5)創(chuàng)建Pool并指定存取規(guī)則

  1. # ceph osd pool create ssd 4096 4096 
  2. # ceph osd pool set ssd crush_ruleset 1 

#p#

3. 配置CRUSH數(shù)據(jù)讀寫規(guī)則,使主備數(shù)據(jù)中的主數(shù)據(jù)落在SSD的OSD上

該場景基本思路和第二種類似,SATA/SAS機械盤和SSD混用,但SSD的OSD節(jié)點不用來組成獨立的存儲池,而是配置CURSH讀取規(guī)則,讓所有數(shù)據(jù)的主備份落在SSD OSD上。Ceph集群內(nèi)部的數(shù)據(jù)備份從SSD的主OSD往非SSD的副O(jiān)SD寫數(shù)據(jù)。

這樣,所有的Ceph客戶端直接讀寫的都是SSD OSD 節(jié)點,既提高了性能又節(jié)約了對OSD容量的要求。

配置重點是CRUSH讀寫規(guī)則的設(shè)置,關(guān)鍵點如下:

  1. rule ssd-primary { 
  2. ruleset 1 
  3. … 
  4. step take ssd 
  5. step chooseleaf firstn 1 type host #從SSD根節(jié)點下取1個OSD存主數(shù)據(jù) 
  6. step emit 
  7. step take sas 
  8. step chooseleaf firstn -1 type host #從SAS根節(jié)點下取其它OSD節(jié)點存副本數(shù)據(jù) 
  9. step emit 

4. 作為Ceph Cache Tiering技術(shù)中的Cache層

Cache Tiering的基本思想是冷熱數(shù)據(jù)分離,用相對快速/昂貴的存儲設(shè)備如SSD盤,組成一個Pool來作為Cache層,后端用相對慢速/廉價的設(shè)備來組建冷數(shù)據(jù)存儲池。

Ceph Cache Tiering Agent處理緩存層和存儲層的數(shù)據(jù)的自動遷移,對客戶端透明操作透明。Cahe層有兩種典型使用模式:

1)Writeback模式

Ceph客戶端直接往Cache層寫數(shù)據(jù),寫完立即返回,Agent再及時把數(shù)據(jù)遷移到冷數(shù)據(jù)池。當客戶端取不在Cache層的冷數(shù)據(jù)時,Agent負責把冷數(shù)據(jù)遷移到Cache層。也就是說,Ceph客戶端直接在Cache層上進行IO讀寫操作,不會與相對慢速的冷數(shù)據(jù)池進行數(shù)據(jù)交換。

這種模式適用于可變數(shù)據(jù)的操作,如照片/視頻編輯、電商交易數(shù)據(jù)等等。

2)只讀模式

Ceph客戶端在寫操作時往后端冷數(shù)據(jù)池直接寫,讀數(shù)據(jù)時,Ceph把數(shù)據(jù)從后端讀取到Cache層。

這種模式適用于不可變數(shù)據(jù),如微博/微信上的照片/視頻、DNA數(shù)據(jù)、X射線影像等。

CRUSH算法是Ceph集群的核心,在深刻理解CRUSH算法的基礎(chǔ)上,利用SSD的高性能,可利用較少的成本增加,滿足企業(yè)關(guān)鍵應(yīng)用對存儲性能的高要求。

附. 名詞解釋:

  • I. Ceph: 開源分布式統(tǒng)一存儲(塊、對象、文件)項目。
  • II. Ceph OSD:Ceph Object Store Device的縮寫,可以指Ceph里的一個存儲單元,也可以指Ceph里的OSD管理進程。每臺服務(wù)器上可運行多個OSD進程,典型的Ceph集群由奇數(shù)個Monitor節(jié)點和多個OSD節(jié)點組成。
  • III. CRUSH:CRUSH算法是Ceph的核心模塊,它通過計算數(shù)據(jù)存儲位置來決定如何存取數(shù)據(jù),同時也讓Ceph客戶端可以直接和各OSD節(jié)點通信而不是一個中心節(jié)點,這樣,避免了Ceph集群的單點故障、性能瓶頸,極大增強了線性擴展能力。
  • IV. SSD:Solid State Drive,固態(tài)盤,不解釋。
  • V. SATA/SAS/PCIe:不同數(shù)據(jù)總線接口。高端存儲里大部分存儲節(jié)點采用PCIe技術(shù)進行互聯(lián);PCIe接口SSD也是大勢所趨。SATA和SAS,一個指令集是ATA,一個是SCSI,兩者都可用來作為機械盤或固態(tài)盤的接口。
  • VI. 幾種寫緩存模式:
  • Write-through:向高速Cache寫入數(shù)據(jù)時同時也往后端慢速設(shè)備寫一份,兩者都寫完才返回。
  • Write-back:向高速Cache寫完數(shù)據(jù)后立即返回,數(shù)據(jù)不保證立即寫入后端設(shè)備。給調(diào)用者的感覺是速度快,但需要額外的機制來防止掉電帶來的數(shù)據(jù)不一致。
  • none:禁用寫緩存,直接往Cache后端慢速設(shè)備寫數(shù)據(jù)。
  • 計算機內(nèi)各級存儲設(shè)備都存在Cache機制(CPU寄存器->L1緩存->L2緩存->內(nèi)存->設(shè)備控制器緩存->物理設(shè)備)

原文鏈接:http://www.openstack.cn/p3081.html

責任編輯:Ophira 來源: openstack中文社區(qū)
相關(guān)推薦

2019-10-25 10:35:49

Java用法場景

2017-11-27 09:11:42

SSDceph應(yīng)用

2024-12-31 07:56:33

Disruptor內(nèi)存有界隊列消費模式

2020-06-24 07:49:13

Kubernetes場景網(wǎng)絡(luò)

2020-11-10 10:08:41

Kubernetes容器開發(fā)

2018-03-22 15:36:10

大數(shù)據(jù)智能程序

2020-02-25 22:08:02

ZooKeeper典型應(yīng)用場景

2015-08-04 15:21:17

SDN公有云軟件定義網(wǎng)絡(luò)

2009-12-16 14:45:35

Linux操作系統(tǒng)

2017-09-01 11:59:59

Android

2015-10-09 10:12:23

ZooKeeper

2010-01-11 17:48:26

2022-12-08 10:40:06

聲明式事務(wù)AOP

2024-12-19 08:50:38

Redis存儲系統(tǒng)

2015-04-07 10:46:48

Redis

2013-07-27 20:11:27

2021-01-12 19:52:58

大數(shù)據(jù)大數(shù)應(yīng)用大數(shù)據(jù)可視化

2021-09-26 05:38:16

云計算云計算環(huán)境云應(yīng)用

2019-10-11 07:56:37

物聯(lián)網(wǎng)應(yīng)用物聯(lián)網(wǎng)IOT

2023-10-30 00:14:34

Agent提示工程LLM
點贊
收藏

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