Азбаски ду аз се рецепти дар баррасишуда ба OSD бахшида шудаанд (Демон нигаҳдории объект), пеш аз ворид шудан ба қисми амалӣ - мухтасар дар бораи он, ки он дар Ceph чист ва чаро он ин қадар муҳим аст.
Пеш аз ҳама, бояд гуфт, ки тамоми кластери Ceph аз бисёр OSD-ҳо иборат аст. Чӣ қадаре ки онҳо зиёд бошанд, ҳаҷми маълумот дар Ceph ҳамон қадар зиёд мешавад. Аз ин ҷо фаҳмидан осон аст Функсияи асосии OSD: Он маълумоти объекти Ceph-ро дар системаҳои файлии ҳама гиреҳҳои кластер нигоҳ медорад ва дастрасии шабакаро ба он таъмин мекунад (барои хондан, навиштан ва дархостҳои дигар).
Ман ҳикояи дуюмро бо муқаддима дар бораи PG оғоз мекунам (Гурӯҳҳои ҷойгиркунӣ). Нақши асосии PG дар Ceph пеш аз ҳама ҷамъ кардани объектҳои Ceph ва такрори минбаъдаи онҳо дар OSD мебошад. Формулае, ки бо он шумо метавонед миқдори зарурии PG-ро ҳисоб кунед фасли дахлдор Ҳуҷҷатҳои Ceph. Дар он чо ин масъала хам бо мисолхои конкретй мухокима карда мешавад.
Ҳамин тавр: яке аз мушкилоти маъмул ҳангоми истифодаи Ceph ин шумораи номутаносиби OSD ва PG байни ҳавзҳо дар Ceph мебошад.
Аввалан, аз ин сабаб, вазъ метавонад ба миён ояд, ки дар ҳавзи хурд миқдори зиёди PG-ҳо нишон дода шудаанд, ки аслан истифодаи беақлонаи фазои диск дар кластер мебошад. Сониян, дар амал як мушкили чиддитаре ба миён меояд: пур шудани маълумот дар яке аз ОСД. Ин дар навбати аввал ба давлат гузаштани кластерро дар назар дорад HEALTH_WARN, ва он гоҳ HEALTH_ERR. Сабаби ин дар он аст, ки Ceph, ҳангоми ҳисоб кардани миқдори мавҷудаи маълумот (шумо метавонед онро тавассути MAX AVAIL дар баромади фармон ceph df барои ҳар як ҳавзи алоҳида) ба миқдори маълумоти мавҷуда дар OSD асос ёфтааст. Агар дар ҳадди аққал як экрани экран фазои кофӣ набошад, то он даме, ки маълумот дар байни ҳамаи экранҳои экран дуруст тақсим карда нашавад, дигар маълумот навишта намешавад.
Бояд равшан кард, ки ин мушкилот асосан дар марҳилаи конфигуратсияи кластери Ceph ҳал карда мешаванд. Яке аз воситаҳое, ки шумо метавонед истифода баред Ceph PGCalc. Бо ёрии он микдори зарурии PG аник хисоб карда мешавад. Аммо, шумо инчунин метавонед ба он дар вазъияте муроҷиат кунед, ки кластери Ceph аллакай нодуруст танзим карда шудааст. Дар ин ҷо фаҳмондан лозим аст, ки ҳамчун як қисми корҳои ислоҳӣ ба шумо эҳтимоли зиёд лозим аст, ки шумораи PGҳоро кам кунед ва ин хусусият дар версияҳои кӯҳнаи Ceph мавҷуд нест (он танҳо дар версия пайдо шудааст) Nautilus).
Пас, биёед тасвири зеринро тасаввур кунем: кластер дорои статус аст HEALTH_WARN аз сабаби он ки яке аз OSD кор намекунад. Ин бо хатогӣ нишон дода мешавад HEALTH_WARN: 1 near full osd. Дар зер алгоритми баромадан аз ин вазъият оварда шудааст.
Пеш аз ҳама, шумо бояд маълумоти мавҷударо байни OSD-ҳои боқимонда тақсим кунед. Мо аллакай як амалиёти шабеҳро дар ҳолати аввал анҷом дода будем, вақте ки гиреҳро "резондем" - бо ягона фарқият, ки ҳоло мо бояд каме кам кунем reweight. Масалан, то 0.95:
ceph osd reweight osd.${ID} 0.95
Ин фазои дискро дар OSD холӣ мекунад ва хатогиро дар саломатии ceph ислоҳ мекунад. Аммо, тавре ки аллакай зикр гардид, ин мушкилот асосан аз сабаби конфигуратсияи нодурусти Ceph дар марҳилаҳои аввал ба миён меояд: аз нав конфигуратсия кардан хеле муҳим аст, то ки он дар оянда пайдо нашавад.
Дар мисоли мо, ҳамааш ба чунин натиҷа расид:
арзиши хеле баланд replication_count дар яке аз ҳавзҳо,
аз ҳад зиёд PG дар як ҳавз ва хеле кам дар дигар.
Биёед ҳисобкунаки дар боло зикршударо истифода барем. Он ба таври возеҳ нишон медиҳад, ки чӣ бояд ворид карда шавад ва дар асл, ҳеҷ чизи мураккаб нест. Пас аз муқаррар кардани параметрҳои зарурӣ, мо тавсияҳои зеринро мегирем:
эрод гирифтан: Агар шумо кластери Ceph-ро аз сифр насб карда истода бошед, вазифаи дигари муфиди ҳисобкунак тавлиди фармонҳост, ки ҳавзҳоро аз сифр бо параметрҳои дар ҷадвал нишондодашуда эҷод мекунанд.
Ва пас аз анҷоми он, мо арзишҳои параметрҳоро тағир медиҳем pg_num и pgp_num чунин аст:
ceph osd pool set $pool_name pg_num $pg_number
ceph osd pool set $pool_name pgp_num $pg_number
муҳим: мо бояд шумораи PG-ро дар ҳар як ҳавз пай дар пай тағир диҳем ва то он даме ки огоҳиҳо нопадид нашавад, арзишҳоро дар ҳавзҳои дигар тағир надиҳем. "Истифодаи маълумоти пастшуда" и "n-шумораи саҳифаҳои таназзулшуда".
Шумо инчунин метавонед тафтиш кунед, ки ҳама чиз бо истифода аз натиҷаҳои фармон хуб буд ceph health detail и ceph -s.
... ва нусхаи аслиро таҳрир кунед (vm_name.xml). Биёед блокеро бо тавсифи диск пайдо кунем (аз сатри <disk type='file' device='disk'> ва бо тамом мешавад </disk>) ва онро ба шакли зерин кам кунед: