欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

安全服務(wù)器組件高可用 服務(wù)器安全硬件

Ceph高可用部署和主要組件介紹

本教程用官網(wǎng)最近的cephadm來搭建ceph集群。

站在用戶的角度思考問題,與客戶深入溝通,找到金口河網(wǎng)站設(shè)計與金口河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋金口河地區(qū)。

第一周作業(yè):1.ceph的組件和功能2.ceph的數(shù)據(jù)讀寫流程肢升3.使用ceph-deploy安裝一個最少三個節(jié)點的ceph集群 推薦3個或以上的磁盤作為專用osd 4.測試ceph的rbd使用

1·Ceph組件和功能

組件

Ceph OSDs : ( Ceph OSD )object storage daemon的功能是存儲數(shù)據(jù),處理數(shù)據(jù)的復(fù)制、恢復(fù)、回填、再均衡,并通過檢查其他OSD 守護進程的心跳來向 Ceph Monitors 提供一些監(jiān)控信息。當 Ceph 存儲集群設(shè)定為有2個副本時,至少需要2個 OSD 守護進程,集群才能達到 active+clean 狀態(tài)( Ceph 默認有3個副本,但你可以調(diào)整副本數(shù))。

Monitors : 維護著展示集群狀態(tài)的各種圖表,包括監(jiān)視器圖、 OSD 圖、歸置組( PG )圖、和 CRUSH 圖。 Ceph 保存著發(fā)生在Monitors 、 OSD 和 PG上的每一次狀態(tài)變更的歷史信息(稱為 epoch )。

MDSs : Ceph 元數(shù)據(jù)服務(wù)器為 Ceph 文件系統(tǒng)存儲元數(shù)據(jù)(也就是說,Ceph 塊設(shè)備和 Ceph 對象存儲不使用MDS )。元數(shù)據(jù)服務(wù)器使得 POSIX 文件系統(tǒng)的用戶們,可以在不對 Ceph 存儲集群造成負擔的前提下,執(zhí)行諸如 ls、find 等基本命令。

CephMgr :在一個主機上的守護進程,負責運行指標,運行狀態(tài),性能負載,

其他術(shù)語:

RADOS:多個主機組成的存儲集群,即可靠,自動化,分布式的對象存儲系統(tǒng)。

File:? 就是普通文件,ObjectRADOS看到的對象,Object與File的區(qū)別是, Object的最大尺寸由RADOS限定(通常為2MB或4MB) ,以便實現(xiàn)底層存儲的組織管理。因此,當上層應(yīng)用向RADOS存入尺寸很大的File時,需要將File切分成統(tǒng)一大小的一系列Objet (最后一個的大小可以不同)進行存儲。

librados:RADOS集群的API,支持大部分主流語言。

Pool:存儲池,大小取決于底層的存儲空間。

PG:placeholder group,一個pool(存儲池)內(nèi)可以有多個PG,pool個pg都是抽象的邏輯概念,可以通過公示計算。PG的用途是對Object的存儲進行組織和位置映射的。具體而言,一個PG負責組織若干個Object,但一個Obiect只能被映射到一個PG中,即PG和Object之間是“一對多”的映射關(guān)系。同時,一個PG會被映射到n個OSD上,而每個OSD上都會承載大量的PG,即PG和OSD之間是“多對多”的隱寬映射關(guān)系。在實踐當中,n至少為2,如果用于生產(chǎn)環(huán)境,則至少為3。一個OSD上的PG可達到數(shù)百個。事實上, PG數(shù)量的設(shè)置關(guān)系到數(shù)據(jù)分布的均勻性問題。

OSD daemon:默認每2秒發(fā)送狀態(tài)數(shù)據(jù)給monitor,(同時監(jiān)控組內(nèi)其他OSD的狀態(tài))(up 可以提供IO,down不能提供,in有數(shù)據(jù),out沒有數(shù)據(jù))

PG和OSD之間的關(guān)系通過CRUSH算法得出的。常規(guī)這三個 OSD daemon 可以在一臺機器上,也可以在不同機灶饑亮器上;那么根據(jù) CRUSH 算法會盡可能的保證一個平衡,就是不在同一個機器上;畢竟Ceph中的數(shù)據(jù)是一個為平衡的狀態(tài),一切都是通過CRUSH 算法來實現(xiàn)的數(shù)據(jù)平衡,而 PG 本身是個有序列表,位于第一的位置是 master;這個列表的產(chǎn)生是由 monitor 來產(chǎn)生的;

尋址流程

File-Object映射 這次映射的目的是,將用戶要操作的File映射為RADOS能夠處理的Object,其十分簡單,本質(zhì)上就是按照Object的最大尺寸(默認4M)對File進行切分,相當于磁盤陣列中的條帶化過程。這種切分的好處有兩個:一是讓大小不限的File變成具有一致的最大尺寸、可以被RADOS高效管理的Object;二是讓對單一File實施的串行處理變?yōu)閷Χ鄠€Object實施的并行化處理。每一個切分后產(chǎn)生的Object將獲得唯一的oid,即Object ID,其產(chǎn)生方式也是線性映射,極其簡單。 Object →PG映射 在File被映射為1個或多個Object之后,就需要將每個Object獨立地映射到1個PG中去。這個映射過程也很簡單,如圖所示,其計算公式如下:Hash(oid) mask - pgid由此可見,其計算由兩步組成。首先,使用Ceph系統(tǒng)指定的一個靜態(tài)哈希算法計算oid的哈希值,將oid映射為一個近似均勻分布的偽隨機值。然后,將這個偽隨機值和mask按位相與,得到最終的PG序號(pgid) 。根據(jù)RADOS的設(shè)計,給定PG的總數(shù)為m(m應(yīng)該為2的整數(shù)冪),則mask的值為m-1。因此,哈希值計算和按位與操作的整體結(jié)果事實上是從所有m個PG中近似均勻地隨機選擇1個。基于這一機制,當有大量Object和大量PG時, RADOS能夠保證Object和PG之間的近似均勻映射。又因為Object是由File切分而來的,大部分Object的尺寸相同,因此,這一映射最終保證了各個PG中存儲的Object的總數(shù)據(jù)量近似均勻。這里反復(fù)強調(diào)了“大量” ,意思是只有當Object和PG的數(shù)量較多時,這種偽隨機關(guān)系的近似均勻性才能成立, Ceph的數(shù)據(jù)存儲均勻性才有保證。為保證“大量”的成立,一方面, Object的最大尺寸應(yīng)該被合理配置,以使得同樣數(shù)量的File能夠被切分成更多的Object;另一方面, Ceph也推薦PG總數(shù)應(yīng)該為OSD總數(shù)的數(shù)百倍,以保證有足夠數(shù)量的PG可供映射。 PG→ OSD映射 第3次映射就是將作為Object的邏輯組織單元的PG映射到數(shù)據(jù)的實際存儲單元OSD上。RADOS采用一個名為CRUSH的算法,將pgid代入其中,然后得到一組共n個OSD。這n個OSD共同負責存儲和維護一個PG中的所有Objecto前面提到過, n的數(shù)值可以根據(jù)實際應(yīng)用中對于可靠性的需求而配置,在生產(chǎn)環(huán)境下通常為3。具體到每個OSD,則由其上運行的OSD Daemon負責執(zhí)行映射到本地的Object在本地文件系統(tǒng)中的存儲、訪問、元數(shù)據(jù)維護等操作。和“Object →PG"映射中采用的哈希算法不同, CRUSH算法的結(jié)果不是絕對不變的,而會受到其他因素的影響。其影響因素主要有兩個。一是當前系統(tǒng)狀態(tài),也就是在前面有所提及的集群運行圖。當系統(tǒng)中的OSD狀態(tài)、數(shù)量發(fā)生變化時,集群運行圖也可能發(fā)生變化,而這種變化將會影響到PG與OSD之間的映射關(guān)系。二是存儲策略配置。這里的策略主要與安全相關(guān)。利用策略配置,系統(tǒng)管理員可以指定承載同一個PG的3個OSD分別位于數(shù)據(jù)中心的不同服務(wù)器或機架上,從而進一步改善存儲的可靠性。因此,只有在系統(tǒng)狀態(tài)和存儲策略都不發(fā)生變化的時候, PG和OSD之間的映射關(guān)系才是固定不變的。在實際使用中,策略一經(jīng)配置通常不會改變。而系統(tǒng)狀態(tài)的改變或是因為設(shè)備損壞,或是因為存儲集群規(guī)模擴大。好在Ceph本身提供了對這種變化的自動化支持,因而,即便PG與OSD之間的映射關(guān)系發(fā)生了變化,也并不會對應(yīng)用產(chǎn)生影響。事實上, Ceph正是利用了CRUSH算法的動態(tài)特性,可以將一個PG根據(jù)需要動態(tài)遷移到不同的OSD組合上,從而自動化地實現(xiàn)高可靠性、數(shù)據(jù)分布再平衡等特性。之所以在此次映射中使用CRUSH算法,而不使用其他哈希算法,一方面原因是CRUSH算法具有上述可配置特性,可以根據(jù)管理員的配置參數(shù)決定OSD的物理位置映射策略;另一方面原因是CRUSH算法具有特殊的“穩(wěn)定性" ,也即,當系統(tǒng)中加入新的OSD,導(dǎo)致系統(tǒng)規(guī)模增大時,大部分PG與OSD之間的映射關(guān)系不會發(fā)生改變,只有少部分PG的映射關(guān)系會發(fā)生變化并引發(fā)數(shù)據(jù)遷移。這種可配置性和穩(wěn)定性都不是普通哈希算法所能提供的。因此, CRUSH算法的設(shè)計也是Ceph的核心內(nèi)容之一。 至此為止, Ceph通過3次映射,完成了從File到Object. Object到PG,PG再到OSD的整個映射過程。從整個過程可以看到,這里沒有任何的全局性查表操作需求。至于唯一的全局性數(shù)據(jù)結(jié)構(gòu):集群運行圖。它的維護和操作都是輕量級的,不會對系統(tǒng)的可擴展性、性能等因素造成影響 。

