Toro-hevitra sy fika amin'ny fiaraha-miasa amin'i Ceph amin'ny tetikasa be atao

Toro-hevitra sy fika amin'ny fiaraha-miasa amin'i Ceph amin'ny tetikasa be atao

Amin'ny fampiasana Ceph ho fitahirizana tambajotra amin'ny tetikasa misy enta-mavesatra samihafa, dia mety hahita asa isan-karazany isika izay toa tsy tsotra na tsy misy dikany raha vao jerena. Ohatra:

  • fifindran'ny angona avy amin'ny Ceph taloha mankany amin'ny vaovao miaraka amin'ny fampiasana ampahany amin'ireo mpizara teo aloha ao amin'ny cluster vaovao;
  • vahaolana amin'ny olan'ny fizarana habaka kapila ao Ceph.

Miatrika olana toy izany isika dia miatrika ny filana hanesorana tsara ny OSD nefa tsy very angon-drakitra, izay zava-dehibe indrindra rehefa mifandray amin'ny angon-drakitra be dia be. Horesahina ao amin’ilay lahatsoratra izany.

Ireo fomba voalaza etsy ambany dia mifandraika amin'ny dikan-teny Ceph rehetra. Ankoatra izany, ny zava-misy fa afaka mitahiry angon-drakitra be dia be ny Ceph: mba hisorohana ny fahaverezan'ny angona sy ny olana hafa, ny hetsika sasany dia "hizara" ho maromaro hafa.

Sasin-teny momba ny OSD

Satria ny roa amin'ireo fomba telo resahina dia natokana ho an'ny OSD (Daemon fitahirizana zavatra), alohan'ny hidirana ao amin'ny ampahany azo ampiharina - fohifohy momba ny zavatra ao amin'ny Ceph sy ny antony maha-zava-dehibe azy io.

Voalohany indrindra, tokony holazaina fa ny cluster Ceph manontolo dia ahitana OSD maro. Arakaraka ny misy azy, ny habetsahan'ny angona maimaim-poana ao amin'ny Ceph. Mora azo avy eto asa lehibe OSD: Mitahiry ny angon-drakitra Ceph amin'ny rafitra fichier amin'ny node cluster rehetra izy ary manome fidirana amin'ny tambajotra (ho famakiana, fanoratana ary fangatahana hafa).

Amin'ny ambaratonga mitovy, ny masontsivana replication dia apetraka amin'ny alàlan'ny kopia zavatra eo amin'ny OSD samihafa. Ary eto ianao dia afaka miatrika olana isan-karazany, ny vahaolana izay horesahina etsy ambany.

Raharaha No. 1. Esory soa aman-tsara ny OSD amin'ny kluster Ceph nefa tsy very data

Ny filana hanesorana ny OSD dia mety ho vokatry ny fanesorana ny mpizara amin'ny cluster - ohatra, hanolo azy amin'ny mpizara hafa - izay no nitranga taminay, ka nahatonga ny fanoratana ity lahatsoratra ity. Noho izany, ny tanjona faratampony amin'ny fanodinkodinana dia ny hanesorana ny OSD sy mons rehetra amin'ny lohamilina iray mba ho azo ajanona.

Ho fanamorana sy hialana amin'ny toe-javatra iray izay, eo am-panatanterahana ny baiko, dia manao fahadisoana amin'ny fanondroana ny OSD ilaina, dia hametraka fari-pitsipika misaraka, ny sandan'izany dia ny isan'ny OSD hofafana. Andeha isika hiantso azy ${ID} — eto sy eto ambany, ny fari-piainana toy izany dia manolo ny isan'ny OSD izay iasantsika.

Andeha hojerentsika ny fepetra alohan'ny hanombohana asa:

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

Mba hanombohana ny fanesorana OSD dia mila manao tsara ianao reweight amin'ny zero. Amin'izany fomba izany dia mampihena ny habetsaky ny angona ao amin'ny OSD isika amin'ny fampifandanjana azy amin'ny OSD hafa. Mba hanaovana izany, araho ireto baiko manaraka ireto:

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

... sy ny sisa hatramin'ny aotra.

Ilaina ny fifandanjana malefakamba tsy ho very data. Marina indrindra izany raha misy angon-drakitra be dia be ny OSD. Mba hahazoana antoka fa aorian'ny fanatanterahana ny baiko reweight nandeha tsara ny zava-drehetra, afaka mamita izany ianao ceph -s na amin'ny fikandrana terminal mitokana ceph -w mba hijerena fiovana amin'ny fotoana tena izy.

