Mtambo umodzi - data center level OS ku Odnoklassniki

Mtambo umodzi - data center level OS ku Odnoklassniki

Aloha, anthu! Dzina langa ndine Oleg Anastasyev, ndimagwira ntchito ku Odnoklassniki mu gulu la Platform. Kuphatikiza apo, ku Odnoklassniki pali zida zambiri zomwe zimagwira ntchito. Tili ndi ma data anayi omwe ali ndi ma rack 500 okhala ndi ma seva oposa 8 zikwi. Panthawi ina, tidazindikira kuti kukhazikitsidwa kwa dongosolo latsopano loyang'anira kungatipangitse kuti tizinyamula zida bwino, kuwongolera njira zolumikizirana, kuwongolera (kukonzanso) kugawa kwazinthu zamakompyuta, kufulumizitsa kukhazikitsa ntchito zatsopano, ndikufulumizitsa mayankho. ku ngozi zazikulu.

Chinabwera ndi chiyani?

Kupatulapo ine ndi gulu la hardware, palinso anthu omwe amagwira ntchito ndi hardware iyi: mainjiniya omwe ali mwachindunji kumalo osungira deta; ma network omwe amakhazikitsa mapulogalamu apakompyuta; oyang'anira, kapena ma SRE, omwe amapereka mphamvu zokhazikika; ndi magulu a chitukuko, aliyense wa iwo ali ndi udindo pa gawo la ntchito za portal. Mapulogalamu omwe amapanga amagwira ntchito motere:

Mtambo umodzi - data center level OS ku Odnoklassniki

Zopempha za ogwiritsa ntchito zimalandiridwa kumbali zonse za portal yayikulu www.ok.ru, ndi ena, mwachitsanzo pa nyimbo za API. Kuti agwiritse ntchito malingaliro abizinesi, amatcha seva yofunsira, yomwe, ikakonza zopempha, imayitanitsa ma microservices apadera ofunikira - graph imodzi (graph of social networks), ogwiritsa-cache (cache of user profiles), etc.

Uliwonse wa mautumikiwa umagwiritsidwa ntchito pamakina ambiri, ndipo aliyense wa iwo ali ndi otsogolera omwe ali ndi udindo woyendetsa ma modules, ntchito yawo ndi chitukuko cha zamakono. Ntchito zonsezi zimayendera ma seva a hardware, ndipo mpaka posachedwa tidayambitsa ntchito imodzi yokha pa seva, mwachitsanzo, inali yapadera pa ntchito inayake.

Ndichoncho chifukwa chiyani? Njira imeneyi inali ndi maubwino angapo:

  • Kumasuka kasamalidwe ka anthu ambiri. Tinene kuti ntchito imafuna malaibulale ena, zoikamo zina. Ndiyeno seva imaperekedwa ku gulu limodzi ndendende, ndondomeko ya cfengine ya gulu ili ikufotokozedwa (kapena yafotokozedwa kale), ndipo kasinthidwe kameneka kamakhala pakati ndipo amangoperekedwa kwa ma seva onse mu gulu ili.
  • Zosavuta diagnostics. Tiyerekeze kuti mukuyang'ana kuchuluka kwa purosesa yapakati ndikuzindikira kuti katunduyu angopangidwa ndi ntchito yomwe imagwira pa purosesa ya hardware iyi. Kufunafuna wina womuimba mlandu kumatha msanga.
  • Zosavuta kuyang'anira. Ngati china chake sichili bwino ndi seva, woyang'anira amafotokoza, ndipo mukudziwa yemwe ali ndi mlandu.

Ntchito yokhala ndi zofananira zingapo imaperekedwa ma seva angapo - imodzi pa iliyonse. Ndiye gwero la computing lautumiki limaperekedwa mophweka: chiwerengero cha ma seva omwe utumiki uli nawo, kuchuluka kwazinthu zomwe zingathe kuwononga. "Zosavuta" apa sizikutanthauza kuti ndizosavuta kugwiritsa ntchito, koma m'lingaliro lakuti kugawa kwazinthu kumachitika pamanja.

Njira imeneyi inatithandizanso kuchita masinthidwe apadera achitsulo pa ntchito yomwe ikuyenda pa seva iyi. Ngati ntchitoyi ikusunga deta yambiri, ndiye kuti timagwiritsa ntchito seva ya 4U yokhala ndi galimoto yokhala ndi ma disks 38. Ngati ntchitoyi ndi yowerengera, ndiye kuti titha kugula seva yotsika mtengo ya 1U. Izi ndizothandiza pamakompyuta. Mwa zina, njirayi imatithandiza kugwiritsa ntchito makina ochepera kanayi omwe ali ndi katundu wofanana ndi malo ochezera a pa Intaneti ochezeka.

Kuchita bwino kotereku pakugwiritsa ntchito zida zamakompyuta kuyeneranso kuwonetsetsa kuti chuma chikuyenda bwino, ngati tichokera pamalingaliro akuti chinthu chokwera mtengo kwambiri ndi maseva. Kwa nthawi yayitali, hardware inali yokwera mtengo kwambiri, ndipo tinkayesetsa kwambiri kuchepetsa mtengo wa hardware, kubwera ndi zolakwika zololera zolakwika kuti tichepetse zofunikira zodalirika za hardware. Ndipo lero tafika pamlingo womwe mtengo wa seva wasiya kukhala wotsimikiza. Ngati simuganizira za exotics zaposachedwa, ndiye kuti kasinthidwe kake ka ma seva mu rack alibe kanthu. Tsopano tili ndi vuto lina - mtengo wa malo ogwiritsidwa ntchito ndi seva mu data center, ndiko kuti, malo mu rack.

Pozindikira kuti izi zinali choncho, tinaganiza zowerengera momwe tinkagwiritsira ntchito bwino zoyala.
Tinatenga mtengo wa seva yamphamvu kwambiri kuchokera ku zovomerezeka zachuma, kuwerengera kuchuluka kwa ma seva otere omwe tingawaike muzitsulo, ndi ntchito zingati zomwe tingagwire nawo pogwiritsa ntchito chitsanzo chakale "seva imodzi = ntchito imodzi" ndi zochuluka bwanji. mankhwala akhoza kugwiritsa ntchito. Anawerenga ndikugwetsa misozi. Zinapezeka kuti luso lathu logwiritsa ntchito ma racks ndi pafupifupi 11%. Mapeto ake ndi odziwikiratu: tiyenera kuwonjezera mphamvu zogwiritsira ntchito malo opangira deta. Zikuwoneka kuti yankho ndilodziwikiratu: muyenera kuyendetsa ntchito zingapo pa seva imodzi nthawi imodzi. Koma apa ndi pamene zovuta zimayambira.

Kusintha kwa misa kumakhala kovuta kwambiri - tsopano sikutheka kupatsa gulu lirilonse ku seva. Kupatula apo, tsopano ntchito zingapo zamalamulo osiyanasiyana zitha kukhazikitsidwa pa seva imodzi. Kuphatikiza apo, kusinthika kumatha kukhala kosagwirizana ndi mapulogalamu osiyanasiyana. Kuzindikira kumakhalanso kovuta kwambiri: ngati muwona kuchuluka kwa CPU kapena kugwiritsa ntchito disk pa seva, simukudziwa kuti ndi ntchito iti yomwe ikuyambitsa vuto.

Koma chachikulu ndikuti palibe kudzipatula pakati pa ntchito zomwe zikuyenda pamakina omwewo. Pano, mwachitsanzo, ndi graph ya nthawi yanthawi yoyankhidwa ya ntchito ya seva isanayambe komanso itatha kugwiritsa ntchito makompyuta omwewo pa seva yomweyi, mosagwirizana ndi yoyamba - nthawi yoyankha ntchito yaikulu yawonjezeka kwambiri.

Mtambo umodzi - data center level OS ku Odnoklassniki

Mwachiwonekere, muyenera kuyendetsa ntchito kaya muzitsulo kapena mumakina enieni. Popeza pafupifupi ntchito zathu zonse zimayenda pansi pa OS imodzi (Linux) kapena zosinthidwa kuti zigwiritsidwe ntchito, sitifunika kuthandizira machitidwe osiyanasiyana. Chifukwa chake, virtualization sikufunika; chifukwa chowonjezera chowonjezera, sichikhala chothandiza kwambiri kuposa kuyika zida.

Monga kukhazikitsa zotengera zogwirira ntchito mwachindunji pa maseva, Docker ndi munthu wabwino: zithunzi zamafayilo zimathetsa mavuto ndi masanjidwe otsutsana bwino. Mfundo yakuti zithunzi zikhoza kupangidwa ndi zigawo zingapo zimatithandiza kuchepetsa kwambiri kuchuluka kwa deta yofunikira kuti tiyike pazitukuko, kulekanitsa zigawo zofanana kukhala zigawo zosiyana. Kenako zigawo zoyambira (komanso zokulirapo) zidzasungidwa mwachangu m'magawo onse, ndipo kuti apereke mitundu yosiyanasiyana ya mapulogalamu ndi mitundu, zigawo zing'onozing'ono zokha zomwe ziyenera kusamutsidwa.

Kuphatikiza apo, kaundula wokonzeka komanso kuyika zithunzi ku Docker zimatipatsa zoyambira zokonzeka zosinthira ndikupereka ma code kuti apange.

Docker, monga ukadaulo wina uliwonse wofananira, umatipatsa mulingo wodzipatula m'bokosi. Mwachitsanzo, kudzipatula kukumbukira - chidebe chilichonse chimapatsidwa malire pakugwiritsa ntchito kukumbukira kwa makina, kupitirira zomwe sizingadye. Muthanso kupatula zotengera pogwiritsa ntchito CPU. Kwa ife, komabe, kutchinjiriza wamba sikunali kokwanira. Koma zambiri pa izo pansipa.

Kuthamangitsa zotengera mwachindunji pa maseva ndi gawo limodzi lamavuto. Gawo lina likugwirizana ndi zotengera zosungira pa ma seva. Muyenera kumvetsetsa chidebe chomwe chingayikidwe pa seva. Iyi si ntchito yophweka, chifukwa zotengera ziyenera kuyikidwa pa maseva mochuluka momwe zingathere popanda kuchepetsa liwiro lawo. Kuyika kotereku kungakhalenso kovuta kuchokera pamalingaliro olekerera zolakwika. Nthawi zambiri timafuna kuyika zofananira zautumiki womwewo m'malo osiyanasiyana kapena m'zipinda zosiyanasiyana za data center, kotero kuti ngati choyikapo kapena chipinda chikulephera, sititaya nthawi yomweyo zofananira zonse.

Kugawa zotengera pamanja sichosankha mukakhala ndi ma seva 8 zikwi ndi 8-16 zikwi.

Kuphatikiza apo, tinkafuna kupatsa opanga ufulu wodziyimira pawokha pakugawika kwazinthu kuti athe kuchititsa ntchito zawo popanga okha, popanda kuthandizidwa ndi woyang'anira. Panthawi imodzimodziyo, tinkafuna kukhalabe olamulira kuti ntchito zina zazing'ono zisawononge zinthu zonse za malo athu a deta.

Mwachiwonekere, timafunikira gawo lowongolera lomwe lingachite izi zokha.

Kotero tinafika pa chithunzi chosavuta komanso chomveka chomwe omanga onse amachikonda: mabwalo atatu.

Mtambo umodzi - data center level OS ku Odnoklassniki

One-cloud masters ndi gulu la failover lomwe limayang'anira nyimbo zamtambo. Wopanga mapulogalamuwa amatumiza chiwonetsero kwa mbuye, chomwe chili ndi zidziwitso zonse zofunika kuchititsa msonkhanowo. Kutengera izi, mbuyeyo amapereka malamulo kwa osankhidwa osankhidwa (makina opangidwa kuti aziyendetsa zotengera). Ma minion ali ndi wothandizira wathu, yemwe amalandira lamulo, amapereka malamulo ake kwa Docker, ndipo Docker amakonza kernel ya linux kuti akhazikitse chidebe choyenera. Kuphatikiza pakuchita malamulo, wothandizirayo amangouza mbuye wake za kusintha kwa makina onse a minion ndi zotengera zomwe zikuyenda pamenepo.

Kugawa Zothandizira

Tsopano tiyeni tiwone vuto la kugawa kwazinthu zovuta kwa ma minion ambiri.

Chida cha makompyuta mumtambo umodzi ndi:

  • Kuchuluka kwa mphamvu ya purosesa yogwiritsidwa ntchito ndi ntchito inayake.
  • Kuchuluka kwa kukumbukira komwe kulipo pantchitoyo.
  • Magalimoto a pa intaneti. Aliyense wa minion ali ndi mawonekedwe apadera a netiweki omwe ali ndi bandwidth yochepa, kotero ndizosatheka kugawa ntchito popanda kuganizira kuchuluka kwa deta yomwe amatumiza pa intaneti.
  • Ma disks. Kuphatikiza apo, mwachiwonekere, ku danga la ntchitoyi, timagawanso mtundu wa disk: HDD kapena SSD. Ma disks amatha kupereka zopempha zingapo pamphindikati - IOPS. Chifukwa chake, pazinthu zomwe zimapanga ma IOPS ochulukirapo kuposa momwe disk imodzi ingagwiritsire ntchito, timagawanso "spindles" - ndiko kuti, zida za disk zomwe ziyenera kusungidwa kuti zitheke.

Ndiye pa ntchito zina, mwachitsanzo kwa wosuta-cache, tikhoza kulemba zinthu zomwe zagwiritsidwa ntchito motere: 400 processor cores, 2,5 TB of memory, 50 Gbit / s traffic mbali zonse ziwiri, 6 TB ya HDD space yomwe ili pa 100 spindles. Kapena mumawonekedwe odziwika bwino monga awa:

alloc:
    cpu: 400
    mem: 2500
    lan_in: 50g
    lan_out: 50g
    hdd:100x6T

Zothandizira zogwiritsa ntchito pa cache zimangogwiritsa ntchito gawo limodzi lazinthu zonse zomwe zilipo pamapangidwe opanga. Chifukwa chake, ndikufuna kuwonetsetsa kuti mwadzidzidzi, chifukwa cha cholakwika cha opareshoni kapena ayi, chosungira sichimawononga zinthu zambiri kuposa zomwe zaperekedwa. Ndiko kuti, tiyenera kuchepetsa chuma. Koma kodi tingamangirire gawoli ku chiyani?

Tiyeni tibwererenso ku chithunzi chathu chosavuta kwambiri cha kulumikizana kwa zigawo ndikujambulanso ndi zina zambiri - monga chonchi:

Mtambo umodzi - data center level OS ku Odnoklassniki

Zomwe zimakusangalatsani:

  • Patsogolo pa intaneti ndi nyimbo zimagwiritsa ntchito magulu amtundu womwewo wa seva.
  • Titha kusiyanitsa zigawo zomveka zomwe masangowa ali nawo: ma fronts, cache, kusungirako deta ndi kusanjikiza kasamalidwe.
  • Frontend ndi yosiyana kwambiri; imakhala ndi machitidwe osiyanasiyana ogwira ntchito.
  • Ma cache amathanso kumwazikana kudera laling'ono lomwe deta yake imasunga.

Tiyeni tijambulenso chithunzichi:

Mtambo umodzi - data center level OS ku Odnoklassniki

Bah! Inde, tikuwona utsogoleri! Izi zikutanthauza kuti mutha kugawa zinthu m'magulu akulu: perekani wopanga mapulogalamu omwe ali ndiudindo mumagulu awa omwe amagwirizana ndi kachitidwe kakang'ono (monga "nyimbo" pachithunzipa), ndikuyika gawo kumlingo womwewo wa utsogoleri. Utsogoleriwu umatithandizanso kukonza mautumiki mosinthika kuti tizitha kuyang'anira mosavuta. Mwachitsanzo, timagawa masamba onse, popeza awa ndi gulu lalikulu kwambiri la maseva, m'magulu ang'onoang'ono angapo, omwe akuwonetsedwa pachithunzichi ngati gulu1, gulu2.

Pochotsa mizere yowonjezera, titha kulemba node iliyonse ya chithunzi chathu m'njira yosalala: group1.web.front, api.music.front, user-cache.cache.

Umu ndi momwe timafikira ku lingaliro la "mzere wa hierarchical". Ili ndi dzina ngati "group1.web.front". Gawo lazinthu ndi ufulu wa ogwiritsa ntchito limaperekedwa kwa iwo. Tidzapatsa munthu wochokera ku DevOps ufulu wotumiza ntchito pamzere, ndipo wogwira ntchitoyo akhoza kuyambitsa chinachake pamzere, ndipo munthu wochokera ku OpsDev adzakhala ndi ufulu wa admin, ndipo tsopano akhoza kuyang'anira mzerewo, kugawa anthu kumeneko, perekani maufulu kwa anthuwa, ndi zina zotero. Ntchito zomwe zikuyenda pamzerewu zichitika mkati mwa gawo la pamzere. Ngati kuchuluka kwa komputa pamzere sikukwanira kuchita ntchito zonse nthawi imodzi, ndiye kuti zizichitika motsatizana, ndikupanga pamzere wokha.

Tiyeni tione mwatsatanetsatane za misonkhano. Ntchito imakhala ndi dzina loyenerera, lomwe nthawi zonse limakhala ndi dzina la pamzere. Ndiye kutsogolo ukonde utumiki adzakhala ndi dzina ok-web.group1.web.front. Ndipo ntchito ya seva yogwiritsira ntchito yomwe imapeza idzatchedwa ok-app.group1.web.front. Utumiki uliwonse uli ndi chiwonetsero, chomwe chimafotokoza zonse zofunika pakuyika pamakina enaake: ndi zinthu zingati zomwe ntchitoyi imagwiritsa ntchito, kasinthidwe kake kakufunika, kuchuluka kwa zofananira zomwe ziyenera kukhala, katundu wogwirira ntchito zolephera. Ndipo ntchitoyi ikayikidwa mwachindunji pamakina, zochitika zake zimawonekera. Amatchulidwanso momveka bwino - monga nambala yachitsanzo ndi dzina lautumiki: 1.ok-web.group1.web.front, 2.ok-web.group1.web.front, ...

Izi ndizothandiza kwambiri: pongoyang'ana dzina la chidebe chothamanga, titha kudziwa zambiri nthawi yomweyo.

Tsopano tiyeni tiwone mwatsatanetsatane zomwe zochitika izi zimachita: ntchito.

Maphunziro Odzipatula

Ntchito zonse mu OK (ndipo mwina kulikonse) zitha kugawidwa m'magulu:

  • Ntchito Zachidule za Latency - prod. Pazochita ndi ntchito zotere, kuchedwa kuyankha (latency) ndikofunikira kwambiri, momwe pempho lililonse lidzasinthidwa mwachangu ndi dongosolo. Zitsanzo za ntchito: ma intaneti, ma cache, maseva ogwiritsira ntchito, kusungirako kwa OLTP, ndi zina.
  • Mavuto owerengera - batch. Apa, kuthamanga kwachangu kwa pempho lililonse sikofunikira. Kwa iwo, ndikofunikira kuwerengera zingati zomwe ntchitoyi ingachite mu nthawi yayitali (yanthawi yayitali). Izi zitha kukhala ntchito zilizonse za MapReduce, Hadoop, kuphunzira pamakina, ziwerengero.
  • Zochita zakumbuyo - zopanda pake. Kwa ntchito zotere, palibe latency kapena throughput ndizofunikira kwambiri. Izi zikuphatikizapo mayesero osiyanasiyana, kusamuka, kuwerengeranso, ndi kusinthidwa kwa deta kuchokera kumtundu wina kupita ku wina. Kumbali imodzi, iwo ali ofanana ndi owerengedwera, kumbali ina, ziribe kanthu kwa ife kuti amatsirizidwa mofulumira bwanji.

Tiyeni tiwone momwe ntchito zoterezi zimawonongera chuma, mwachitsanzo, purosesa yapakati.

Ntchito zochedwetsa zazifupi. Ntchito yotereyi idzakhala ndi mawonekedwe a CPU ofanana ndi awa:

Mtambo umodzi - data center level OS ku Odnoklassniki

Pempho lochokera kwa wogwiritsa ntchito likulandiridwa kuti likonzedwe, ntchitoyo imayamba kugwiritsa ntchito makina onse a CPU omwe alipo, amayendetsa, amabweza yankho, amadikirira pempho lotsatira ndikuyimitsa. Pempho lotsatira linafika - kachiwiri tinasankha chirichonse chomwe chinalipo, kuwerengera, ndipo tikuyembekezera chotsatira.

Kuti titsimikize kuchedwa kochepa pa ntchito yotereyi, tiyenera kutenga zinthu zomwe zimagwiritsa ntchito ndikusunga kuchuluka kwa ma cores pa minion (makina omwe azigwira ntchitoyo). Kenako njira yosungitsira ya vuto lathu ikhala motere:

alloc: cpu = 4 (max)

ndipo ngati tili ndi makina a minion okhala ndi ma cores 16, ndiye kuti ntchito zinayi zotere zitha kuyikidwapo. Tikuwona makamaka kuti kuchuluka kwa purosesa kwa ntchito zotere nthawi zambiri kumakhala kotsika kwambiri - zomwe zikuwonekera, popeza gawo lalikulu la nthawi yomwe ntchitoyi imadikirira pempho ndipo sichita chilichonse.

Ntchito zowerengera. Chitsanzo chawo chidzakhala chosiyana pang'ono:

Mtambo umodzi - data center level OS ku Odnoklassniki

Kuchuluka kwazinthu za CPU pantchito zotere ndizokwera kwambiri. Nthawi zambiri timafuna kuti ntchito yowerengera ikwaniritsidwe mu nthawi inayake, chifukwa chake tiyenera kusunga ma processor ochepa omwe amafunikira kuti kuwerengera konse kumalize munthawi yovomerezeka. Njira yosungitsa yake idzawoneka motere:

alloc: cpu = [1,*)

"Chonde ikhazikitseni pa minion pomwe pali gawo limodzi laulere, ndipo kuchuluka komwe kulipo, kumeza chilichonse."

Apa kugwiritsa ntchito bwino kumakhala bwinoko kale kuposa ntchito zomwe zimachedwa kuchedwa. Koma phindu lidzakhala lalikulu kwambiri ngati mutagwirizanitsa mitundu yonse ya ntchito pa makina amodzi a minion ndikugawa zinthu zake popita. Ntchito ikachedwa kuchedwa ikufuna purosesa, imalandila nthawi yomweyo, ndipo zinthu zikapanda kufunikira, zimasamutsidwa ku ntchito yowerengera, i.e. chonga ichi:

Mtambo umodzi - data center level OS ku Odnoklassniki

Koma bwanji?

Choyamba, tiyeni tiwone prod ndi alloc yake: cpu = 4. Tiyenera kusunga ma cores anayi. Mu Docker kuthamanga izi zitha kuchitika m'njira ziwiri:

  • Kugwiritsa ntchito njira --cpuset=1-4, i.e. perekani makina anayi enieni pamakina ku ntchitoyo.
  • Gwiritsani ntchito --cpuquota=400_000 --cpuperiod=100_000, perekani gawo la nthawi ya purosesa, mwachitsanzo, sonyezani kuti 100 ms iliyonse yanthawi yeniyeni ntchitoyo siwononga nthawi yopitilira 400 ms ya purosesa. Miyendo inayi yomweyi imapezeka.

Koma ndi njira iti mwa njira izi yomwe ili yoyenera?

cpuset imawoneka yokongola kwambiri. Ntchitoyi ili ndi ma cores anayi odzipatulira, zomwe zikutanthauza kuti ma processor cache azigwira ntchito moyenera momwe angathere. Izi zilinso ndi zovuta zake: tikuyenera kugwira ntchito yogawa mawerengero pamakina osatsitsa m'malo mwa OS, ndipo iyi ndi ntchito yosakhala yaing'ono, makamaka ngati tiyesa kuyika ntchito zamagulu pazida zotere. makina. Mayesero awonetsa kuti kusankha komwe kuli ndi gawo kuli koyenera apa: mwanjira iyi makina ogwiritsira ntchito ali ndi ufulu wambiri posankha pachimake kuti agwire ntchitoyo pakali pano ndipo nthawi ya purosesa imagawidwa bwino kwambiri.

Tiyeni tiwone momwe tingasungire ku Docker kutengera kuchuluka kwa ma cores. Chiwerengero cha ntchito zamagulu sichikugwiranso ntchito, chifukwa palibe chifukwa chochepetsera kuchuluka, ndikwanira kungotsimikizira zochepa. Ndipo apa chisankho chikugwirizana bwino docker run --cpushares.

Tidagwirizana kuti ngati batch ikufuna chitsimikizo chapakati chimodzi, ndiye tikuwonetsa --cpushares=1024, ndipo ngati pali ma cores osachepera awiri, ndiye tikuwonetsa --cpushares=2048. Magawo a Cpu samasokoneza mwanjira iliyonse ndikugawa nthawi ya purosesa bola ngati pali zokwanira. Chifukwa chake, ngati prod sakugwiritsa ntchito ma cores ake onse anayi pakadali pano, palibe cholepheretsa ntchito za batch, ndipo atha kugwiritsa ntchito nthawi yowonjezera purosesa. Koma pakakhala kuchepa kwa ma processor, ngati prod yadya ma cores ake onse anayi ndipo yafika pamlingo wake, nthawi yotsalayo idzagawidwa molingana ndi ma cpushares, mwachitsanzo, pamiyeso itatu yaulere, imodzi idzakhala kupatsidwa ntchito yokhala ndi ma cpushare 1024, ndipo awiri otsalawo adzapatsidwa ntchito yokhala ndi 2048 cpushare.

Koma kugwiritsa ntchito magawo ndi magawo sikukwanira. Tiyenera kuwonetsetsa kuti ntchito yochedwetsa pang'ono imakhala patsogolo kuposa ntchito ya batch pogawa nthawi ya purosesa. Popanda kuyika patsogolo kotere, ntchito ya batch idzatenga nthawi yonse ya purosesa panthawi yomwe ikufunika ndi prod. Palibe zosankha zoyika patsogolo zotengera mu Docker run, koma mfundo za Linux CPU scheduler zimakhala zothandiza. Mukhoza kuwerenga za iwo mwatsatanetsatane apa, ndipo mkati mwa nkhaniyi tikambirana mwachidule:

  • SCHED_OTHER
    Mwachikhazikitso, njira zonse zogwiritsira ntchito makina a Linux zimalandiridwa.
  • SCHED_BATCH
    Zapangidwira njira zogwiritsa ntchito kwambiri. Mukayika ntchito pa purosesa, chomwe chimatchedwa chilango choyambitsa chimayambitsidwa: ntchito yotereyi imakhala yochepa kwambiri kuti ilandire zothandizira pulosesa ngati ikugwiritsidwa ntchito ndi SCHED_OTHER
  • SCHED_IDLE
    Njira yakumbuyo yokhala ndi zofunikira zochepa kwambiri, ngakhale zotsika kuposa zabwino -19. Timagwiritsa ntchito laibulale yathu yotsegula ineyo, kuti akhazikitse ndondomeko yofunikira poyambitsa chidebecho poyitana

one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )

Koma ngakhale simukupanga Java, zomwezo zitha kuchitika pogwiritsa ntchito lamulo la chrt:

chrt -i 0 $pid

Tiyeni tifotokoze mwachidule magawo athu onse odzipatula kukhala tebulo limodzi kuti timveke bwino:

Kalasi ya insulation
Alloc Chitsanzo
Zosankha za Docker
sched_setscheduler chrt*

Prod
cpu = 4
--cpuquota=400000 --cpuperiod=100000
SCHED_OTHER

Gulu
Cpu = [1, *)
--cpushares=1024
SCHED_BATCH

Zosayenera
Cpu = [2, *)
--cpushares=2048
SCHED_IDLE

* Ngati mukupanga chrt mkati mwa chidebe, mungafunike sys_nice kuthekera, chifukwa mwachisawawa Docker imachotsa kuthekera uku poyambitsa chidebecho.

Koma ntchito sizimadya purosesa yokha, komanso magalimoto, zomwe zimakhudza kuchedwa kwa ntchito yapaintaneti kuposa kugawa kolakwika kwazinthu za purosesa. Chifukwa chake, mwachibadwa timafuna kupeza chithunzi chofanana cha magalimoto. Ndiye kuti, ntchito ya prod ikatumiza mapaketi ku netiweki, timachepetsa kuthamanga kwambiri (formula alloc: lan=[*,500mbps) ), yemwe prod angachite izi. Ndipo pa batch timatsimikizira zocheperako zokha, koma osachepetsa (formula alloc: lan=[10Mbps,*) ) Pankhaniyi, kuchuluka kwa magalimoto a prod kuyenera kukhala patsogolo kuposa ntchito zamagulu.
Apa Docker alibe zoyambira zomwe tingagwiritse ntchito. Koma zimatithandiza Linux Traffic Control. Tinatha kukwaniritsa zotsatira zomwe tikufuna ndi chithandizo cha chilango Hierarchical Fair Service Curve. Ndi chithandizo chake, timasiyanitsa magulu awiri a magalimoto: otsogola kwambiri komanso otsika kwambiri batch/osagwira ntchito. Zotsatira zake, kasinthidwe ka magalimoto otuluka ali motere:

Mtambo umodzi - data center level OS ku Odnoklassniki

apa 1:0 ndi "root qdisc" ya hsfc chilango; 1: 1 - kalasi ya ana ya hsfc yokhala ndi malire a bandwidth a 8 Gbit / s, pomwe magulu a ana a zida zonse amayikidwa; 1: 2 - kalasi ya ana a hsfc ndi yofala kumagulu onse ndi ntchito zopanda pake zomwe zili ndi malire "zamphamvu", zomwe zafotokozedwa pansipa. Makalasi a ana otsala a hsfc ndi makalasi odzipatulira omwe ali ndi zotengera zomwe zili ndi malire ofanana ndi mawonekedwe awo - 450 ndi 400 Mbit/s. Kalasi iliyonse ya hsfc imapatsidwa qdisc queue fq kapena fq_codel, kutengera mtundu wa Linux kernel, kupewa kutayika kwa paketi pakaphulika magalimoto.

Nthawi zambiri, maphunziro a tc amagwira ntchito yoyika patsogolo magalimoto otuluka. Koma tikufunanso kuyika patsogolo kuchuluka kwa magalimoto omwe akubwera - pambuyo pake, ntchito ina yamagulu imatha kusankha njira yonse yomwe ikubwera, kulandira, mwachitsanzo, gulu lalikulu lazolowera zamapu&kuchepetsa. Kwa izi timagwiritsa ntchito module ifb, yomwe imapanga mawonekedwe a ifbX pa mawonekedwe aliwonse a netiweki ndikuwongolera magalimoto omwe akubwera kuchokera ku mawonekedwe kupita kumayendedwe otuluka pa ifbX. Kupitilira apo, kwa ifbX, machitidwe onse omwewo amagwira ntchito kuwongolera magalimoto omwe atuluka, pomwe kasinthidwe ka hsfc kudzakhala kofanana kwambiri:

Mtambo umodzi - data center level OS ku Odnoklassniki

Pazoyeserera, tidapeza kuti hsfc ikuwonetsa zotsatira zabwino pomwe gulu la 1: 2 la magalimoto osafunikira kwambiri / osagwira ntchito amakhala ochepa pamakina a minion osapitilira njira ina yaulere. Kupanda kutero, kuchuluka kwa magalimoto osafunikira kumakhudza kuchedwa kwa ntchito za prod kwambiri. miniond imatsimikizira kuchuluka kwa bandiwifi yaulere sekondi iliyonse, kuyeza kuchuluka kwa magalimoto omwe amagwiritsidwa ntchito pazantchito zonse za minion yopatsidwa. Mtambo umodzi - data center level OS ku Odnoklassniki ndikuchichotsa ku network interface bandwidth Mtambo umodzi - data center level OS ku Odnoklassniki ndi malire ang'onoang'ono, i.e.

Mtambo umodzi - data center level OS ku Odnoklassniki

Magulu amatanthauzidwa paokha pamayendedwe obwera ndi otuluka. Ndipo molingana ndi zikhalidwe zatsopano, miniond imakonzanso malire osafunikira 1: 2.

Chifukwa chake, tidakhazikitsa makalasi onse atatu odzipatula: prod, batch and idle. Maphunzirowa amakhudza kwambiri machitidwe a ntchito. Chifukwa chake, tidaganiza zoyika izi pamwamba pa utsogoleri, kuti tikayang'ana dzina la mzere wotsogola zidziwike nthawi yomweyo zomwe tikuchita:

Mtambo umodzi - data center level OS ku Odnoklassniki

Anzathu onse Webusaiti ΠΈ nyimbo mbalizo zimayikidwa mu hierarchy pansi pa prod. Mwachitsanzo, pansi pa batch, tiyeni tiyike ntchito nyimbo catalog, yomwe nthawi ndi nthawi imapanga kalozera wama nyimbo kuchokera pamafayilo a mp3 omwe adakwezedwa ku Odnoklassniki. Chitsanzo cha utumiki wosagwira ntchito chingakhale chosinthira nyimbo, zomwe zimasinthiratu kuchuluka kwa nyimbo.

Mizere yowonjezereka itachotsedwanso, titha kulemba mayina athu a ntchito momveka bwino powonjezera kalasi yodzipatula kumapeto kwa dzina lantchito yonse: web.front.prod, catalog.music.batch, transformer.music.idle.

Ndipo tsopano, poyang'ana pa dzina la utumiki, sitimvetsetsa zomwe zimagwira ntchito, komanso gulu lake lodzipatula, lomwe limatanthauza kutsutsa kwake, ndi zina zotero.

Chilichonse ndichabwino, koma pali chowonadi chowawa chimodzi. Sizingatheke kudzipatula kwathunthu ntchito zomwe zikuyenda pa makina amodzi.

Zomwe tidakwanitsa kukwaniritsa: ngati batch idya kwambiri okha Zothandizira za CPU, ndiye kuti makina a Linux CPU omangidwamo amagwira ntchito yake bwino kwambiri, ndipo palibe chilichonse chokhudza ntchito ya prod. Koma ngati batch ntchito ikuyamba kugwira ntchito ndi kukumbukira, ndiye kuti kukopana kumawonekera kale. Izi zimachitika chifukwa ntchito ya prod "yatsukidwa" m'makumbukidwe a purosesa - chifukwa chake, kuphonya kwa cache kumawonjezeka, ndipo purosesa imagwira ntchito ya prod pang'onopang'ono. Ntchito yotereyi imatha kukulitsa latency ya chidebe chathu chodziwika bwino ndi 10%.

