Awọn imọran & ẹtan fun ṣiṣẹ pẹlu Ceph ni awọn iṣẹ akanṣe

Awọn imọran & ẹtan fun ṣiṣẹ pẹlu Ceph ni awọn iṣẹ akanṣe

Lilo Ceph bi ibi ipamọ nẹtiwọọki ni awọn iṣẹ akanṣe pẹlu awọn ẹru oriṣiriṣi, a le ba pade awọn iṣẹ ṣiṣe lọpọlọpọ ti ni iwo akọkọ ko dabi rọrun tabi bintin. Fun apere:

  • ijira ti data lati Ceph atijọ si tuntun pẹlu lilo apa kan ti awọn olupin iṣaaju ninu iṣupọ tuntun;
  • ojutu si iṣoro ti ipin aaye disk ni Ceph.

Ṣiṣe pẹlu iru awọn iṣoro bẹ, a ni idojukọ pẹlu iwulo lati yọ OSD kuro ni deede laisi sisọnu data, eyiti o ṣe pataki julọ nigbati o ba n ba awọn oye data lọpọlọpọ. Èyí la óò jíròrò nínú àpilẹ̀kọ náà.

Awọn ọna ti a ṣalaye ni isalẹ jẹ pataki fun eyikeyi ẹya ti Ceph. Ni afikun, otitọ pe Ceph le ṣafipamọ iye nla ti data yoo gba sinu apamọ: lati yago fun pipadanu data ati awọn iṣoro miiran, diẹ ninu awọn iṣe yoo jẹ “pipin” si ọpọlọpọ awọn miiran.

Ọrọ Iṣaaju nipa OSD

Niwọn igba ti meji ninu awọn ilana mẹta ti a jiroro jẹ igbẹhin si OSD (Ohun ipamọ Daemon), ṣaaju ki o to di omi sinu apakan ti o wulo - ni ṣoki nipa ohun ti o wa ni Ceph ati idi ti o ṣe pataki.

Ni akọkọ, o yẹ ki o sọ pe gbogbo iṣupọ Ceph ni ọpọlọpọ awọn OSD. Bi o ṣe wa diẹ sii, iwọn data ọfẹ ti o pọ si ni Ceph. O rọrun lati ni oye lati ibi akọkọ OSD iṣẹ: O tọju data ohun Ceph sori awọn ọna ṣiṣe faili ti gbogbo awọn apa iṣupọ ati pese iraye si nẹtiwọọki si rẹ (fun kika, kikọ, ati awọn ibeere miiran).

Ni ipele kanna, awọn paramita isọdọtun ti ṣeto nipasẹ didakọ awọn nkan laarin awọn oriṣiriṣi OSD. Ati nibi ti o ti le ba pade orisirisi isoro, awọn ojutu si eyi ti yoo wa ni sísọ ni isalẹ.

Ọran No. 1. Yọ OSD kuro lailewu lati inu iṣupọ Ceph laisi sisọnu data

Iwulo lati yọ OSD kuro ni o le fa nipasẹ yiyọ olupin kuro ninu iṣupọ - fun apẹẹrẹ, lati rọpo rẹ pẹlu olupin miiran - eyiti o jẹ ohun ti o ṣẹlẹ si wa, fifun kikọ kikọ nkan yii. Nitorinaa, ibi-afẹde ti o ga julọ ti ifọwọyi ni lati jade gbogbo awọn OSDs ati awọn mons lori olupin ti a fun ni ki o le da duro.

Fun irọrun ati lati yago fun ipo kan nibiti, lakoko ṣiṣe awọn aṣẹ, a ṣe aṣiṣe ni afihan OSD ti o nilo, a yoo ṣeto oniyipada lọtọ, iye eyiti yoo jẹ nọmba OSD lati paarẹ. Jẹ́ ká pè é ${ID} - nibi ati ni isalẹ, iru oniyipada kan rọpo nọmba OSD pẹlu eyiti a n ṣiṣẹ.

Jẹ ki a wo ipo naa ṣaaju ki o to bẹrẹ iṣẹ:

root@hv-1 ~ # ceph osd tree
ID CLASS WEIGHT  TYPE NAME      STATUS REWEIGHT PRI-AFF
-1       0.46857 root default
-3       0.15619      host hv-1
-5       0.15619      host hv-2
 1   ssd 0.15619      osd.1     up     1.00000  1.00000
-7       0.15619      host hv-3
 2   ssd 0.15619      osd.2     up     1.00000  1.00000

Lati pilẹṣẹ yiyọ OSD, iwọ yoo nilo lati ṣe laisiyonu reweight lori rẹ si odo. Ni ọna yii a dinku iye data ninu OSD nipa iwọntunwọnsi si awọn OSD miiran. Lati ṣe eyi, ṣiṣe awọn aṣẹ wọnyi:

ceph osd reweight osd.${ID} 0.98
ceph osd reweight osd.${ID} 0.88
ceph osd reweight osd.${ID} 0.78

... ati be be lo titi odo.

Iwontunwonsi dan niloki bi ko lati padanu data. Eyi jẹ otitọ paapaa ti OSD ba ni iye nla ti data. Lati rii daju pe lẹhin ṣiṣe awọn aṣẹ reweight ohun gbogbo lọ daradara, o le pari rẹ ceph -s tabi ni lọtọ ebute window run ceph -w lati ṣe akiyesi awọn ayipada ni akoko gidi.

Nigbati OSD ba ti “sofo”, o le tẹsiwaju pẹlu iṣẹ boṣewa lati yọ kuro. Lati ṣe eyi, gbe OSD ti o fẹ lọ si ipinle down:

ceph osd down osd.${ID}

Jẹ ki a “fa” OSD kuro ninu iṣupọ:

ceph osd out osd.${ID}

Jẹ ki a da iṣẹ OSD duro ki o ṣii ipin rẹ ni FS:

systemctl stop ceph-osd@${ID}
umount /var/lib/ceph/osd/ceph-${ID}

Yọ OSD kuro maapu CRUSH:

ceph osd crush remove osd.${ID}

Jẹ ki a pa olumulo OSD rẹ:

ceph auth del osd.${ID}

Ati nikẹhin, jẹ ki a yọ OSD funrararẹ:

ceph osd rm osd.${ID}

DaakọTi o ba nlo ẹya Ceph Luminous tabi ti o ga julọ, lẹhinna awọn igbesẹ yiyọ OSD loke le dinku si awọn aṣẹ meji:

ceph osd out osd.${ID}
ceph osd purge osd.${ID}

Ti, lẹhin ipari awọn igbesẹ ti a ṣalaye loke, o ṣiṣẹ aṣẹ naa ceph osd tree, lẹhinna o yẹ ki o han pe lori olupin nibiti a ti ṣe iṣẹ naa ko si awọn OSDs fun eyiti a ṣe awọn iṣẹ ti o wa loke:

root@hv-1 ~ # ceph osd tree
ID CLASS WEIGHT  TYPE NAME     STATUS REWEIGHT PRI-AFF
-1       0.46857      root default
-3       0.15619      host hv-1
-5       0.15619      host hv-2
-7       0.15619      host hv-3
 2   ssd 0.15619      osd.2    up     1.00000  1.00000

Ni ọna, ṣe akiyesi pe ipo iṣupọ Ceph yoo lọ si HEALTH_WARN, ati pe a yoo tun rii idinku ninu nọmba awọn OSD ati iye aaye disk ti o wa.

Awọn atẹle yoo ṣe apejuwe awọn igbesẹ ti yoo nilo ti o ba fẹ lati da olupin duro patapata ati, ni ibamu, yọ kuro lati Ceph. Ni idi eyi, o ṣe pataki lati ranti pe Ṣaaju ki o to tiipa olupin naa, o gbọdọ yọ gbogbo awọn OSD kuro lori olupin yii.

Ti ko ba si awọn OSD diẹ sii lori olupin yii, lẹhinna lẹhin yiyọ wọn kuro o nilo lati yọ olupin kuro ni maapu OSD hv-2nipa ṣiṣe aṣẹ wọnyi:

ceph osd crush rm hv-2

Paarẹ mon lati olupin hv-2nipa ṣiṣe aṣẹ ni isalẹ lori olupin miiran (ie ninu ọran yii, lori hv-1):

