Ceph分布式存儲(chǔ)初步認(rèn)識(shí)(一)【與云原生的故事】

      網(wǎng)友投稿 909 2022-05-28

      一、Ceph概述

      1、背景

      Ceph是一個(gè)去中心化的分布式存儲(chǔ)系統(tǒng), 提供較好的性能、可靠性和可擴(kuò)展性。Ceph項(xiàng)目最早起源于Sage就讀博士期間的工作(最早的成果于2004年發(fā)表),并隨后貢獻(xiàn)給開源社區(qū), 遵循LGPL協(xié)議 (LESSER GENERAL PUBLIC LICENSE的簡(jiǎn)寫,中文譯為“較寬松公共許可證”)。在經(jīng)過(guò)了數(shù)年的發(fā)展之后,目前已得到眾多云計(jì)算廠商(OpenStack、CloudStack、OpenNebula、Hadoop)的支持并被廣泛應(yīng)用。

      2、介紹

      Ceph是一個(gè)可靠、自動(dòng)重均衡、自動(dòng)恢復(fù)的分布式存儲(chǔ)系統(tǒng),根據(jù)場(chǎng)景劃分可以將Ceph分為三大塊,分別是對(duì)象存儲(chǔ)、塊設(shè)備和文件系統(tǒng)服務(wù)。

      Ceph的主要優(yōu)點(diǎn)是分布式存儲(chǔ),在存儲(chǔ)每一個(gè)數(shù)據(jù)時(shí),都會(huì)通過(guò)計(jì)算得出該數(shù)據(jù)存儲(chǔ)的位置,盡量將數(shù)據(jù)分布均衡,不存在傳統(tǒng)的單點(diǎn)故障的問(wèn)題,可以水平擴(kuò)展。

      Ceph存儲(chǔ)集群至少需要一個(gè)Ceph Monitor和兩個(gè)OSD守護(hù)進(jìn)程。而運(yùn)行Ceph文件系統(tǒng)客戶端時(shí),則必須要有元數(shù)據(jù)服務(wù)器(Metadata Server)。

      3、特點(diǎn)

      Ceph適合跨集群的小文件存儲(chǔ), 擁有以下特點(diǎn):

      高性能

      Client和Server直接通信, 不需要代理和轉(zhuǎn)發(fā);

      Client不需要負(fù)責(zé)副本的復(fù)制, 有Primary主節(jié)點(diǎn)負(fù)責(zé), 這樣可以有效降低clien網(wǎng)絡(luò)的消耗;

      采用CRUSH算法,數(shù)據(jù)分布均衡,并行度高,支持上千個(gè)存儲(chǔ)節(jié)點(diǎn), 支持TB及PB級(jí)數(shù)據(jù)。

      高可用性

      數(shù)據(jù)多副本, 支持故障域分隔,數(shù)據(jù)強(qiáng)一致性;

      沒(méi)有單點(diǎn)故障,較好的容錯(cuò)性, 有效支撐各種故障場(chǎng)景;

      支持所有故障的檢測(cè)和自動(dòng)恢復(fù),可以做到自動(dòng)化管理;

      支持并行恢復(fù),能夠極大的降低數(shù)據(jù)恢復(fù)時(shí)間, 提高數(shù)據(jù)的可靠性。

      高擴(kuò)展性

      高度并行化設(shè)計(jì),沒(méi)有單個(gè)中心控制組件,所有負(fù)載都能動(dòng)態(tài)的劃分到各個(gè)服務(wù)器上。

      去中心化、靈活、隨節(jié)點(diǎn)增加線性增長(zhǎng)。

      場(chǎng)景豐富

      支持三種存儲(chǔ)接口類型: 塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)。 同時(shí)支持自定義接口,C++為底層實(shí)現(xiàn), 兼容多種語(yǔ)言。

      塊存儲(chǔ): 將磁盤空間映射給主機(jī)使用, 適用 docker容器、虛擬機(jī)磁盤存儲(chǔ)分配;日志存儲(chǔ), 文件存儲(chǔ)。

      文件存儲(chǔ): 解決塊存儲(chǔ)無(wú)法共享問(wèn)題, 在服務(wù)器架設(shè)FTP和NFS服務(wù)器,適用目錄結(jié)構(gòu)的存儲(chǔ)、日志存儲(chǔ)等。

      對(duì)象存儲(chǔ): 大容量硬盤, 安裝存儲(chǔ)管理軟件, 對(duì)外提供讀寫訪問(wèn)能力, 具備塊存儲(chǔ)的高速讀寫能力, 也具備文件存儲(chǔ)共享的特性; 適用圖片存儲(chǔ)或視頻存儲(chǔ)。

      4、分布式存儲(chǔ)系統(tǒng)橫縱對(duì)比

      二、Ceph架構(gòu)設(shè)計(jì)

      1、Ceph整體設(shè)計(jì)

      基礎(chǔ)存儲(chǔ)系統(tǒng)RADOS

      Reliable, Autonomic,Distributed Object Store,即可靠的、自動(dòng)化的、分布式的對(duì)象存儲(chǔ)這就是一個(gè)完整的對(duì)象存儲(chǔ)系統(tǒng),所有存儲(chǔ)在Ceph系統(tǒng)中的用戶數(shù)據(jù)事實(shí)上最終都是由這一層來(lái)存儲(chǔ)的。而Ceph的高可靠、高可擴(kuò)展、高性能、高自動(dòng)化等等特性本質(zhì)上也是由這一層所提供的。

      基礎(chǔ)庫(kù)librado

      這層的功能是對(duì)RADOS進(jìn)行抽象和封裝,并向上層提供API,以便直接基于RADOS(而不是整個(gè)Ceph)進(jìn)行應(yīng)用開發(fā)。特別要注意的是,RADOS是一個(gè)對(duì)象存儲(chǔ)系統(tǒng),因此,librados實(shí)現(xiàn)的API也只是針對(duì)對(duì)象存儲(chǔ)功能的。RADOS采用C++開發(fā),所提供的原生librados API包括C和C++兩種。

      高層應(yīng)用接口

      這層包括了三個(gè)部分:RADOS GW(RADOS Gateway)、 RBD(Reliable Block Device)和CephFS(Ceph File System),其作用是在librados庫(kù)的基礎(chǔ)上提供抽象層次更高、更便于應(yīng)用或客戶端使用的上層接口。其中,RADOS GW是一個(gè)提供與Amazon S3和Swift兼容的RESTful API的gateway,以供相應(yīng)的對(duì)象存儲(chǔ)應(yīng)用開發(fā)使用。RADOS GW提供的API抽象層次更高,但功能則不如librados強(qiáng)大。

      應(yīng)用層

      這層是不同場(chǎng)景下對(duì)于Ceph各個(gè)應(yīng)用接口的各種應(yīng)用方式,例如基于librados直接開發(fā)的對(duì)象存儲(chǔ)應(yīng)用,基于RADOS GW開發(fā)的對(duì)象存儲(chǔ)應(yīng)用,基于RBD實(shí)現(xiàn)的云硬盤等等。librados和RADOSGW的區(qū)別在于,librados提供的是本地API,而RADOS GW提供的則是RESTfulAPI。

      由于Swift和S3支持的API功能近似,這里以Swift舉例說(shuō)明。Swift提供的API功能主要包括:

      用戶管理操作:用戶認(rèn)證、獲取賬戶信息、列出容器列表等;

      容器管理操作:創(chuàng)建/刪除容器、讀取容器信息、列出容器內(nèi)對(duì)象列表等;

      對(duì)象管理操作:對(duì)象的寫入、讀取、復(fù)制、更新、刪除、訪問(wèn)許可設(shè)置、元數(shù)據(jù)讀取或更新等。

      2、邏輯架構(gòu)

      3、Ceph專業(yè)術(shù)語(yǔ)

      Monitors: Ceph監(jiān)視器,Monitor維護(hù)著展示集群狀態(tài)的各種圖表,包括監(jiān)視器圖、OSD圖、歸置組(PG)圖、和CRUSH圖。

      PG:Ceph歸置組,每個(gè)Object最后都會(huì)通過(guò)CRUSH計(jì)算映射到某個(gè)PG中,一個(gè)PG可以包含多個(gè)Object。

      OSD: Ceph的對(duì)象存儲(chǔ)設(shè)備,OSD守護(hù)進(jìn)程的功能是存儲(chǔ)數(shù)據(jù),處理數(shù)據(jù)的復(fù)制、恢復(fù)、回填、再均衡,并通過(guò)檢查其他OSD守護(hù)進(jìn)程的心跳來(lái)向Ceph Monitors 提供一些監(jiān)控信息。

      MDS: Ceph元數(shù)據(jù)服務(wù)器(MDS),為Ceph文件系統(tǒng)存儲(chǔ)元數(shù)據(jù)。

      Ceph分布式存儲(chǔ)初步認(rèn)識(shí)(一)【與云原生的故事】

      CephFS: Ceph文件系統(tǒng),CephFS提供了一個(gè)任意大小且兼容POSIX的分布式文件系統(tǒng)。

      RADOS: Reliable Autonomic Distributed Object Store,表示可靠、自動(dòng)、分布式的對(duì)象存儲(chǔ)。Ceph中的一切都是以對(duì)象形式存儲(chǔ),RADOS就負(fù)責(zé)存儲(chǔ)這些對(duì)象,RADOS層確保數(shù)據(jù)一致性和可靠性。

      Librados:librados庫(kù)是一種用來(lái)簡(jiǎn)化訪問(wèn)RADOS的方法,目前支持PHP、Python、Ruby、Java、C和C++語(yǔ)言。

      RBD:Ceph 的塊設(shè)備,它對(duì)外提供塊存儲(chǔ),可以被映射、格式化進(jìn)而像其他磁盤一樣掛載到服務(wù)器

      RGW/RADOSGW:Ceph 對(duì)象網(wǎng)關(guān),它提供了一個(gè)兼容S3和Swift的restful API接口。

      【與云原生的故事】有獎(jiǎng)?wù)魑幕馃徇M(jìn)行中:https://bbs.huaweicloud.com/blogs/345260

      專屬分布式存儲(chǔ)服務(wù) 分布式

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:操作系統(tǒng)學(xué)習(xí)筆記(三十一)~I/O基本概念+ I/O控制方式+ I/O內(nèi)核子系統(tǒng)
      下一篇:2021-07-08 .NET高級(jí)班 104-memcache緩存的介紹
      相關(guān)文章
      国产成人精品日本亚洲网站| 亚洲成人黄色网址| 亚洲国产精品综合福利专区| 亚洲精品无码成人片在线观看| 亚洲熟妇AV乱码在线观看| 久久精品国产亚洲AV忘忧草18| 亚洲第一页中文字幕| 久久亚洲熟女cc98cm| 久久久婷婷五月亚洲97号色| 亚洲成a人片77777老司机| 久久精品国产亚洲av麻豆| 国产亚洲AV手机在线观看| 中文字幕亚洲无线码a| 亚洲区小说区图片区| 亚洲综合亚洲综合网成人| 亚洲国产精品13p| 亚洲无码视频在线| 国产成人A亚洲精V品无码| 国产AⅤ无码专区亚洲AV| 亚洲人成在线播放网站| 亚洲大尺度无码专区尤物| 亚洲av网址在线观看| 亚洲欧洲日韩不卡| 亚洲欧洲日韩在线电影| 亚洲一级高清在线中文字幕| 亚洲人和日本人jizz| 国内精品久久久久影院亚洲| 亚洲第一男人天堂| 久久亚洲精品11p| 亚洲国产综合久久天堂| 亚洲一区二区三区香蕉| 久久亚洲精品成人777大小说| 亚洲最大成人网色| 亚洲免费在线视频播放| 亚洲人成电影网站色| 亚洲国产成人久久综合碰| 亚洲啪啪综合AV一区| 久久亚洲日韩精品一区二区三区| 亚洲欧洲日韩在线电影| 亚洲AV无码一区二区三区人| 亚洲精品日韩一区二区小说|