Kupatula magalimoto kumakhala kovuta kwambiri chifukwa makhadi amakono a network ali ndi mzere wamkati wamapaketi. Ngati paketi yochokera ku ntchito ya batch ikafika poyamba, ndiye kuti idzakhala yoyamba kufalitsidwa pa chingwe, ndipo palibe chomwe chingachitike.

Kuonjezera apo, takhala tikutha kuthetsa vuto loyika patsogolo magalimoto a TCP: njira ya hsfc siigwira ntchito kwa UDP. Ndipo ngakhale pamtundu wa TCP, ngati ntchito ya batch imapanga magalimoto ambiri, izi zimaperekanso za 10% kuwonjezeka kwa kuchedwa kwa ntchito ya prod.

kulekerera zolakwika

Chimodzi mwazolinga popanga mtambo umodzi chinali kukonza kulolerana kwa zolakwika za Odnoklassniki. Chifukwa chake, chotsatira ndikufuna kulingalira mwatsatanetsatane zochitika za zolephera ndi ngozi. Tiyeni tiyambe ndi zochitika zosavuta - kulephera kwa chidebe.

Chidebe chokhacho chimatha kulephera m'njira zingapo. Izi zitha kukhala kuyesa, cholakwika kapena cholakwika mu chiwonetsero, chifukwa chomwe ntchito yotsatsa imayamba kugwiritsa ntchito zinthu zambiri kuposa momwe zasonyezedwera. Tidali ndi mlandu: wopanga adagwiritsa ntchito njira imodzi yovuta, adayikonzanso kangapo, adadziganizira yekha ndipo adasokonezeka kwambiri kotero kuti vutolo lidakhazikika mwanjira yosachepera. Ndipo popeza ntchito ya prod imakhala yofunika kwambiri kuposa ena onse omwe ali pagulu lomwelo, idayamba kugwiritsa ntchito zida zonse zomwe zilipo. Munthawi imeneyi, kudzipatula, kapena kuchuluka kwa nthawi ya CPU, kudapulumutsa tsiku. Ngati ntchito yapatsidwa gawo, ntchitoyo sichitha. Chifukwa chake, batch ndi ntchito zina za prod zomwe zidayenda pamakina omwewo sizinazindikire kalikonse.

Vuto lachiwiri lotheka ndikugwa kwa chidebecho. Ndipo apa mfundo zoyambitsanso zimatipulumutsa, aliyense amawadziwa, Docker mwiniwake amachita ntchito yabwino. Pafupifupi ntchito zonse za prod zimakhala ndi mfundo zoyambitsanso. Nthawi zina timagwiritsa ntchito on_failure pa ntchito za batch kapena kukonza zotengera za prod.

Kodi mungatani ngati gulu lonse silikupezeka?

Mwachiwonekere, yendetsani chidebecho pamakina ena. Gawo losangalatsa apa ndizomwe zimachitika ku ma adilesi a IP omwe amaperekedwa ku chidebecho.

Titha kugawira zotengera ma adilesi a IP ofanana ndi makina a minion pomwe zotengerazi zimayendera. Kenako, chidebecho chikayambitsidwa pamakina ena, adilesi yake ya IP imasintha, ndipo makasitomala onse ayenera kumvetsetsa kuti chidebecho chasuntha, ndipo tsopano akuyenera kupita ku adilesi ina, yomwe imafuna ntchito yosiyana ya Service Discovery.

Service Discovery ndiyosavuta. Pali mayankho ambiri pamsika amitundu yosiyanasiyana yololera zolakwika pakukonza zolembetsa zantchito. Nthawi zambiri zothetsera zotere zimagwiritsa ntchito malingaliro olemetsa, sungani masinthidwe owonjezera ngati KV yosungirako, ndi zina zambiri.
Komabe, tikufuna kupewa kufunikira kokhazikitsa kaundula wosiyana, chifukwa izi zitha kutanthauza kuyambitsa dongosolo lovuta lomwe limagwiritsidwa ntchito ndi mautumiki onse popanga. Izi zikutanthawuza kuti izi ndizovuta zomwe zingatheke, ndipo muyenera kusankha kapena kukhazikitsa njira yothetsera zolakwika, zomwe mwachiwonekere zimakhala zovuta kwambiri, zowononga nthawi komanso zodula.

Ndipo chopinga chinanso chachikulu: kuti zida zathu zakale zigwire ntchito ndi zatsopano, tifunika kulembanso ntchito zonse kuti tigwiritse ntchito mtundu wina wa Service Discovery system. Pali ntchito zambiri, ndipo m'malo ena zimakhala zosatheka zikafika pazida zotsika zomwe zimagwira pa OS kernel level kapena mwachindunji ndi hardware. Kugwiritsa ntchito izi pogwiritsa ntchito njira zokhazikitsidwa, monga galimoto yam'mbali zingatanthauze m'malo ena katundu wowonjezera, mwa ena - zovuta za ntchito ndi zochitika zina zolephera. Sitinkafuna kusokoneza zinthu, choncho tinaganiza zogwiritsa ntchito Service Discovery mwakufuna.

Mumtambo umodzi, IP imatsata chidebecho, mwachitsanzo, ntchito iliyonse ili ndi adilesi yake ya IP. Adilesiyi ndi "static": imaperekedwa nthawi iliyonse pamene ntchitoyo imatumizidwa kumtambo. Ngati ntchitoyo inali ndi maulendo angapo pa moyo wake, ndiye kuti pamapeto pake idzapatsidwa ma adilesi ambiri a IP monga momwe zinalili nthawi zambiri.

Pambuyo pake, maadiresi awa sasintha: amapatsidwa kamodzi ndikupitiriza kukhalapo pa moyo wonse wa ntchito yopanga. Maadiresi a IP amatsata zotengera pa netiweki yonse. Ngati chidebecho chisamutsidwa ku minion ina, ndiye kuti adilesi idzatsatira.

Chifukwa chake, kupanga mapu a dzina lautumiki pamndandanda wake wa ma adilesi a IP kumasintha kawirikawiri. Ngati muyang'ananso mayina a zochitika zautumiki zomwe tazitchula kumayambiriro kwa nkhaniyi (1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod, ...), tiwona kuti amafanana ndi ma FQDN omwe amagwiritsidwa ntchito mu DNS. Ndiko kulondola, kuyika mayina anthawi yantchito kumaadiresi awo a IP, timagwiritsa ntchito protocol ya DNS. Kuphatikiza apo, DNS iyi imabwezeretsa ma adilesi onse a IP osungidwa pazotengera zonse - zonse zomwe zikuyenda ndikuyimitsidwa (tinene kuti zofananira zitatu zimagwiritsidwa ntchito, ndipo tili ndi ma adilesi asanu omwe asungidwa pamenepo - onse asanu abwezedwa). Makasitomala, atalandira chidziwitsochi, ayesa kukhazikitsa kulumikizana ndi zofananira zonse zisanu - ndikuzindikira zomwe zikugwira ntchito. Njira iyi yodziwira kupezeka ndi yodalirika kwambiri; sizimaphatikizapo DNS kapena Service Discovery, zomwe zikutanthauza kuti palibe zovuta zovuta zothetsera pakuwonetsetsa kufunikira kwa chidziwitso ndi kulolerana kolakwika kwa machitidwewa. Komanso, mu mautumiki ovuta omwe ntchito ya portal yonse imadalira, sitingagwiritse ntchito DNS nkomwe, koma ingolowetsani ma adilesi a IP mu kasinthidwe.