Rehefa "foana" ny OSD dia azonao atao ny manohy ny fandidiana mahazatra hanesorana azy. Mba hanaovana izany, mamindra ny OSD irina amin'ny fanjakana down:

ceph osd down osd.${ID}

Andao "hisintona" ny OSD hiala amin'ny cluster:

ceph osd out osd.${ID}

Atsaharo ny serivisy OSD ary esory ny fisarahana ao amin'ny FS:

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

Esory ny OSD amin'ny CRUSH sarintany:

ceph osd crush remove osd.${ID}

Andao hamafa ny mpampiasa OSD:

ceph auth del osd.${ID}

Ary farany, andao esorina ny OSD mihitsy:

ceph osd rm osd.${ID}

fanamarihana: Raha mampiasa dikan-teny Ceph Luminous na ambony ianao, dia azo ahena ho baiko roa ireto dingana fanesorana OSD etsy ambony ireto:

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

Raha, rehefa vita ny dingana voalaza etsy ambony, dia mihazakazaka ny baiko ceph osd tree, dia tokony hazava fa ao amin'ny mpizara izay nanaovana ny asa dia tsy misy OSD intsony izay nanaovana ny asa etsy ambony:

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

Teny an-dalana, mariho fa ny toetry ny Ceph cluster ho any HEALTH_WARN, ary ho hitantsika ihany koa ny fihenan'ny isan'ny OSD sy ny habetsaky ny habaka kapila misy.

Ity manaraka ity dia mamaritra ny dingana takiana raha te hampitsahatra tanteraka ny mpizara ianao ary, araka izany, esory amin'ny Ceph. Amin'ity tranga ity dia zava-dehibe ny mitadidy izany Alohan'ny hanakatona ny mpizara dia tsy maintsy esorinao ny OSD rehetra amin'ity mpizara ity.

Raha tsy misy OSDs tavela ao amin'ity mpizara ity, dia aorian'ny fanesorana azy ireo dia mila esorinao amin'ny sarintany OSD ny mpizara. hv-2amin'ny alàlan'ny baiko manaraka:

ceph osd crush rm hv-2

esory mon avy amin'ny mpizara hv-2amin'ny fampandehanana ny baiko etsy ambany amin'ny mpizara hafa (izany hoe amin'ity tranga ity, on hv-1):

ceph-deploy mon destroy hv-2

Aorian'izany dia azonao atao ny manajanona ny mpizara ary manomboka ny hetsika manaraka (mamerina azy, sns.).

Raharaha No. 2. Fizarana ny habaka kapila ao anaty cluster Ceph efa noforonina

Hatomboko amin'ny sasin-teny momba ny PG ny tantara faharoa (Vondrona fametrahana). Ny tena anjara asan'ny PG ao amin'ny Ceph dia ny manangona zavatra Ceph ary mamerina azy ireo amin'ny OSD. Ny raikipohy ahafahanao mikajy ny habetsaky ny PG ilaina dia ao fizarana mifandraika Documentation Ceph. Voaresaka ao koa io olana io miaraka amin'ny ohatra voafaritra tsara.

Noho izany: ny iray amin'ireo olana mahazatra rehefa mampiasa Ceph dia ny isan'ny OSD sy PG tsy voalanjalanja eo anelanelan'ny dobo ao Ceph.

Voalohany, noho izany, mety hitranga ny toe-javatra rehefa voafaritra ny PGs be loatra ao anaty dobo kely iray, izay tena fampiasana tsy ara-drariny ny habaka kapila ao anaty cluster. Faharoa, amin'ny fampiharana dia misy olana lehibe kokoa: mihoa-pampana ny angon-drakitra ao amin'ny iray amin'ireo OSD. Izany dia mitaky ny fifindran'ny cluster voalohany mankany amin'ny fanjakana HEALTH_WARN, ary avy eo HEALTH_ERR. Ny anton'izany dia i Ceph, rehefa manao kajy ny habetsaky ny angon-drakitra misy (azonao atao ny mahita izany amin'ny MAX AVAIL amin'ny famoahana baiko ceph df ho an'ny dobo tsirairay misaraka) dia mifototra amin'ny habetsaky ny angona misy ao amin'ny OSD. Raha tsy ampy ny habaka ao amin'ny OSD iray farafahakeliny, dia tsy misy angona azo soratana intsony mandra-pizarana araka ny tokony ho izy amin'ny OSD rehetra ny angona.

Tsara ny manazava fa ireo olana ireo dia tapa-kevitra amin'ny sehatra fanamafisana cluster Ceph. Ny iray amin'ireo fitaovana azonao ampiasaina dia Ceph PGCalc. Miaraka amin'ny fanampiany, kajy mazava tsara ny habetsaky ny PG ilaina. Na izany aza, azonao atao ihany koa ny mampiasa azy io amin'ny toe-javatra misy ny cluster Ceph efa diso ny fanamboarana. Tsara ny manazava eto fa amin'ny ampahany amin'ny asa fanamboarana dia mety ilainao ny mampihena ny isan'ny PGs, ary ity endri-javatra ity dia tsy misy amin'ny dikan-teny taloha an'ny Ceph (miseho amin'ny dikan-teny fotsiny izy io. Nautilus).