存儲過程總結(jié):

1.計算文件到對象的映射

2.通過哈希算法計算計算出文件對應(yīng)的pool的PG

3.通過CRUSH把對象映射到PG中的OSD

4.PG種的OSD將對象寫入到磁盤

5.主OSD將數(shù)據(jù)同步到備份OSD,待備份OSD返回確認

6.主OSD的到備份OSD寫完操作以后給客戶的返回寫入成功

2. ceph的讀寫流程

當某個客戶端需要向Ceph集群寫入一個File時,首先需要在本地完成尋址流程,將File變?yōu)橐粋€Object,然后找出存儲該Object的一組共3個OSD,這3個OSD具有各自不同的序號,序號最靠前的那個OSD就是這一組中的Primary OSD,而后兩個則依次Secondary OSD和Tertiary OSD。找出3個OSD后,客戶端將直接和Primary OSD進行通信,發(fā)起寫入操作(步驟1)。 Primary OSD收到請求后,分別向Secondary OSD和Tertiary OSD發(fā)起寫人操作(步驟2和步驟3)。當Secondary OSD和Tertiary OSD各自完成寫入操作后,將分別向Primary OSD發(fā)送確認信息(步驟4和步驟5)。當Primary OSD確認其他兩個OSD的寫入完成后,則自己也完成數(shù)據(jù)寫入,并向客戶端確認Object寫入操作完成(步驟6)。之所以采用這樣的寫入流程,本質(zhì)上是為了保證寫入過程中的可靠性,盡可能避免出現(xiàn)數(shù)據(jù)丟失的情況。同時,由于客戶端只需要向Primary OSD發(fā)送數(shù)據(jù),因此在互聯(lián)網(wǎng)使用場景下的外網(wǎng)帶寬和整體訪問延遲又得到了一定程度的優(yōu)化。當然,這種可靠性機制必然導(dǎo)致較長的延遲,特別是,如果等到所有的OSD都將數(shù)據(jù)寫入磁盤后再向客戶端發(fā)送確認信號,則整體延遲可能難以忍受。因此, Ceph可以分兩次向客戶端進行確認。當各個OSD都將數(shù)據(jù)寫入內(nèi)存緩沖區(qū)后,就先向客戶端發(fā)送一次確認,此時客戶端即可以向下執(zhí)行。待各個OSD都將數(shù)據(jù)寫入磁盤后,會向客戶端發(fā)送一個最終確認信號,此時客戶端可以根據(jù)需要刪除本地數(shù)據(jù)。分析上述流程可以看出,在正常情況下,客戶端可以獨立完成OSD尋址操作,而不必依賴于其他系統(tǒng)模塊。因此,大量的客戶端可以同時和大量的OSD進行并行操作。同時,如果一個File被切分成多個Object,這多個Object也可被并行發(fā)送至多個OSD上。從OSD的角度來看,由于同一個OSD在不同的PG中的角色不同,因此,其工作壓力也可以被盡可能均勻地分擔,從而避免單個OSD變成性能瓶頸。

問:為什么要設(shè)計三層映射而不是一層?

答:如果將object直接映射到一組OSD上,如果這種算法是固定的哈希算法,則意味著一個object被固定映射在一組OSD上,當其中一個OSD損壞時,object也無法部署到新的OSD上(因為映射函數(shù)不允許)。

如果設(shè)計一個動態(tài)算法(例如CRUSH算法)來完成這一映射,結(jié)果將是各個OSD所處理的本地元數(shù)據(jù)暴增,由此帶來的計算復(fù)雜度和維護工作量也是難以承受的。

綜上所訴,引入PG的好處至少有二:一方面試下呢object和OSD之間的動態(tài)映射,從而為Ceph的可靠性、自動化等特性的實現(xiàn)留下了空間;另一方面也有效簡化了數(shù)據(jù)的存儲組織,大大降低了系統(tǒng)的維護管理開銷。

1.準備工作

時間同步`

安裝ntpdate(時間同步工具)

# apt install ntpate

0* * * * ntpdate time1.aliyun點抗

echo'0 * * * * ntpdate time1.aliyun點抗 ' /var/spool/cron/crontabs/root

或者 可以通過

ansible all-mshell-a"echo? '0 * * * * ntpdate time1.aliyun點抗 ' /var/spool/cron/crontabs/root"

關(guān)閉 selinux 和防火墻

root@node1:~# sudo ufw status? ##查看狀態(tài)

Status: inactive

root@node1:~# sudo ufw disable

Firewall stopped and disabled on system startup##禁用

root@node1:~#

配置域名解析或通過 DNS 解析

root@node1:~# cat /etc/hosts

127.0.0.1 localhost

root@node1:~# hostnamectl set-hostname 對應(yīng)的名稱

## 以下是新增的 可以按照自己的習慣配置

192.168.106.101? node1

192.168.106.102? node2

192.168.106.103? node3

安裝python

root@node1:~# apt install python? ##python2

源修改成國內(nèi)源? -- 具體步驟自行百度

阿里云鏡像倉庫

網(wǎng)易鏡像倉庫

清華大學鏡像源

ceph用到的端口 (防火墻和安全中記得放開)

Ceph Monitor:啟用 Ceph MON 服務(wù)或端口 6789 (TCP)。

Ceph OSD 或元數(shù)據(jù)服務(wù)器:啟用 Ceph OSD/MDS 服務(wù)或端口 6800-7300 (TCP)。

iSCSI 網(wǎng)關(guān):打開端口 3260 (TCP)。

對象網(wǎng)關(guān):打開對象網(wǎng)關(guān)通訊所用的端口。此端口在 /etc/ceph.conf 內(nèi)以 rgw frontends = 開頭的行中設(shè)置。HTTP 的默認端口為 80,HTTPS (TCP) 的默認端口為 443。

NFS Ganesha:默認情況下,NFS Ganesha 使用端口 2049(NFS 服務(wù)、TCP)和 875 (rquota 支持、TCP)。

SSH:打開端口 22 (TCP)。

NTP:打開端口 123 (UDP)。

2.搭建ceph集群

安裝cephadm

root@node1:~#? wget ## node1 管理節(jié)點上執(zhí)行

root@node1:~#? chmod +x cephadm

root@node1:~# ./cephadm add-repo --release pacific? ##設(shè)置要安裝的版本

root@node1:~#? which cephadm ? ##確認是否安裝成功

初始化集群

root@node1:~# cephadm bootstrap --mon-ip 192.168.106.101 ? ##ceph集群第一個節(jié)點的ip

初始化完了以后就可以訪問dashboard了 地址 : 訪問用戶密碼上一步生成

添加其他節(jié)點和其他組件

root@node1:~# ssh-keygen

## 配置免密通信

root@node1:~#? ssh-copy-id -f -i /etc/ceph/ceph.pub root@node2

root@node1:~#? ssh-copy-id -f -i /etc/ceph/ceph.pub root@node3

## 添加node

root@node1:~#? ceph orch host add node2 192.168.106.102

root@node1:~#? ceph orch host add node3 192.168.106.103

## 添加osd

root@node1:~#? ceph orch daemon add osd node1:/dev/sdb

root@node1:~#? ceph orch daemon add osd node1:/dev/sdb

root@node1:~#? ceph orch daemon add osd node3:/dev/sdb

測試

root@node1:~#? ceph fs volume create testfs? ##添加測試fs

root@node1:~#? ceph orch apply mds testfs --placement="3" ##設(shè)置備份數(shù)

root@node1:~# ? ceph orch daemon add mds testfs node1

root@node1:~# ? ceph mds stat

## 在集群之外的或者任意機器上操作

root@node4:~#? apt install ceph-common -y

node1初始化集群的節(jié)點操作

root@node1:~#? scp /etc/ceph/ceph.client.admin.keyring user@node4:/etc/ceph

##? 集群之外的clinet或者測試節(jié)點執(zhí)行

root@node4:~#? mount -t ceph node1:/ /mnt/testfs -o name=admin,secret=AQAoJjBh7OPVNhAAQZyzLhDfgSj+KPmeU5RVlA==,fs=testfs ?

root@node4:~#? mount -t ceph node2:/ /mnt/cephfs -o name=admin,secret=AQAoJjBh7OPVNhAAQZyzLhDfgSj+KPmeU5RVlA==,fs=testfs

root@node4:~#? df -h

Filesystem ? ? ? ? ? ? ? ?? Size? Used Avail Use% Mounted on

udev1.4G01.4G0% /dev

tmpfs ? ? ? ? ? ? ? ? ? ? ? 293M1.2M? 292M1% /run

....

192.168.106.101:/ ? ? ? ? ?? 18G 1000M ? 17G6% /mnt/testfs

192.168.106.102:/ ? ? ? ? ?? 18G 1000M ? 17G6% /mnt/cephfs

root@node4:~#? cd /mnt/cephfs

root@node4:/mnt/cephfs#? dd if=/dev/zero of=test bs=1M count=100 ##生成文件

這時候文件是直接寫在ceph集群上看了, 可以通過dashboard觀察????。

文章標題:安全服務(wù)器組件高可用 服務(wù)器安全硬件
分享鏈接:http://chinadenli.net/article7/dsphhij.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)軟件開發(fā)自適應(yīng)網(wǎng)站做網(wǎng)站網(wǎng)站維護靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計