Kukhazikitsa kusamutsa kwa IP kuseri kwa zotengera kumatha kukhala kopanda pake - ndipo tiwona momwe kumagwirira ntchito ndi chitsanzo chotsatirachi:

Mtambo umodzi - data center level OS ku Odnoklassniki

Tinene kuti mbuye wamtambo umodzi amapereka lamulo kwa minion M1 kuthamanga 1.ok-web.group1.web.front.prod ndi adilesi 1.1.1.1. Amagwira ntchito pa minion BIRD, yomwe imatsatsa adilesi iyi kumaseva apadera chowunikira njira. Otsatirawa ali ndi gawo la BGP ndi hardware network, momwe njira ya adiresi 1.1.1.1 pa M1 imamasuliridwa. M1 njira mapaketi mkati mwa chidebe pogwiritsa ntchito Linux. Pali ma seva atatu owonetsera njira, popeza iyi ndi gawo lofunikira kwambiri lachitukuko chamtambo umodzi - popanda iwo, maukonde mumtambo umodzi sangagwire ntchito. Timawayika muzitsulo zosiyana, ngati n'kotheka zomwe zili m'zipinda zosiyanasiyana za data center, kuti muchepetse mwayi wa atatu onse akulephera nthawi imodzi.

Tiyeni tsopano tiyerekeze kuti kugwirizana pakati pa mbuye wamtambo umodzi ndi M1 minion kwatayika. Mbuye wamtambo umodzi tsopano adzachitapo kanthu poganiza kuti M1 yalephera kwathunthu. Ndiye kuti, idzapereka lamulo kwa M2 minion kuti ayambe web.group1.web.front.prod ndi adilesi yomweyo 1.1.1.1. Tsopano tili ndi njira ziwiri zotsutsana pa intaneti za 1.1.1.1: pa M1 ndi pa M2. Kuti tithetse mikangano yotere, timagwiritsa ntchito Multi Exit Discriminator, yomwe yatchulidwa mu chilengezo cha BGP. Iyi ndi nambala yomwe ikuwonetsa kulemera kwa njira yotsatsira. Pakati pa njira zotsutsana, njira yomwe ili ndi mtengo wotsika wa MED idzasankhidwa. Mbuye wamtambo umodzi amathandizira MED ngati gawo lofunikira la ma adilesi a IP. Kwa nthawi yoyamba, adiresi imalembedwa ndi MED = 1. M'malo a chidebe chodzidzimutsa chotere, mbuye amachepetsa MED, ndipo M000 adzalandira kale lamulo lolengeza adiresi 000 ndi MED = 2. Chitsanzo chomwe chikuyenda pa M1.1.1.1 chidzakhalabe pamenepa palibe kugwirizana, ndipo tsogolo lake silinatisangalatse pang'ono mpaka kugwirizana ndi mbuye kubwezeretsedwa, pamene adzayimitsidwa ngati wakale.

ngozi

Machitidwe onse oyang'anira malo a data nthawi zonse amayendetsa zolephera zazing'ono movomerezeka. Kusefukira kwa chidebe ndikofala pafupifupi kulikonse.

Tiyeni tiwone momwe timachitira zadzidzidzi, monga kulephera kwa magetsi muchipinda chimodzi kapena zingapo za data center.

Kodi ngozi imatanthauza chiyani padongosolo la data center? Choyamba, uku ndikulephera kwakukulu kwa nthawi imodzi kwamakina ambiri, ndipo makina owongolera amafunika kusamutsa zida zambiri nthawi imodzi. Koma ngati tsokalo ndi lalikulu kwambiri, ndiye kuti zikhoza kuchitika kuti ntchito zonse sizingaperekedwenso kwa abwenzi ena, chifukwa mphamvu ya data center imatsika pansi pa 100% ya katunduyo.

Nthawi zambiri ngozi limodzi ndi kulephera kwa ulamuliro wosanjikiza. Izi zitha kuchitika chifukwa cha kulephera kwa zida zake, koma nthawi zambiri chifukwa chakuti ngozi sizimayesedwa, ndipo gawo lowongolera lokha limagwa chifukwa cha kuchuluka kwa katundu.

Kodi mungatani pa zonsezi?

Kusamuka kwa anthu ambiri kumatanthawuza kuti pali ntchito zambiri, kusamuka, ndi kutumizidwa komwe kumachitika m'magawo. Kusamuka kulikonse kutha kutenga nthawi kuti apereke ndi kumasula zithunzi za m'chidebe kwa anthu ochepa, kukhazikitsa ndi kukhazikitsa zotengera, ndi zina zotero. Choncho, ndikofunika kuti ntchito zofunika kwambiri ziyambe zisanakhale zofunika kwambiri.

Tiyeni tiwonenso zaulamuliro wa mautumiki omwe timawadziwa ndikuyesa kusankha ntchito zomwe tikufuna kuchita poyamba.

Mtambo umodzi - data center level OS ku Odnoklassniki

Zachidziwikire, izi ndi njira zomwe zimakhudzidwa mwachindunji pakukonza zopempha za ogwiritsa ntchito, mwachitsanzo, prod. Tiziwonetsa izi ndi kuika patsogolo - nambala yomwe ingaperekedwe pamzere. Ngati mzere uli wofunika kwambiri, mautumiki ake amaikidwa poyamba.

Pa prod timayika zofunikira kwambiri, 0; pa mtanda - pang'ono kutsika, 100; pa zopanda pake - ngakhale kutsika, 200. Zoyambira zimayikidwa mwadongosolo. Ntchito zonse zotsikirako mu utsogoleri wotsogola zizikhala ndi zofunikira zofananira. Ngati tikufuna kuti ma cache mkati mwa prod akhazikitsidwe pamaso pa ma frontends, ndiye kuti timagawira zofunikira ku cache = 0 ndi kutsogolo kwa subqueues = 1. Ngati, mwachitsanzo, tikufuna kuti chitseko chachikulu chikhazikitsidwe kuchokera kutsogolo, ndipo nyimbo kutsogolo kokha. ndiye, ndiye titha kuyika zofunika kwambiri pazomaliza - 10.

Vuto lotsatira ndikusowa kwazinthu. Choncho, zida zambiri, maholo onse a data center, analephera, ndipo tinayambitsanso mautumiki ambiri omwe tsopano palibe zinthu zokwanira kwa aliyense. Muyenera kusankha ntchito zomwe mungadzipereke kuti mupitirize ntchito zofunika kwambiri.

