é群管ç
æ¯æ¬¡ç¨å½ä»¤å¯å¨ãéå¯ã忢Ceph宿¤è¿ç¨ï¼ææ´ä¸ªéç¾¤ï¼æ¶,å¿ é¡»æå®è³å°ä¸ä¸ªé项åä¸ä¸ªå½ä»¤,è¿å¯è½è¦æå®å®æ¤è¿ç¨ç±»åæå ·ä½ä¾ç¨ã
**å½ä»¤æ ¼å¼å¦
{commandline} [options] [commands] [daemons]
常ç¨çcommandline为"ceph",对åºçoptionså¦ä¸è¡¨:
éè¿SysVinitæºå¶è¿è¡ceph:
å¨ CentOSãRedhatãFedoraåSUSEåè¡çä¸å¯ä»¥éè¿ä¼ ç»çSysVinitè¿è¡Cephï¼Debian/Ubuntuçè¾èççæ¬ä¹å¯ä»¥ç¨æ¤æ¹æ³ã
使ç¨SysVinit管çCeph宿¤è¿ç¨çè¯æ³å¦ä¸:
[root@ceph ~] sudo /etc/init.d/ceph [options] [start|restart] [daemonType|daemonID]
1. 管çCephé群å
ææç±»åç宿¤è¿ç¨ï¼
éè¿ç¼ºç[daemonType|daemonID],å¹¶æ·»å "-a" options,å°±å¯ä»¥è¾¾å°åæ¶å¯¹é群å
ææç±»åç宿¤è¿ç¨è¿è¡å¯å¨ãå
³éãéå¯çæä½ç®çã
å¯å¨é»è®¤é群(ceph)ææå®æ¤è¿ç¨:
[root@ceph ~] sudo /etc/init.d/ceph -a start
忢é»è®¤é群(ceph)ææå®æ¤è¿ç¨:
[root@ceph ~] sudo /etc/init.d/ceph -a stop
妿æªä½¿ç¨"-a"é项,以ä¸å½ä»¤åªä¼å¯¹å½åèç¹å
ç宿¤è¿ç¨çæã
2. 管çCephé群å
æå®ç±»åç宿¤è¿ç¨ï¼
æ ¹æ®å½ä»¤è¯æ³,è¦å¯å¨å½åèç¹ä¸æä¸ç±»ç宿¤è¿ç¨,åªéæå®å¯¹åºç±»ååIDå³å¯ã
å¯å¨è¿ç¨,以OSDè¿ç¨ä¸ºä¾ï¼
#å¯å¨å½åèç¹å
ææOSDè¿ç¨
[root@ceph ~] sudo /etc/init.d/ceph start osd
#å¯å¨å½åèç¹å
æä¸ä¸ªOSDè¿ç¨,以osd.0为ä¾
[root@ceph ~] sudo /etc/init.d/ceph start osd.0
éå¯åå
³éè¿ç¨,以OSDè¿ç¨ä¸ºä¾:
#å
³éå½åèç¹å
ææOSDè¿ç¨
[root@ceph ~] sudo /etc/init.d/ceph stop osd
#å
³éå½åèç¹å
æä¸ä¸ªOSDè¿ç¨,以osd.0为ä¾
[root@ceph ~] sudo /etc/init.d/ceph stop osd.0
#éå¯å½åèç¹å
ææOSDè¿ç¨
[root@ceph ~] sudo /etc/init.d/ceph restart osd
#éå¯å½åèç¹å
æä¸ä¸ªOSDè¿ç¨,以osd.0为ä¾
[root@ceph ~] sudo /etc/init.d/ceph restart osd.0
éç¾¤ç¶æçæ§
1. æ£æ¥é群å¥åº·ç¶åµ
æ£æ¥Cephéç¾¤ç¶æ
[root@ceph ~] ceph health [detail]
妿é群å¤äºå¥åº·ç¶æ,ä¼è¾åºHEALTH_OK,妿è¾åºHEALTH_WARNçè³HEALTH_ERR,表æCephå¤äºä¸ä¸ªä¸æ£å¸¸ç¶æ,å¯ä»¥å ä¸"detail"é项叮婿æ¥é®é¢ã
å¿«éäºè§£Cephé群æ¦åµ:
[root@ceph ~] sudo ceph -s
#è¾åºçå
容大è´å¦ä¸:
cluster b370a29d-xxxx-xxxx-xxxx-3d824f65e339
health HEALTH_OK
monmap e1: 1 mons at {ceph1=10.x.x.8:6789/0}, election epoch 2, quorum 0 ceph1
osdmap e63: 2 osds: 2 up, 2 in
pgmap v41338: 952 pgs, 20 pools, 17130 MB data, 2199 objects
115 GB used, 167 GB / 297 GB avail
952 active+clean
éè¿ä»¥ä¸å½ä»¤,å¯ä»¥å¿«éäºè§£Cephé群çclusterID,healthç¶åµ,以åmonitorãOSDãPGçmapæ¦åµã
妿éè¦å®æ¶è§å¯Cephéç¾¤ç¶æååï¼å¯ä½¿ç¨å¦ä¸å½ä»¤ï¼
[root@ceph ~] sudo ceph -w
2. æ£æ¥é群容éä½¿ç¨æ
åµ
[root@ceph ~] sudo ceph df
#è¾åºçå
容大è´å¦ä¸
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
1356G 1284G 73943M 5.32
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
images 1 24983M 1.80 421G 3158
volumes 2 32768k 0 421G 20
vms 3 3251M 0.23 421G 434
è¾åºçGLOBAL段æ¾ç¤ºäºæ°æ®æå ç¨é群åå¨ç©ºé´æ¦åµã
SIZE: éç¾¤çæ»å®¹é
AVAIL: éç¾¤çæ»ç©ºé²å®¹é
RAW USED: å·²ç¨åå¨ç©ºé´æ»é
%RAW USED: å·²ç¨åå¨ç©ºé´ç¾åæ¯
è¾åºçPOOLS段å±ç¤ºäºå卿± å表ååå卿± ç大è´ä½¿ç¨çãæ¬æ®µæ²¡æå±ç¤ºå¯æ¬ãå
éååå¿«ç
§å ç¨æ
åµã ä¾å¦,æ1MBçæ°æ®åå¨ä¸ºå¯¹è±¡,ç论使ç¨éå°æ¯1MB,ä½èèå°å¯æ¬æ°ãå
éæ°ãåå¿«ç
§æ°,å®é
使ç¨éå¯è½æ¯2MBææ´å¤ã
NAME: å卿± å
ID: å卿± å¯ä¸æ è¯ç¬¦
USED: 使ç¨é,åä½å¯ä¸ºKBãMBæGB,以è¾åºç»æä¸ºå
%USED: å卿± ç使ç¨ç
MAX AVAIL: å卿± çæå¤§å¯ç¨ç©ºé´
OBJECTS: å卿± å
çobject个æ°
注:POOLS 段å
çæ°åæ¯ç论å¼,å®ä»¬ä¸å
å«å¯æ¬ãå¿«ç
§æå
éãå æ¤,å®ä¸USEDå%USEDæ°éä¹åä¸ä¼è¾¾å°GLOBAL段ä¸çRAW USEDå %RAW USEDæ°éã
PG管çæä½
PG(å½ç½®ç»)æ¯å¤ä¸ªobjectçé»è¾åå¨éå,æ¯ä¸ªPG伿 ¹æ®å¯æ¬çº§å«è被å¤å¶å¤ä»½ãä¸ä¸ªPOOLçPG个æ°å¯ä»¥å¨åå»ºæ¶æå®,ä¹å¯ä»¥å¨ä¹åè¿è¡æ©å¤§,使¯éè¦æ³¨æçæ¯,ç®åCephå°ä¸æ¯æåå°POOLä¸çPG个æ°ã
1. é¢å®ä¹PG个æ°
Ceph对äºé群å
PGçæ»ä¸ªæ°æå¦ä¸å
¬å¼:
ï¼OSD个æ°\*100ï¼/ 坿¬æ° = PGs
以ä¸å
¬å¼è®¡ç®å¾åºç»æå,ååä¸ä¸ªä¸ä¹è¾å¤§ç2çå¹çå¼,便å¯ä½ä¸ºéç¾¤çæ»PGæ°ãä¾å¦,ä¸ä¸ªé
ç½®äº200个OSDä¸å¯æ¬æ°ä¸º3çé群,计ç®è¿ç¨å¦ä¸:
(200\*100)/3 = 6667. Nearest power of 2 : 8192
å¾å°8192å,å¯ä»¥æ ¹æ®é群å
æé建ç«çPOOLç个æ°åç¨éçè¦ç´ ,è¿è¡PGååãå
·ä½ååç»å请åèå® æ¹è®¡ç®å·¥å
· PGcalc: http://ceph.com/pgcalc/
2. 设置PGæ°é
è¦è®¾ç½®æä¸ªPOOLçPGæ°é(pg_num),å¿
é¡»å¨å建POOLæ¶ä¾¿æå®,å½ä»¤å¦ä¸:
[root@ceph ~] sudo ceph osd pool create "pool-name" pg_num [pgp_num]
[root@ceph ~] sudo ceph osd pool create image 256 256
éè¦æ³¨æçæ¯,å¨åç»å¢å PGæ°éæ¶,è¿å¿
é¡»å¢å ç¨äºå½ç½®PGçPGPæ°é(pgp_num),PGPçæ°éåºè¯¥ä¸PGçæ°éç¸çãä½å¨æ°å¢POOLæ¶å¯ä»¥ä¸æå®pgp_num,é»è®¤ä¼ä¸pg_numä¿æä¸è´ã
æ°å¢PGæ°é:
[root@ceph ~] sudo ceph osd pool set "pool-name" pg_num [pgp_num]
[root@ceph ~] sudo ceph osd pool set image 512 512
3. æ¥çPGä¿¡æ¯
è¥éè¦è·åæä¸ªPOOLçPGæ°éæPGPæ°é,å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool get "pool-name" pg_num/pgp_num
[root@ceph ~] sudo ceph osd pool get image pg_num
pg_num : 512
[root@ceph ~] sudo ceph osd pool get image pgp_num
pgp_num : 512
è¥è¦è·åé群éPGçç»è®¡ä¿¡æ¯,å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤,å¹¶æå®è¾åºæ ¼å¼:
#䏿å®è¾åºæ ¼å¼çæ
åµä¸,ä¼è¾åºçº¯ææ¬å
容,坿宿 ¼å¼ä¸ºjson
[root@ceph ~] sudo ceph pg dump [--format json]
è¥è¦è·åç¶æä¸æ£å¸¸çPGçç¶æ,å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤:
[root@ceph ~] sudo ceph pg dump_stuck inactive|unclean|stale|undersized|degraded [--format <format>]
4. PGç¶ææ¦è¿°
ä¸ä¸ªPGå¨å®ççå½å¨æçä¸åæ¶å»å¯è½ä¼å¤äºä»¥ä¸å ç§ç¶æä¸:
Creating(å建ä¸)
å¨å建POOLæ¶,éè¦æå®PGçæ°é,æ¤æ¶PGçç¶æä¾¿å¤äºcreating,æææ¯Cephæ£å¨å建PGã
Peering(äºèä¸)
peeringçä½ç¨ä¸»è¦æ¯å¨PGåå
¶å¯æ¬æå¨çOSDä¹é´å»ºç«äºè,并使å¾OSDä¹é´å°±è¿äºPGä¸çobjectåå
¶å
æ°æ®è¾¾æä¸è´ã
Active(æ´»è·ç)
å¤äºè¯¥ç¶ææå³çæ°æ®å·²ç»å®å¥½çä¿åå°äºä¸»PGå坿¬PGä¸,å¹¶ä¸Cephå·²ç»å®æäºpeeringå·¥ä½ã
Clean(æ´æ´ç)
å½æä¸ªPGå¤äºcleanç¶ææ¶,å说æå¯¹åºç主OSDå坿¬OSDå·²ç»æåäºè,并䏿²¡æå离çPGã乿å³çCephå·²ç»å°è¯¥PGä¸ç对象æç
§è§å®ç坿¬æ°è¿è¡äºå¤å¶æä½ã
Degraded(é级ç)
å½æä¸ªPGç坿¬æ°æªè¾¾å°è§å®ä¸ªæ°æ¶,该PG便å¤äºdegradedç¶æ,ä¾å¦:
å¨å®¢æ·ç«¯å主OSDåå
¥objectçè¿ç¨,objectç坿¬æ¯ç±ä¸»OSDè´è´£å坿¬OSDåå
¥ç,ç´å°å¯æ¬OSDå¨å建object坿¬å®æ,å¹¶å主OSDååºå®æä¿¡æ¯å,该PGçç¶æé½ä¼ä¸ç´å¤äºdegradedç¶æã
åæè
æ¯æä¸ªOSDçç¶æåæäºdown,é£ä¹è¯¥OSDä¸çææPGé½ä¼è¢«æ 记为degradedã
å½Cephå 为æäºåå æ æ³æ¾å°æä¸ªPGå
çä¸ä¸ªæå¤ä¸ªobjectæ¶,该PGä¹ä¼è¢«æ 记为degradedç¶æãæ¤æ¶å®¢æ·ç«¯ä¸è½è¯»åæ¾ä¸å°ç对象,使¯ä»ç¶è½è®¿é®ä½äºè¯¥PGå
çå
¶ä»objectã
Recovering(æ¢å¤ä¸)
å½æä¸ªOSDå 为æäºåå downäº,该OSDå
PGçobjectä¼è½åäºå®æå¯¹åºçPG坿¬ãèå¨è¯¥OSDéæ°upä¹å,该OSDä¸çå
容å¿
é¡»æ´æ°å°å½åç¶æ,å¤äºæ¤è¿ç¨ä¸çPGç¶æä¾¿æ¯recoveringã
Backfilling(åå¡«)
彿æ°çOSDå å
¥é群æ¶,CRUSHä¼æç°æé群å
çé¨åPGåé
ç»å®ãè¿äºè¢«éæ°åé
å°æ°OSDçPGç¶æä¾¿å¤äºbackfillingã
Remapped(éæ å°)
å½è´è´£ç»´æ¤æä¸ªPGçacting setåæ´æ¶,PGéè¦ä»åæ¥çacting setè¿ç§»è³æ°çacting setãè¿ä¸ªè¿ç¨éè¦ä¸æ®µæ¶é´,æä»¥å¨æ¤æé´,ç¸å
³PGçç¶æä¾¿ä¼æ 记为remappedã
Stale(éæ§ç)
é»è®¤æ
åµä¸,OSD宿¤è¿ç¨æ¯åç§é便ä¼åMonitoræ¥åå
¶PGçç¸å
³ç¶æ,妿æä¸ªPGç主OSDæå¨acting set没è½åMonitorå鿥å,æè
å
¶ä»çMonitorå·²ç»æ¥å该OSD为downæ¶,该PG便ä¼è¢«æ 记为staleã
Monitor管çæä½
1. æ£æ¥é群å
Monitorç¶æ
å¦æä½ æå¤ä¸ªçè§å¨(å¾å¯è½),ä½ å¯å¨é群åãè¯»åæ°æ®ååºè¯¥æ£æ¥çè§å¨æ³å®äººæ°ç¶æãè¿è¡çå¤ä¸ªçè§å¨æ¶å¿
é¡»å½¢ææ³å®äººæ°,æå¥½å¨ææ§å°æ£æ¥çè§å¨ç¶ææ¥ç¡®å®å®ä»¬å¨è¿è¡ã
è¦æ¥çmonmap,å¯ä»¥æ§è¡å¦ä¸å½ä»¤:
[root@ceph ~] sudo ceph mon stat
#è¾åºå
容大è´å¦ä¸:
e3: 3 mons at {controller-21=172.x.x.21:6789/0,controller-22=172.x.x.22:6789/0,
controller-23=172.x.x.23:6789/0}, election epoch 48710,
quorum 0,1,2 controller-21,controller-22,controller-23
éè¿ä»¥ä¸ä¿¡æ¯å¯ä»¥äºè§£å°é群å
monmapçæ¬ä¸º3,å
±æ3个Monitor宿¤è¿ç¨,åå«å¤äºåªäºä¸»æº( 主æºåãIPå°åã端å£å·)ä¸,å½åçMonitoréä¸¾çæ¬ä¸º48710,Monitoré群å
çæ³å®çè§å¨å
±æ3个(æ¾ç¤ºçqourumIDä¸ªæ°æ»å),以åå®ä»¬çMonitorIDã
妿叿è¿ä¸æ¥äºè§£monmap,å¯ä»¥éè¿å¦ä¸å½ä»¤æ¥ç:
[root@ceph ~] sudo ceph mon dump
#è¾åºå
容大è´å¦ä¸:
dumped monmap epoch 3
epoch 3
fsid 86673d4c-xxxx-xxxx-xxxx-b61e6681305d
last_changed 2016-09-02 16:05:02.120629
created 2016-09-02 16:03:39.311083
0: 172.16.130.21:6789/0 mon.controller-21
1: 172.16.130.22:6789/0 mon.controller-22
2: 172.16.130.23:6789/0 mon.controller-23
éè¿ä»¥ä¸ä¿¡æ¯å¯ä»¥é¢å¤äºè§£å°monmapå建æ¶é´åæè¿ä¸æ¬¡ä¿®æ¹æ¶é´ã
è¦è·ç¥Cephé群å
Monitoré群æ³å®çè§å¨çæ
åµ,å¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤æ¥ç:
[root@ceph ~] sudo ceph quorum_status
#è¾åºå
容大è´å¦ä¸:
{"election_epoch":48710,"quorum":[0,1,2],
"quorum_names":["controller-21","controller-22","controller-23"],
"quorum_leader_name":"controller-22",
"monmap":{"epoch":3,
"fsid":"86673d4c-xxx-xxxx-xxxxx-b61e6681305d",
"modified":"2016-09-02 16:05:02.120629",
"created":"2016-09-0216:03:39.311083",
"mons":[{"rank":0,"name":"controller-21","addr":"172.16.130.21:6789\ / 0"},
{"rank":1,"name":"controller-22","addr":"172.16.130.22:6789\/0"},
{"rank":2,"name":"controller-23","addr":"172.16.130.23:6789\/0"}]}}
éè¿ä»¥ä¸ä¿¡æ¯,å¯ä»¥äºè§£å°Monitoré群æ³å®çè§å¨ç个æ°,以åçè§å¨leaderã
2. å®é
ä¸å¡åºæ¯
åºæ¯ä¸ã使ç¨ceph-deployæ°å¢monèç¹
éæ±ï¼äº§åæ åé¨ç½²å®ææ¶ï¼ceph monä¸è¬ä¼é¨ç½²å¨æäºOSDèç¹ä¸ï¼éè¦å°monæå°å
¶ä»èç¹ä¸ã
æä½æ¥éª¤ï¼
使ç¨ceph-deployæ°å»ºmon
[root@host-name ~]#ceph-deploy mon create {host-name [host-name]...}
[root@host-name ~]#ceph-deploy mon create newhostname
注æäºé¡¹ï¼
1ã使ç¨ceph-deployå½ä»¤çèç¹ä¸å¿
é¡»æç¸åºæéï¼å¯ä»¥ä½¿ç¨ceph-deploy gatherkeyså½ä»¤åé
æé
2ã使ç¨ceph-deployæ°å¢çmonitoré»è®¤ä¼ä½¿ç¨ceph publicç½ç»
忢忬å¨è®¡ç®èç¹ä¸çmonè¿ç¨ï¼éªè¯é群æ¯å¦æ£å¸¸ï¼å¦ææ£å¸¸åè¿è¡ä¸ä¸æ¥ã
[root@host-name ~]# /etc/init.d/ceph stop mon
å é¤åæ¬å¨è®¡ç®èç¹ä¸çmonitorã
[root@host-name ~]# ceph-deploy mon destroy {host-name [host-name]...}
[root@host-name ~]# ceph-deploy mon destroy oldhostname
ä¿®æ¹é
ç½®æä»¶ä¸å
³äºmonçé
ç½®ï¼ä¸è¦ä½¿ç¨ä¸»æºåï¼åºç´æ¥ä½¿ç¨IPï¼publicç½ç»ï¼ï¼ä¹å忥尿æcephèç¹ä¸å¹¶é坿æmonè¿ç¨ã
注æäºé¡¹ï¼
ç±äºé»è®¤æ
åµä¸ï¼ä¸»æºååIPç对åºå
³ç³»æ¯ä½¿ç¨ç管çç½ç»ï¼è使ç¨ceph-deployæ°å¢çmonitoré»è®¤ä¼ä½¿ç¨ceph publicç½ç»æä»¥éè¦ä¿®æ¹é
ç½®æä»¶ä¸"mon_intial_members"å"mon_host"ä¸ç主æºå为ipå°åã
åºæ¯äºãä»ä¸ä¸ªmonitorç¶æå¼å¸¸çCephé群ä¸è·åmonmap
éæ±ï¼å½ä¸ä¸ªCephé群çmonitoréç¾¤ç¶æåºç°å¼å¸¸æ¶ï¼é群çåºæ¬å½ä»¤é½æ æ³ä½¿ç¨ï¼è¿ä¸ªæ¶åå¯ä»¥å°è¯æååºmonmapï¼å¸®å©ææ¥é®é¢ã
æä½æ¥éª¤ï¼
1, 导åºé群monmap
[root@host-name ~]# ceph-mon -i mon-host-name --extract-monmap /tmp/monmap-file
注æï¼ä»¥ä¸å½ä»¤å¨monç¶ææ£å¸¸çèç¹ä¸æ æ³ä½¿ç¨ã伿¥å¦ä¸é误ï¼
IO error: lock /var/lib/ceph/mon/ceph-cont01/store.db/LOCK: Resource temporarily unavailable
2, 使ç¨monmaptoolæ¥ç
[root@host-name ~]# monmaptool --print /tmp/monmap-file
monmaptool: monmap file /tmp/monmap
epoch 3
fsid 86673d4c-xxxx-xxxx-xxxx-b61e6681305d
last_changed 2016-10-13 16:17:33.590245
created 2016-10-13 16:16:33.801453
0: 172.16.50.136:6789/0 mon.cont01
1: 172.16.50.137:6789/0 mon.cont02
2: 172.16.50.138:6789/0 mon.cont03
OSD管çæä½
1. OSDç¶æ
å个OSDæä¸¤ç»ç¶æéè¦å
³æ³¨,å
¶ä¸ä¸ç»ä½¿ç¨in/outæ 记该OSDæ¯å¦å¨é群å
,å¦ä¸ç»ä½¿ç¨up/downæ 记该OSDæ¯å¦å¤äºè¿è¡ä¸ç¶æã两ç»ç¶æä¹é´å¹¶ä¸äºæ¥,æ¢å¥è¯è¯´,å½ä¸ä¸ªOSDå¤äºâinâç¶ææ¶,å®ä»ç¶å¯ä»¥å¤äºupædownçç¶æã
OSDç¶æä¸ºinä¸up
è¿æ¯ä¸ä¸ªOSDæ£å¸¸çç¶æ,说æè¯¥OSDå¤äºé群å
,å¹¶ä¸è¿è¡æ£å¸¸ã
OSDç¶æä¸ºinä¸down
æ¤æ¶è¯¥OSDå°å¤äºé群ä¸,使¯å®æ¤è¿ç¨ç¶æå·²ç»ä¸æ£å¸¸,é»è®¤å¨300ç§åä¼è¢«è¸¢åºé群,ç¶æè¿èå为outä¸down,ä¹åå¤äºè¯¥OSDä¸çPGä¼è¿ç§»è³å
¶å®OSDã
OSDç¶æä¸ºoutä¸up
è¿ç§ç¶æä¸è¬ä¼åºç°å¨æ°å¢OSDæ¶,æå³ç该OSD宿¤è¿ç¨æ£å¸¸,使¯å°æªå å
¥é群ã
OSDç¶æä¸ºoutä¸down
å¨è¯¥ç¶æä¸çOSDä¸å¨é群å
,å¹¶ä¸å®æ¤è¿ç¨è¿è¡ä¸æ£å¸¸,CRUSHä¸ä¼ååé
PGå°è¯¥OSDä¸ã
2. æ£æ¥OSDç¶æ
卿§è¡ceph healthãceph -sæceph -wçå½ä»¤æ¶,ä¹è®¸ä¼åç°é群并æªå¤äºHEALTHç¶æ,å°±OSDèè¨,åºè¯¥å
³æ³¨å®æ¯å¦å¤äºé群å
,以忝å¦å¤äºè¿è¡ä¸ç¶æãæä»¬å¯ä»¥éè¿ä»¥ä¸å½ä»¤æ¥çé群å
ææOSDçç¶æ:
[root@ceph ~] sudo ceph osd stat
#è¾åºå
容大è´å¦ä¸ï¼
osdmap e3921: 5 osds: 5 up, 5 in;
å½ä»¤çç»ææ¾ç¤º,å½åosdmapççæ¬å·ä¸ºe3921,é群å
å
±æ5个OSD,å
¶ä¸å¤äºâupâç¶æçOSD为5个,å¤äºâinâç¶æçOSDä¹ä¸º5个ãè¿è¯´æé群ä¸OSDçç¶æå¤äºæ£å¸¸æ
åµã
妿è¦å¯å¨ä¸ä¸ªOSD宿¤è¿ç¨,请åèåæ"é群管çæä½"å
容
3. æ¥çé群OSDé
ç½®
è¦äºè§£é群OSDçé
ç½®æ
åµ,å¯ä»¥ä½¿ç¨ä¸åå½ä»¤è¿è¡æ¥çã
æ¥çOSD容éçä½¿ç¨æ
åµ
[root@ceph ~] sudo ceph osd df
#è¾åºå
容大è´å¦ä¸ï¼
ID WEIGHT REWEIGHT SIZE USE AVAIL %USE VAR
0 0.25999 1.00000 269G 21378M 248G 7.75 1.38
3 0.25999 1.00000 269G 19027M 250G 6.90 1.23
4 0.25999 1.00000 269G 14207M 255G 5.15 0.92
1 0.53999 1.00000 548G 23328M 525G 4.15 0.74
TOTAL 1356G 77942M 1280G 5.61
MIN/MAX VAR: 0/1.38 STDDEV: 1.47
ä»è¾åºç»æå¯ä»¥çå°æ¯ä¸ªOSDçæ»å®¹éãå½å使ç¨é以åå¯ç¨å®¹éçä¿¡æ¯ã
æ¥çOSDå¨é群å¸å±ä¸ç设计åå¸
[root@ceph ~] sudo ceph osd tree
#è¾åºå
容大è´å¦ä¸ï¼
ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.08995 root default
-2 0.02998 host ceph01
0 0.00999 osd.0 up 1.00000 1.00000
1 0.00999 osd.1 up 1.00000 1.00000
2 0.00999 osd.2 up 1.00000 1.00000
-3 0.02998 host ceph02
3 0.00999 osd.3 up 1.00000 1.00000
4 0.00999 osd.4 up 1.00000 1.00000
5 0.00999 osd.5 up 1.00000 1.00000
-4 0.02998 host ceph03
6 0.00999 osd.6 up 1.00000 1.00000
7 0.00999 osd.7 up 1.00000 1.00000
8 0.00999 osd.8 up 1.00000 1.00000
ä»è¾åºç»æå¯ä»¥çå°æ¯ä¸ªOSDçä½ç½®å叿
åµ,é»è®¤çCRUSHMAPä¸,OSDæç
§æå¨ç主æºèç¹åå¸,å¯ä»¥éè¿ä¿®æ¹CRUSHMAPè¿è¡å®å¶ååå¸è®¾è®¡ãåæ¶å¯ä»¥çå°æ¯ä¸ªOSDçWEIGHTå¼,WEIGHTå¼ä¸OSDç容éç¸å
³,1TB容鿢ç®WEIGHTå¼ä¸º1.0ã
æ¥çOSDçdumpæ¦åµ
[root@ceph ~] sudo ceph osd dump
OSD dumpè¾åºçæ¡ç®è¾å¤,åºæ¬å¯ä»¥å为ä¸ä¸ªé¨åï¼
è¾åºOSDmapä¿¡æ¯,å
æ¬çæ¬å·ãé群ID以åmapç¸å
³çæ¶é´;
POOLçç¸å
³ä¿¡æ¯,å
æ¬POOL IDãPOOLåç§°ã坿¬æ°ãæå°å¯æ¬æ°ãruleset IDçä¿¡æ¯;
ååºææOSDçç¶æçä¿¡æ¯,å
æ¬OSD IDãç¶æãç¶æçæ¬è®°å½ä»¥å被çå¬çIPå°åå端å£çä¿¡æ¯ã
4. å®é
ä¸å¡åºæ¯
åºæ¯ä¸ã使ç¨ceph-deployæ°å¢OSDèç¹
éæ±ï¼ç±äºæäºåå æ æ³ä½¿ç¨saltè¿è¡æ©å®¹Cephé群æ¶ï¼å¯ä»¥èè使ç¨ceph-deployå·¥å
·æ©å®¹Cephé群ã
æä½æ¥éª¤ï¼
ä»»éä¸ä¸ªmonitorèç¹ï¼å®è£
ceph-deployã
[root@host-name ~]# yum install ceph-deploy
忢è³Cephé群é
ç½®æä»¶æå¨ç®å½,å¦ä½¿ç¨é»è®¤åç§°ceph,å忢è³å¦ä¸ç®å½ã
[root@host-name ~]# cd /etc/ceph
ç¼è¾/etc/hostsç®å½ï¼å°æ°å¢èç¹ç主æºååIPå å
¥è¯¥æä»¶ä¸ã
[root@host-name ~]# vim /etc/hosts
卿°å¢èç¹ä¸å®è£
ceph软件ï¼å¹¶è§£å³ä¾èµå
³ç³»ï¼ä¹è®¸éè¦å®è£
redhat-lsbã
[root@new-node ~]# yum install ceph
[root@new-node ~]# yum install redhat-lsb
æ¨éç¸å
³å¯é¥åé
ç½®æä»¶è³æ°å¢èç¹ã
[root@host-name ceph]# ceph-deploy admin new-node
å建é群å
³ç³»keyã
[root@host-name ceph]# ceph-deploy gatherkeys å½åèç¹
[root@host-name ceph]# ceph-deploy gatherkeys new-node
æ£æ¥æ°å¢OSDèç¹çç£çã
[root@host-name ceph]# ceph-deploy disk list new-node
å建æè¦æ°å¢OSDèç¹ä¸çosdã
[root@host-name ceph]# ceph-deploy osd create new-node:new-disk
å°æ°æ
åµä¸ï¼éè¦æå¨æ¿æ´»æ°å¢çosdåï¼é群æè½æ£å¸¸è¯å«æ°å¢çosdã
[root@new-node ~]# ceph-disk activate-all
åºæ¯äºãå®å
¨å é¤osd
éæ±ï¼éè¦å é¤Cephé群ä¸ä¸ä¸ªæå¤ä¸ªosdæ¶ï¼å¯ä»¥åè以ä¸åæ³å®ç°ã
æä½æ¥éª¤ï¼
忢éè¦å é¤çosdè¿ç¨ã
[root@host-name ~]# /etc/init.d/ceph stop osd.x
å°è¯¥osdçé群æ 记为outã
[root@host-name ~]# ceph osd out osd.x
å°è¯¥osdä»Ceph crushä¸ç§»é¤ã
[root@host-name ~]# ceph osd crush remove osd.x
ä»é群ä¸å®å
¨å é¤è¯¥osdçè®°å½ã
[root@host-name ~]# ceph osd rm osd.x
å é¤è¯¥osdç认è¯ä¿¡æ¯ï¼å¦å该osdçç¼å·ä¸ä¼éæ¾ã
[root@host-name ~]# ceph auth del osd.x
POOL管çæä½
1. è·åPOOLæ¦åµ
å¨é¨ç½²ä¸ä¸ªCephé群æ¶,ä¼å建ä¸ä¸ªé»è®¤å为rbdçPOOL,使ç¨ä»¥ä¸å½ä»¤,å¯ä»¥è·åé群å
ææPOOLçæ¦åµä¿¡æ¯ã
[root@ceph ~] sudo ceph osd pool ls detail
使ç¨è¯¥å½ä»¤ä½ å¯ä»¥äºè§£å°é群å
POOLç个æ°ã对åºçPOOL idãPOOLåç§°ã坿¬æ°ãæå°å¯æ¬æ°ï¼rulesetåPOOL snapçä¿¡æ¯ã
2. å建POOL
å¨å建ä¸ä¸ªæ°çPOOLå,å¯å
æ¥çé
ç½®æä»¶ä¸æ¯å¦æå
³äºPOOLçé»è®¤åæ°,åæ¶äºè§£é群å
CRUSHMAPç设计ï¼ä¹ååæ°å»ºPOOLã
ä¾å¦,é
ç½®æä»¶ä¸æå
³äºpg_num,pgp_numçé»è®¤åæ°,é£ä¹å¨ä½¿ç¨ceph-deployèªå¨åé¨ç½²å·¥å
·,便ä¼ä»¥æ¤åæ°å建æå®POOLã
è¦æå¨å建ä¸ä¸ªPOOLçå½ä»¤è¯æ³å¦ä¸:
#å建ä¸ä¸ªå¯æ¬ç±»åçPOOL
[root@ceph ~] sudo ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] \
[ruleset]
#å建ä¸ä¸ªçº å ç ç±»åçPOOL
[root@ceph ~] sudo ceph osd pool create {pool-name} {pg-num} {pgp-num} erasure \
[erasure-code-profile] [ruleset]
å¨{}å
çåæ°ä¸ºå¿
é项,[]å
çåæ°å设æé»è®¤å¼,å¦ææ²¡ææ´æ¹è®¾è®¡,å¯ä»¥ä¸æ·»å ã
åæ°çå«ä¹å¦ä¸:
pool-name: POOLçååï¼å¿
须添å ã
pg-num: POOLæ¥æçPGæ»æ°ï¼å¿
须添å ãå
·ä½å
容å¯åèåæ:PG管çæä½
pgp-num: POOLæ¥æçPGPæ»æ°ï¼éå¿
须添å ãé»è®¤ä¸pg-numç¸åã
replicated|erasure: POOLç±»åï¼éå¿
须添å ãå¦ä¸æå®ä¸ºerasure,åé»è®¤ä¸ºreplicatedç±»åã
ruleset: POOLæç¨çCRUSHè§åIDãéå¿
须添å ãé»è®¤ä¸º0,è¥éæå®å
¶ä»ruleset,éç¡®ä¿rulesetå¿
é¡»åå¨ã
erasure-code-profile: ä»
ç¨äºçº å ç ç±»åçPOOLãæå®çº å ç é
ç½®æ¡æ¶,æ¤é
ç½®å¿
须已ç±osd erasure-code-profile set å®ä¹
3. éå½åPOOL
妿éè¦éå½åå卿± ,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool rename {current-pool-name} {new-pool-name}
éè¦æ³¨æçæ¯,å¨POOL被éå½åå,éè¦ç¨æ°çPOOLåæ´æ°å¯¹åºç认è¯ç¨æ·æéãæ¤é¨åå
容请åè:ç¨æ·ç®¡çæä½
4. å é¤POOL
å é¤å卿± ,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
妿ææä¸ªè®¤è¯ç¨æ·æ¥æè¯¥æ± çæäºæé,é£ä¹ä½ åºè¯¥ç¡®è®¤è¯¥è®¤è¯ç¨æ·æ¯å¦è¿æå
¶ä»ä½ç¨,ç¡®è®¤å®æ¯å,ææ´ æ°,æå°è¯¥ç¨æ·å é¤ã
æ¤é¨åå
容请åè:ç¨æ·ç®¡çæä½
5. 设置POOLçé
ç½®
å¯ä»¥ä¸ºæ¯ä¸ªPOOLè¿è¡é
é¢,å¯ä»¥è®¾ç½®æå¤§åèæ°åæå¤§objectæ°,å½ä»¤å¦ä¸:
[root@ceph ~] sudo ceph osd pool set-quota {pool-name} [max_objects {obj-count}] [max_bytes {bytes}]
[root@ceph ~] sudo ceph osd pool set-quota data max_objects 10000
[root@ceph ~] sudo ceph osd pool set-quota data max_bytes 10240
妿è¦åæ¶é
é¢,åªéè¦å°å¼è®¾ç½®ä¸º0å³å¯ã
6. æ¥çPOOLçç»è®¡ä¿¡æ¯
æ¥çé群å
POOLçä½¿ç¨æ
åµ,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo rados df
7. POOLå¿«ç
§æä½
è¦æä¸æä¸ªPOOLçå¿«ç
§,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool mksnap {pool-name} {snap-name}
[root@ceph ~] sudo ceph osd pool mksnap snappool snap1
è¦å é¤æä¸ªPOOLçå¿«ç
§,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool rmsnap {pool-name} {snap-name}
[root@ceph ~] sudo ceph osd pool rmsnap snappool snap1
è¦æ¥çé群ä¸POOLçå¿«ç
§ä¿¡æ¯,ææ¶æªæä¾ls-snapç¸å
³çå½ä»¤,ä½å¯ä»¥åå©åææå°çå½ä»¤æ¥ç:
[root@ceph ~] sudo ceph osd pool ls detail
8. 设置object坿¬æ°é
è¦è®¾ç½®å¯æ¬ç±»åPOOLçå¯¹è±¡å¯æ¬æ°,å¯ä»¥ä½¿ç¨ä»¥ä¸å½ä»¤:
[root@ceph ~] sudo ceph osd pool set {pool-name} size {num-replicas}
[root@ceph ~] sudo ceph osd pool set replpool size 3
å½ä¸ä¸ªobjectç坿¬æ°å°äºè§å®å¼æ¶,ä»ç¶å¯ä»¥æ¥åI/O请æ±ã为äºä¿è¯I/Oæ£å¸¸,å¯ä»¥ä¸ºPOOL设置æä½å¯æ¬æ°,å¦: