自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

1. 作為OSD的日志盤

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

1)寫密集場景

OSD日志是大量小數(shù)據(jù)塊、隨機(jī)IO寫操作。選購SSD作為日志盤,需要重點(diǎn)關(guān)注隨機(jī)、小塊數(shù)據(jù)、寫操作的吞吐量及IOPS;當(dāng)一塊SSD作為多個(gè)OSD的日志盤時(shí),因?yàn)樯婕暗蕉鄠€(gè)OSD同時(shí)往SSD盤寫數(shù)據(jù),要重點(diǎn)關(guān)注順序?qū)懙膸挕?/p>

2)分區(qū)對(duì)齊

在對(duì)SSD分區(qū)時(shí),使用Parted進(jìn)行分區(qū)并保證4KB分區(qū)對(duì)齊,避免分區(qū)不當(dāng)帶來的性能下降。

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

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

  1. flags |= O_DIRECT | O_DSYNC 

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

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

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

#p#

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

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

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

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

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

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

1)標(biāo)示各服務(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機(jī)械盤和SSD混用,但SSD的OSD節(jié)點(diǎn)不用來組成獨(dú)立的存儲(chǔ)池,而是配置CURSH讀取規(guī)則,讓所有數(shù)據(jù)的主備份落在SSD OSD上。Ceph集群內(nèi)部的數(shù)據(jù)備份從SSD的主OSD往非SSD的副O(jiān)SD寫數(shù)據(jù)。

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

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

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

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

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

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

1)Writeback模式

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

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

2)只讀模式

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

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

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

附. 名詞解釋:

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

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

責(zé)任編輯: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)存有界隊(duì)列消費(fèi)模式

2018-03-22 15:36:10

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

2015-08-04 15:21:17

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

2020-11-10 10:08:41

Kubernetes容器開發(fā)

2020-02-25 22:08:02

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

2009-12-16 14:45:35

Linux操作系統(tǒng)

2020-06-24 07:49:13

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

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

2015-04-07 10:46:48

Redis

2024-12-19 08:50:38

Redis存儲(chǔ)系統(tǒng)

2013-07-27 20:11:27

2021-09-26 05:38:16

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

2021-01-12 19:52:58

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

2019-10-11 07:56:37

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

2015-10-15 14:32:34

點(diǎn)贊
收藏

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