ceph-deploy mon destroy hv-2

Lẹhin eyi, o le da olupin naa duro ki o bẹrẹ awọn iṣe atẹle (tun gbejade, ati bẹbẹ lọ).

Ọran No.2. Pipin aaye disk ninu iṣupọ Ceph ti o ṣẹda tẹlẹ

Emi yoo bẹrẹ itan keji pẹlu asọtẹlẹ nipa PG (Awọn ẹgbẹ Ibi). Iṣe akọkọ ti PG ni Ceph jẹ nipataki lati ṣajọpọ awọn nkan Ceph ati tun ṣe wọn siwaju ni OSD. Awọn agbekalẹ pẹlu eyiti o le ṣe iṣiro iye ti a beere fun PG wa ninu ti o yẹ apakan Ceph iwe. Ọrọ yii tun jẹ ijiroro nibẹ pẹlu awọn apẹẹrẹ kan pato.

Nitorina: ọkan ninu awọn iṣoro ti o wọpọ nigba lilo Ceph jẹ nọmba aipin ti OSD ati PG laarin awọn adagun omi ni Ceph.

Ni akọkọ, nitori eyi, ipo kan le dide nigbati ọpọlọpọ awọn PG ti wa ni pato ni adagun kekere kan, eyiti o jẹ lilo aibikita ti aaye disk ninu iṣupọ. Ni ẹẹkeji, ni iṣe iṣoro iṣoro diẹ sii wa: aponsedanu data ninu ọkan ninu awọn OSD. Eyi pẹlu iṣupọ akọkọ iyipada si ipinle HEALTH_WARN, ati igba yen HEALTH_ERR. Idi fun eyi ni Ceph, nigbati o ba ṣe iṣiro iye data ti o wa (o le rii nipasẹ MAX AVAIL ninu awọn pipaṣẹ o wu ceph df fun adagun kọọkan lọtọ) da lori iye data ti o wa ninu OSD. Ti ko ba si aaye to ni o kere ju OSD kan, ko si data diẹ sii ti a le kọ titi ti data yoo fi pin kaakiri daradara laarin gbogbo awọn OSD.

O tọ lati ṣalaye pe awọn iṣoro wọnyi ti pinnu ni pataki ni ipele iṣeto iṣupọ Ceph. Ọkan ninu awọn irinṣẹ ti o le lo ni Ceph PGCalc. Pẹlu iranlọwọ rẹ, iye ti a beere fun PG jẹ iṣiro kedere. Sibẹsibẹ, o tun le lo si ni ipo kan nibiti iṣupọ Ceph tẹlẹ tunto ti ko tọ. O tọ lati ṣalaye nibi pe gẹgẹbi apakan ti iṣẹ atunṣe iwọ yoo nilo lati dinku nọmba awọn PG, ati pe ẹya yii ko si ni awọn ẹya agbalagba ti Ceph (o han nikan ni ẹya. Nautilus).

Nitorinaa, jẹ ki a fojuinu aworan atẹle: iṣupọ naa ni ipo kan HEALTH_WARN nitori ọkan ninu awọn OSD nṣiṣẹ jade ti aaye. Eyi yoo jẹ itọkasi nipasẹ aṣiṣe kan HEALTH_WARN: 1 near full osd. Ni isalẹ jẹ algorithm kan lati jade kuro ninu ipo yii.

Ni akọkọ, o nilo lati pin kaakiri data ti o wa laarin awọn OSD ti o ku. A ti ṣe iru iṣiṣẹ kan tẹlẹ ni ọran akọkọ, nigba ti a “mu” oju ipade - pẹlu iyatọ nikan ti bayi a yoo nilo lati dinku diẹ reweight. Fun apẹẹrẹ, to 0.95:

ceph osd reweight osd.${ID} 0.95

Eyi ṣe ominira aaye disk ni OSD ati ṣatunṣe aṣiṣe ni ilera ceph. Sibẹsibẹ, bi a ti sọ tẹlẹ, iṣoro yii waye ni akọkọ nitori iṣeto ti ko tọ ti Ceph ni awọn ipele ibẹrẹ: o ṣe pataki pupọ lati ṣe atunto ki o ma ba han ni ọjọ iwaju.

Ninu ọran wa pato, gbogbo rẹ wa si:

  • iye ga ju replication_count ninu ọkan ninu awọn adagun,
  • PG pupọ ni adagun-odo kan ati kekere ju ni omiiran.

Jẹ ki a lo ẹrọ iṣiro ti a mẹnuba tẹlẹ. O fihan kedere ohun ti o nilo lati wọle ati, ni opo, ko si ohun idiju. Lẹhin ti ṣeto awọn aye pataki, a gba awọn iṣeduro wọnyi:

Daakọ: Ti o ba n ṣeto iṣupọ Ceph kan lati ibere, iṣẹ miiran ti o wulo ti ẹrọ iṣiro ni iran ti awọn aṣẹ ti yoo ṣẹda awọn adagun omi lati ibere pẹlu awọn aye ti pato ninu tabili.

Awọn iwe ti o kẹhin ṣe iranlọwọ fun ọ lati lilö kiri - Ika PG ti a daba. Ninu ọran wa, keji tun wulo, nibiti a ti tọka paramita atunwi, nitori a pinnu lati yi isodipupo isodipupo.

Nitorinaa, akọkọ o nilo lati yi awọn igbelewọn isọdọtun pada - eyi tọ lati ṣe ni akọkọ, nitori nipa idinku pupọ, a yoo gba aaye disk laaye. Bi aṣẹ naa ṣe n ṣiṣẹ, iwọ yoo ṣe akiyesi pe aaye disk ti o wa yoo pọ si:

ceph osd pool $pool_name set $replication_size

Ati lẹhin ipari rẹ, a yipada awọn iye paramita pg_num и pgp_num ni ọna atẹle:

ceph osd pool set $pool_name pg_num $pg_number
ceph osd pool set $pool_name pgp_num $pg_number

pataki: a gbọdọ yi nọmba awọn PG pada lẹsẹsẹ ni adagun kọọkan ati pe ko yi awọn iye pada ninu awọn adagun omi miiran titi awọn ikilọ yoo parẹ "Apadabọ data ti o bajẹ" и "n-nọmba ti pgs ti bajẹ".

O tun le ṣayẹwo pe ohun gbogbo lọ daradara nipa lilo awọn abajade aṣẹ ceph health detail и ceph -s.

Ọran No.. 3. Iṣilọ ẹrọ foju kan lati LVM si Ceph RBD

Ni ipo kan nibiti iṣẹ akanṣe kan nlo awọn ẹrọ foju ti a fi sori ẹrọ lori awọn olupin igboro-irin ti a yalo, ọran ti ibi ipamọ ifarada aṣiṣe nigbagbogbo dide. O tun jẹ iwunilori pupọ pe aaye ti o to ni ibi ipamọ yii ... Ipo miiran ti o wọpọ: ẹrọ foju kan wa pẹlu ibi ipamọ agbegbe lori olupin ati pe o nilo lati faagun disk naa, ṣugbọn ko si ibi lati lọ, nitori ko si. free disk aaye osi lori olupin.

A le yanju iṣoro naa ni awọn ọna oriṣiriṣi - fun apẹẹrẹ, nipa gbigbe si olupin miiran (ti o ba wa) tabi fifi awọn disiki titun kun si olupin naa. Ṣugbọn kii ṣe nigbagbogbo ṣee ṣe lati ṣe eyi, nitorinaa gbigbe lati LVM si Ceph le jẹ ojutu ti o dara julọ si iṣoro yii. Nipa yiyan aṣayan yii, a tun jẹ ki o rọrun ilana siwaju ti ijira laarin awọn olupin, nitori kii yoo nilo lati gbe ibi ipamọ agbegbe lati hypervisor kan si omiiran. Apeja kan ṣoṣo ni pe iwọ yoo ni lati da VM duro lakoko ti iṣẹ naa n ṣe.

Awọn wọnyi ohunelo ti wa ni ya lati article lati yi bulọọgi, awọn ilana ti a ti ni idanwo ni iṣe. Bi o ti le je pe, ọna ti iṣilọ ti ko ni wahala ni a tun ṣe apejuwe nibẹ, sibẹsibẹ, ninu ọran tiwa o rọrun ko nilo, nitorinaa a ko ṣayẹwo rẹ. Ti eyi ba ṣe pataki fun iṣẹ akanṣe rẹ, a yoo dun lati gbọ nipa awọn abajade ninu awọn asọye.

Jẹ ki a lọ si apakan ti o wulo. Ninu apẹẹrẹ a lo virsh ati, gẹgẹbi, libvirt. Ni akọkọ, rii daju pe adagun Ceph eyiti data yoo lọ si ti sopọ si libvirt:

virsh pool-dumpxml $ceph_pool

Apejuwe adagun gbọdọ ni data asopọ si Ceph pẹlu data aṣẹ.

Igbesẹ ti o tẹle ni pe aworan LVM ti yipada si Ceph RBD. Akoko ipaniyan da nipataki lori iwọn aworan naa:

qemu-img convert -p -O rbd /dev/main/$vm_image_name rbd:$ceph_pool/$vm_image_name

Lẹhin iyipada, aworan LVM kan yoo wa, eyiti yoo wulo ti gbigbe VM si RBD ba kuna ati pe o ni lati yi awọn ayipada pada. Paapaa, lati ni anfani lati yi awọn ayipada pada ni iyara, jẹ ki a ṣe afẹyinti ti faili iṣeto ẹrọ foju:

virsh dumpxml $vm_name > $vm_name.xml
cp $vm_name.xml $vm_name_backup.xml

... ati satunkọ atilẹba (vm_name.xml). Jẹ ki a wa idina kan pẹlu apejuwe ti disk (bẹrẹ pẹlu laini <disk type='file' device='disk'> o si pari pẹlu </disk>) ati dinku si fọọmu atẹle:

<disk type='network' device='disk'>
<driver name='qemu'/>
<auth username='libvirt'>
  <secret type='ceph' uuid='sec-ret-uu-id'/>
 </auth>
<source protocol='rbd' name='$ceph_pool/$vm_image_name>
  <host name='10.0.0.1' port='6789'/>
  <host name='10.0.0.2' port='6789'/>
</source>
<target dev='vda' bus='virtio'/> 
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>

Jẹ ki a wo awọn alaye diẹ:

  1. Si ilana source adirẹsi si ibi ipamọ ni Ceph RBD jẹ itọkasi (eyi ni adirẹsi ti o nfihan orukọ Ceph pool ati aworan RBD, eyiti a pinnu ni ipele akọkọ).
  2. Ni awọn Àkọsílẹ secret iru ti wa ni itọkasi ceph, bakanna bi UUID ti asiri lati sopọ si rẹ. Uuid rẹ le ṣee rii nipa lilo aṣẹ naa virsh secret-list.
  3. Ni awọn Àkọsílẹ host adirẹsi to Ceph diigi ti wa ni itọkasi.

Lẹhin ṣiṣatunṣe faili atunto ati ipari LVM si iyipada RBD, o le lo faili iṣeto ni iyipada ki o bẹrẹ ẹrọ foju:

virsh define $vm_name.xml
virsh start $vm_name

O to akoko lati ṣayẹwo pe ẹrọ foju bẹrẹ ni deede: o le rii, fun apẹẹrẹ, nipa sisopọ si rẹ nipasẹ SSH tabi nipasẹ virsh.

Ti ẹrọ foju ba n ṣiṣẹ ni deede ati pe o ko rii awọn iṣoro miiran, lẹhinna o le paarẹ aworan LVM ti ko lo mọ:

lvremove main/$vm_image_name

ipari

A pade gbogbo awọn ọran ti a ṣalaye ni iṣe - a nireti pe awọn itọnisọna yoo ṣe iranlọwọ fun awọn alakoso miiran lati yanju awọn iṣoro kanna. Ti o ba ni awọn asọye tabi awọn itan iru miiran lati iriri rẹ nipa lilo Ceph, a yoo dun lati rii wọn ninu awọn asọye!

PS

Ka tun lori bulọọgi wa:

orisun: www.habr.com

Fi ọrọìwòye kun