Noho izany, andeha hojerentsika ity sary manaraka ity: manana sata ny cluster HEALTH_WARN noho ny iray amin'ireo OSD lany toerana. Hasehon'ny fahadisoana izany HEALTH_WARN: 1 near full osd. Ity ambany ity ny algorithm iray hialana amin'ity toe-javatra ity.

Voalohany indrindra, mila mizara ny angon-drakitra misy eo amin'ireo OSD sisa ianao. Efa nanao hetsika mitovy amin'izany izahay tamin'ny tranga voalohany, rehefa "nandrotsaka" ny node izahay - miaraka amin'ny fahasamihafana tokana izay mila ahena kely. reweight. Ohatra, hatramin'ny 0.95:

ceph osd reweight osd.${ID} 0.95

Manafaka ny habaka kapila ao amin'ny OSD izany ary manamboatra ny lesoka amin'ny fahasalamana ceph. Na izany aza, araka ny efa voalaza, io olana io no tena mitranga noho ny diso configuration ny Ceph amin'ny dingana voalohany: tena zava-dehibe ny manao reconfiguration mba tsy hiseho amin'ny ho avy.

Amin'ny toe-javatra manokana misy anay, dia tonga amin'ny:

  • ambony loatra ny sanda replication_count amin'ny iray amin'ireo dobo,
  • PG be loatra amin'ny dobo iray ary kely loatra amin'ny iray hafa.

Andao hampiasa ny kajy efa voalaza. Mampiseho mazava tsara izay tokony hidirana ary, amin'ny ankapobeny, tsy misy sarotra. Rehefa avy nametraka ny masontsivana ilaina, dia mahazo ireto soso-kevitra manaraka ireto:

fanamarihana: Raha manangana kluster Ceph hatrany am-boalohany ianao, ny fiasa mahasoa hafa amin'ny kajy dia ny famoronana baiko izay hamorona dobo avy amin'ny scratch miaraka amin'ireo mari-pamantarana voalaza ao amin'ny latabatra.

Ny tsanganana farany dia manampy anao hivezivezy - Isan'ny PG soso-kevitra. Amin'ity tranga ity dia ilaina ihany koa ny faharoa, izay misy ny mari-pamantarana replication, satria nanapa-kevitra ny hanova ny multiplier replication izahay.

Noho izany, mila manova ny mari-pamantarana replication aloha ianao - tokony hatao aloha izany, satria amin'ny fampihenana ny multiplier dia hanafaka ny habaka disk. Rehefa manatanteraka ny baiko dia ho hitanao fa hitombo ny habaka kapila misy:

ceph osd pool $pool_name set $replication_size

Ary rehefa vita izany, dia manova ny soatoavin'ny paramètre pg_num и pgp_num toy izao manaraka izao:

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

zava-dehibe: tsy maintsy manova ny isan'ny PG amin'ny dobo tsirairay isika ary tsy manova ny soatoavina ao amin'ny dobo hafa mandra-panjavona ny fampitandremana "Dégradé data redundancy" и "n-isan'ny pgs simba".

Azonao atao ihany koa ny manamarina fa nandeha tsara ny zava-drehetra tamin'ny fampiasana ny baiko outputs ceph health detail и ceph -s.

Raharaha No. 3. Fifindra-monina milina virtoaly avy amin'ny LVM mankany Ceph RBD

Amin'ny toe-javatra iray izay mampiasa milina virtoaly napetraka amin'ny lohamilina bare-metaly nofaina ny tetikasa iray, dia matetika mipoitra ny olana momba ny fitahirizana tsy mety levona. Tena ilaina ihany koa ny fisian'ny toerana ampy amin'ity fitahirizana ity ... Toe-javatra mahazatra hafa: misy milina virtoaly misy fitehirizana eo an-toerana ao amin'ny server ary mila manitatra ny kapila ianao, saingy tsy misy na aiza na aiza, satria tsy misy. toerana malalaka kapila tavela amin'ny mpizara.