Mtambo umodzi - data center level OS ku Odnoklassniki

Mosiyana ndi kuyika patsogolo, sitingathe kudzipereka mwachisawawa ntchito zonse zamagulu; zina ndi zofunika pakugwira ntchito kwa portal. Chifukwa chake, tawunikira mosiyana kukhululukidwa patsogolo ntchito. Ikayikidwa, ntchito yofunika kwambiri imatha kuwongolera, mwachitsanzo, kuyimitsa, ntchito yofunika kwambiri ngati kulibenso othandizira aulere. Pankhaniyi, ntchito yokhala ndi zofunikira zochepa mwina ikhalabe yosayikidwa, i.e. sipadzakhalanso minion yoyenera kwa iyo yokhala ndi zida zokwanira zaulere.

Muulamuliro wathu, ndizosavuta kutchula chinthu chofunikira kwambiri kuti ntchito za prod ndi batch zitsogolere kapena kuyimitsa ntchito zopanda pake, koma osati wina ndi mzake, pofotokoza chofunikira kwambiri chopanda ntchito chofanana ndi 200. Monga momwe zimakhalira pakuyika patsogolo, timafunikira titha kugwiritsa ntchito utsogoleri wathu kuti tifotokoze malamulo ovuta kwambiri. Mwachitsanzo, tiyeni tiwonetsere kuti timasiya nyimbo ngati tilibe zida zokwanira pa tsamba lalikulu la intaneti, ndikuyika patsogolo ma node ofananirako pansi: 10.

Ngozi zonse za DC

Chifukwa chiyani malo onse a data angalephereke? Chinthu. Inali positi yabwino mphepo yamkuntho inakhudza ntchito ya data center. Zinthuzo zitha kuonedwa ngati anthu opanda pokhala omwe nthawi ina adawotcha ma optics mosiyanasiyana, ndipo malo opangira data adasiya kulumikizana ndi masamba ena. Chifukwa cholephera chingakhalenso chinthu chaumunthu: wogwiritsa ntchitoyo adzapereka lamulo loti deta yonse idzagwa. Izi zitha kuchitika chifukwa cha vuto lalikulu. Kawirikawiri, kugwa kwa data center sikwachilendo. Izi zimachitika kwa ife kamodzi miyezi ingapo iliyonse.

Ndipo izi ndi zomwe timachita kuti tipewe aliyense kuti asalembe #alive.

Njira yoyamba ndiyo kudzipatula. Nthawi iliyonse yamtambo umodzi imakhala yokha ndipo imatha kuyang'anira makina pa data imodzi yokha. Ndiko kuti, kutayika kwa mtambo chifukwa cha nsikidzi kapena malamulo olakwika oyendetsa ndikutayika kwa data imodzi yokha. Ndife okonzekera izi: tili ndi ndondomeko ya redundancy momwe zofananira za ntchito ndi deta zili m'malo onse a deta. Timagwiritsa ntchito nkhokwe zololera zolakwika ndipo nthawi ndi nthawi timayesa zolephera.
Popeza lero tili ndi malo anayi a data, zomwe zikutanthauza zinayi zosiyana, zochitika zapadera za mtambo umodzi.

Njirayi sikuti imangoteteza kulephera kwa thupi, komanso imatha kuteteza ku zolakwika za opareshoni.

Ndi chiyani chinanso chomwe chingachitidwe ndi chinthu chaumunthu? Wogwiritsa ntchito akapatsa mtambo lamulo lachilendo kapena lomwe lingakhale lowopsa, angapemphedwe kuti athetse vuto laling'ono kuti awone momwe analingalirira bwino. Mwachitsanzo, ngati uwu ndi mtundu wina wa kuyimitsidwa kwa ma replicas ambiri kapena lamulo lachilendo - kuchepetsa kuchuluka kwa zofananira kapena kusintha dzina lachithunzicho, osati nambala yachiwonetsero mu chiwonetsero chatsopano.

Mtambo umodzi - data center level OS ku Odnoklassniki

Zotsatira

Zodziwika za mtambo umodzi:

  • Hierarchical and visual nameming scheme pazantchito ndi zotengera, zomwe zimakupatsani mwayi wodziwa mwachangu kuti ntchitoyo ndi chiyani, ikukhudzana bwanji ndi momwe imagwirira ntchito komanso omwe ali ndi udindo.
  • Timayika zathu njira yophatikizira prod- ndi batch-ntchito pa minions kuti apititse patsogolo luso la kugawana makina. M'malo mwa cpuset timagwiritsa ntchito ma CPU quotas, magawo, ndondomeko za CPU scheduler ndi Linux QoS.
  • Sizinali zotheka kupatula zotengera zomwe zikuyenda pamakina omwewo, koma kukopana kwawo kumakhalabe mkati mwa 20%.
  • Kupanga mautumiki m'magulu otsogola kumathandizira kuchira pakachitika masoka pogwiritsa ntchito kuika patsogolo ndi kuteteza.

FAQ

Chifukwa chiyani sitinatenge yankho lomwe lakonzedwa kale?

  • Magulu osiyanasiyana odzipatula amafunikira malingaliro osiyanasiyana akayikidwa pa minion. Ngati ntchito za prod zitha kukhazikitsidwa ndikungosunga zothandizira, ndiye kuti ntchito zamagulu ndi zopanda pake ziyenera kuyikidwa, kutsatira kagwiritsidwe ntchito kazinthu zenizeni pamakina ang'onoang'ono.
  • Kufunika koganizira zinthu zomwe zimagwiritsidwa ntchito ndi ntchito, monga:
    • bandwidth network;
    • mitundu ndi "spindles" za disks.
  • Kufunika kosonyeza zofunikira za mautumiki panthawi yachangu, ufulu ndi magawo a malamulo azinthu, zomwe zimathetsedwa pogwiritsa ntchito mizere ya hierarchical mumtambo umodzi.
  • Kufunika kokhala ndi mayina amunthu kuti achepetse nthawi yoyankha ngozi ndi zochitika
  • Kusatheka kwa nthawi imodzi kufalikira kwa Service Discovery; kufunikira kokhala nthawi yayitali ndi ntchito zomwe zimagwiridwa ndi makamu a hardware - china chake chomwe chimathetsedwa ndi ma adilesi a "static" a IP kutsatira nkhokwe, ndipo, chifukwa chake, kufunikira kwa kuphatikiza kwapadera ndi ma network akuluakulu.

Ntchito zonsezi zingafune kusinthidwa kwakukulu kwa mayankho omwe alipo kuti agwirizane ndi ife, ndipo, titawunika kuchuluka kwa ntchito, tinazindikira kuti titha kupanga yankho lathu ndi ndalama zofananira zantchito. Koma yankho lanu lidzakhala losavuta kugwiritsa ntchito ndikukulitsa - liribe zotsalira zosafunikira zomwe zimathandizira magwiridwe antchito omwe sitifunikira.

Kwa iwo omwe amawerenga mizere yomaliza, zikomo chifukwa cha kuleza mtima kwanu ndi chidwi chanu!

Source: www.habr.com

Kuwonjezera ndemanga