Ny olana dia azo voavaha amin'ny fomba samihafa - ohatra, amin'ny fifindra-monina any amin'ny server hafa (raha misy) na ny fampidirana disk vaovao amin'ny server. Saingy tsy azo atao foana ny manao izany, ka ny fifindra-monina avy amin'ny LVM mankany Ceph dia mety ho vahaolana tsara amin'ity olana ity. Amin'ny fisafidianana io safidy io, dia manatsotra ihany koa ny fizotry ny fifindra-monina eo amin'ny mpizara, satria tsy ilaina ny mamindra ny fitahirizana eo an-toerana avy amin'ny hypervisor iray mankany amin'ny iray hafa. Ny hany tratra dia tsy maintsy atsahatra ny VM eo am-panatanterahana ny asa.

Ity recipe manaraka ity dia nalaina avy amin'ny lahatsoratra avy amin'ity bilaogy ity, izay nosedraina amin'ny asa ny toromarika momba izany. Fa momba izay ihany, voalaza ao koa ny fomba fifindra-monina tsy misy manahirana, na izany aza, tamin'ny anay dia tsy nilaina fotsiny izany, ka tsy nojerenay. Raha tena zava-dehibe amin'ny tetikasanao izany, dia ho faly izahay mandre momba ny valiny ao amin'ny fanehoan-kevitra.

Andeha isika hiroso amin’ny fizarana azo ampiharina. Amin'ny ohatra dia mampiasa virsh isika ary, araka izany, libvirt. Voalohany, ataovy azo antoka fa mifandray amin'ny libvirt ny dobo Ceph izay hifindran'ny angona:

virsh pool-dumpxml $ceph_pool

Ny famaritana dobo dia tsy maintsy misy angon-drakitra mifandray amin'i Ceph miaraka amin'ny angona fahazoan-dàlana.

Ny dingana manaraka dia ny hoe ny sary LVM dia niova ho Ceph RBD. Ny fotoana famonoana dia miankina indrindra amin'ny haben'ny sary:

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

Aorian'ny fiovam-po dia hisy sary LVM hijanona, izay mahasoa raha tsy mahomby ny fifindrana ny VM mankany RBD ary tsy maintsy averinao ny fanovana. Ary koa, mba hahafahana mamerina haingana ny fanovana, andao hanao backup ny rakitra fikirakirana milina virtoaly:

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

... ary ovay ny original (vm_name.xml). Andeha isika hitady sakana misy famaritana ny kapila (manomboka amin'ny tsipika <disk type='file' device='disk'> ary mifarana amin'ny </disk>) ary ampidino amin'ny endrika manaraka:

<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>

Andeha hojerentsika ny antsipiriany sasany:

  1. Ho an'ny protocol source ny adiresy ho an'ny fitehirizana ao amin'ny Ceph RBD dia aseho (ity ny adiresy manondro ny anaran'ny dobo Ceph sy ny sary RBD, izay voafaritra tamin'ny dingana voalohany).
  2. Ao amin'ny sakana secret karazana no voalaza ceph, ary koa ny UUID ny tsiambaratelo hifandraisana aminy. Ny uuid dia azo jerena amin'ny alalan'ny baiko virsh secret-list.
  3. Ao amin'ny sakana host Ny adiresy ho an'ny mpanara-maso Ceph dia aseho.

Aorian'ny fanitsiana ny rakitra fikirakirana sy ny famitana ny fiovam-po amin'ny LVM mankany RBD dia azonao atao ny mampihatra ny rakitra fanovana novaina ary manomboka ny milina virtoaly:

virsh define $vm_name.xml
virsh start $vm_name

Fotoana izao hanamarinana fa nanomboka tsara ny milina virtoaly: azonao fantarina, ohatra, amin'ny fampifandraisana azy amin'ny SSH na amin'ny alàlan'ny virsh.

Raha miasa tsara ny milina virtoaly ary tsy nahita olana hafa ianao, dia azonao atao ny mamafa ny sary LVM izay tsy ampiasaina intsony:

lvremove main/$vm_image_name

famaranana

Nihaona tamin'ny tranga rehetra voalaza izahay - manantena izahay fa hanampy ny mpitantana hafa hamaha olana mitovy amin'izany ny torolalana. Raha manana fanehoan-kevitra na tantara hafa mitovy amin'izany avy amin'ny traikefanao amin'ny fampiasana Ceph ianao, dia ho faly izahay hahita azy ireo ao amin'ny fanehoan-kevitra!

Sal

Vakio ihany koa ao amin'ny bilaoginay:

Source: www.habr.com

Add a comment