Sjálfvirkni netkerfisins. Mál úr lífi manns

Hæ Habr!

Í þessari grein viljum við tala um sjálfvirkni netkerfisins. Kynnt verður vinnuskýringarmynd af netinu sem starfar í einu litlu en mjög stoltu fyrirtæki. Allar samsvörun við raunverulegan netbúnað eru af handahófi. Við munum skoða mál sem kom upp í þessu neti, sem hefði getað leitt til rekstrarstöðvunar í langan tíma og alvarlegs fjárhagstjóns. Lausnin á þessu máli passar mjög vel inn í hugtakið „Sjálfvirkni netuppbyggingar“. Með því að nota sjálfvirkniverkfæri munum við sýna hvernig þú getur leyst flókin vandamál á áhrifaríkan hátt á stuttum tíma og við munum íhuga hvers vegna ætti að leysa þessi vandamál á þennan hátt en ekki á annan hátt (í gegnum stjórnborðið).

Afneitun ábyrgðar

Helstu verkfæri okkar fyrir sjálfvirkni eru Ansible (sem sjálfvirkniverkfæri) og Git (sem geymsla fyrir Ansible leikbækur). Ég vil strax setja fyrirvara um að þetta er ekki kynningargrein, þar sem við tölum um rökfræði Ansible eða Git, og útskýrir grunnatriði (td hvað eru roletaskimodules, birgðaskrár, breytur í Ansible, eða hvað gerist þegar þú slærð inn git push eða git commit skipanirnar). Þessi saga fjallar ekki um hvernig þú getur æft Ansible og stillt NTP eða SMTP á búnaðinum þínum. Þetta er saga um hvernig þú getur fljótt og helst leyst netvandamál án villna. Einnig er ráðlegt að hafa góðan skilning á því hvernig netið virkar, sérstaklega hvað TCP/IP, OSPF, BGP samskiptareglur eru. Við munum einnig taka valið á Ansible og Git út úr jöfnunni. Ef þú þarft samt að velja ákveðna lausn mælum við eindregið með því að þú lesir bókina „Netforritun og sjálfvirkni. Skills for the Next-Generation Network Engineer" eftir Jason Edelman, Scott S. Lowe og Matt Oswalt.

Nú að efninu.

Samsetning vandans

Við skulum ímynda okkur aðstæður: Klukkan 3 að morgni, þú ert í fastasvefni og dreymir. Símtal. Tæknistjórinn kallar:

- Já?
— ###, ####, #####, eldveggsþyrpingin hefur fallið og rís ekki!!!
Þú nuddar augun, reynir að skilja hvað er að gerast og ímyndar þér hvernig þetta gæti jafnvel gerst. Í símanum heyrist hárið á höfði leikstjórans rifna og hann biður um að hringja til baka því hershöfðinginn er að hringja í hann á annarri línu.

Hálftíma síðar safnaðir þú fyrstu kynningarbréfunum af vaktinni, vaktir alla sem hægt var að vekja. Fyrir vikið laug tæknistjórinn ekki, allt er eins og það er, aðalþyrping eldveggja er fallin og engar grunnhreyfingar líkamans koma honum til vits og ára. Öll þjónusta sem fyrirtækið býður upp á gengur ekki.

Veldu vandamál að þínum smekk, allir muna eftir einhverju öðru. Til dæmis, eftir uppfærslu á einni nóttu þar sem ekki var mikið álag, gekk allt vel og allir fóru ánægðir að sofa. Umferð byrjaði að flæða og viðmótsbuffarar fóru að flæða yfir vegna galla í netkortadriflinum.

Jackie Chan getur lýst ástandinu vel.

Sjálfvirkni netkerfisins. Mál úr lífi manns

Þakka þér, Jackie.

Ekki mjög skemmtilegt ástand, er það?

Við skulum yfirgefa netið okkar bróðir með sorgarhugsanir sínar um stund.

Við skulum ræða hvernig atburðir munu þróast frekar.

Við leggjum til eftirfarandi röð á framsetningu efnisins

  1. Við skulum skoða netskýringuna og sjá hvernig það virkar;
  2. Við munum lýsa því hvernig við flytjum stillingar frá einum beini til annars með því að nota Ansible;
  3. Við skulum tala um sjálfvirkni upplýsingatækniinnviða í heild sinni.

Skýringarmynd netkerfis og lýsing

Kerfið

Sjálfvirkni netkerfisins. Mál úr lífi manns

Við skulum íhuga rökrétt skýringarmynd fyrirtækisins okkar. Við munum ekki nefna sérstaka búnaðarframleiðendur; að því er varðar þessa grein skiptir það ekki máli (Athugasamur lesandi mun giska á hvers konar búnað er notaður). Þetta er bara einn af góðu kostunum við að vinna með Ansible; við uppsetningu er okkur almennt sama hvers konar búnaður það er. Bara til að skilja, þetta er búnaður frá þekktum söluaðilum, eins og Cisco, Juniper, Check Point, Fortinet, Palo Alto...þú getur komið í staðinn fyrir þinn eigin valkost.

Við höfum tvö meginverkefni til að flytja umferð:

  1. Tryggja birtingu á þjónustu okkar, sem er fyrirtæki fyrirtækisins;
  2. Veita samskipti við útibú, fjarlæg gagnaver og þriðja aðila (samstarfsaðila og viðskiptavini), auk aðgangs útibúa að internetinu í gegnum aðalskrifstofuna.

Byrjum á grunnþáttunum:

  1. Tveir landamærabeini (BRD-01, BRD-02);
  2. Firewall Cluster (FW-CLUSTER);
  3. Kjarnarofi (L3-CORE);
  4. Bein sem mun verða björgunarlína (þegar við leysum vandamálið, flytjum við netstillingarnar frá FW-CLUSTER til EMERGENCY) (EMERGENCY);
  5. Rofar fyrir netinnviðastjórnun (L2-MGMT);
  6. Sýndarvél með Git og Ansible (VM-AUTOMATION);
  7. Fartölva þar sem prófun og þróun leikbóka fyrir Ansible (Laptop-Automation) fer fram á.

Netið er stillt með kraftmikilli OSPF leiðarreglu með eftirfarandi svæðum:

  • Svæði 0 – svæði sem inniheldur beinar sem bera ábyrgð á að flytja umferð á EXCHANGE svæði;
  • Svæði 1 – svæði sem inniheldur beinar sem bera ábyrgð á rekstri fyrirtækjaþjónustu;
  • Svæði 2 – svæði sem inniheldur beinar sem bera ábyrgð á leiðarstjórnunarumferð;
  • Svæði N – svæði útibúaneta.

Á landamærabeinum er sýndarbeini (VRF-INTERNET) búinn til, þar sem eBGP full view er sett upp með samsvarandi úthlutað AS. iBGP er stillt á milli VRFs. Fyrirtækið er með hóp af hvítum heimilisföngum sem eru birt á þessum VRF-INTERNETI. Sum hvítu vistfönganna eru send beint til FW-CLUSTER (heimilisföng sem þjónusta fyrirtækisins starfar á), sum eru flutt í gegnum EXCHANGE svæðið (innri þjónusta fyrirtækisins sem krefst ytri IP tölur og ytri NAT vistföng fyrir skrifstofur). Næst fer umferðin í sýndarbeina sem eru búnir til á L3-CORE með hvítum og gráum heimilisföngum (öryggissvæðum).

Stjórnunarnetið notar sérstaka rofa og táknar líkamlega hollt net. Stjórnunarnetinu er einnig skipt í öryggissvæði.
EMERGENCY routerinn afritar FW-CLUSTER líkamlega og rökrétt. Öll viðmót á því eru óvirk nema þau sem skoða stjórnunarnetið.

Sjálfvirkni og lýsing hennar

Við komumst að því hvernig netið virkar. Nú skulum við skoða skref fyrir skref hvað við munum gera til að flytja umferð frá FW-CLUSTER í neyðartilvik:

  1. Við slökkva á viðmótum á kjarnarofanum (L3-CORE) sem tengja hann við FW-CLUSTER;
  2. Við slökkva á viðmótum á L2-MGMT kjarnarofanum sem tengja hann við FW-CLUSTER;
  3. Við stillum neyðarbeini (sjálfgefið eru öll viðmót óvirk á honum, nema þau sem tengjast L2-MGMT):

  • Við virkum tengi á neyðartilvikum;
  • Við stillum ytri IP tölu (fyrir NAT) sem var á FW-þyrpingunni;
  • Við búum til gARP beiðnir þannig að poppy vistföngunum í L3-CORE arp töflunum er breytt úr FW-Cluster í EMERGENCY;
  • Við skráum sjálfgefna leið sem kyrrstæða í BRD-01, BRD-02;
  • Búðu til NAT reglur;
  • Hækkaðu í neyðartilvik OSPF svæði 1;
  • Hækkaðu í neyðartilvik OSPF svæði 2;
  • Við breytum kostnaði við leiðir á svæði 1 í 10;
  • Við breytum kostnaði við sjálfgefna leið á svæði 1 í 10;
  • Við breytum IP tölum sem tengjast L2-MGMT (í þær sem voru á FW-CLUSTER);
  • Við búum til gARP beiðnir þannig að poppy vistföngunum í L2-MGMT arp töflunum er breytt úr FW-CLUSTER í EMERGENCY.

Aftur snúum við aftur að upprunalegu mótun vandans. Klukkan þrjú að morgni, gífurlegt álag, mistök á hvaða stigi sem er geta leitt til nýrra vandamála. Tilbúinn til að slá inn skipanir í gegnum CLI? Já? Ok, farðu allavega að skola andlitið, drekka kaffi og safna viljastyrk þínum.
Bruce, vinsamlegast hjálpaðu strákunum.

Sjálfvirkni netkerfisins. Mál úr lífi manns

Jæja, við höldum áfram að bæta sjálfvirkni okkar.
Hér að neðan er skýringarmynd af því hvernig leikbókin virkar í Ansible skilmálum. Þetta kerfi endurspeglar það sem við lýstum hér að ofan, það er bara ákveðin útfærsla í Ansible.
Sjálfvirkni netkerfisins. Mál úr lífi manns

Á þessu stigi gerðum við okkur grein fyrir því hvað þarf að gera, þróuðum leikbók, gerðum prófanir og nú erum við tilbúin að setja hana af stað.

Önnur lítil ljóðræn útrás. Auðveld sagan ætti ekki að villa um fyrir þér. Ferlið við að skrifa leikrit var ekki eins einfalt og fljótlegt og það kann að virðast. Prófun tók töluverðan tíma, sýndarstandur var búinn til, lausnin var margprófuð, um 100 prófanir voru gerðar.

Við skulum ræsa... Það er tilfinning að allt sé að gerast mjög hægt, það er villa einhvers staðar, eitthvað mun ekki virka á endanum. Tilfinningin um að hoppa með fallhlíf, en fallhlífin vill ekki opnast strax... þetta er eðlilegt.

Næst lesum við niðurstöður framkvæmda aðgerða Ansible leikbókarinnar (IP tölunum var skipt út í leynd):

[xxx@emergency ansible]$ ansible-playbook -i /etc/ansible/inventories/prod_inventory.ini /etc/ansible/playbooks/emergency_on.yml 

PLAY [------->Emergency on VCF] ********************************************************

TASK [vcf_junos_emergency_on : Disable PROD interfaces to FW-CLUSTER] *********************
changed: [vcf]

PLAY [------->Emergency on MGMT-CORE] ************************************************

TASK [mgmt_junos_emergency_on : Disable MGMT interfaces to FW-CLUSTER] ******************
changed: [m9-03-sw-03-mgmt-core]

PLAY [------->Emergency on] ****************************************************

TASK [mk_routeros_emergency_on : Enable EXT-INTERNET interface] **************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Generate gARP for EXT-INTERNET interface] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable static default route to EXT-INTERNET] ****************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change NAT rule to EXT-INTERNET interface] ****************
changed: [m9-04-r-04] => (item=12)
changed: [m9-04-r-04] => (item=14)
changed: [m9-04-r-04] => (item=15)
changed: [m9-04-r-04] => (item=16)
changed: [m9-04-r-04] => (item=17)

TASK [mk_routeros_emergency_on : Enable OSPF Area 1 PROD] ******************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Enable OSPF Area 2 MGMT] *****************************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change OSPF Area 1 interfaces costs to 10] *****************
changed: [m9-04-r-04] => (item=VLAN-1001)
changed: [m9-04-r-04] => (item=VLAN-1002)
changed: [m9-04-r-04] => (item=VLAN-1003)
changed: [m9-04-r-04] => (item=VLAN-1004)
changed: [m9-04-r-04] => (item=VLAN-1005)
changed: [m9-04-r-04] => (item=VLAN-1006)
changed: [m9-04-r-04] => (item=VLAN-1007)
changed: [m9-04-r-04] => (item=VLAN-1008)
changed: [m9-04-r-04] => (item=VLAN-1009)
changed: [m9-04-r-04] => (item=VLAN-1010)
changed: [m9-04-r-04] => (item=VLAN-1011)
changed: [m9-04-r-04] => (item=VLAN-1012)
changed: [m9-04-r-04] => (item=VLAN-1013)
changed: [m9-04-r-04] => (item=VLAN-1100)

TASK [mk_routeros_emergency_on : Change OSPF area1 default cost for to 10] ******************
changed: [m9-04-r-04]

TASK [mk_routeros_emergency_on : Change MGMT interfaces ip addresses] ********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

TASK [mk_routeros_emergency_on : Generate gARPs for MGMT interfaces] *********************
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n.254', u'name': u'VLAN-803'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+1.254', u'name': u'VLAN-805'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+2.254', u'name': u'VLAN-807'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+3.254', u'name': u'VLAN-809'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+4.254', u'name': u'VLAN-820'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+5.254', u'name': u'VLAN-822'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+6.254', u'name': u'VLAN-823'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+7.254', u'name': u'VLAN-824'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+8.254', u'name': u'VLAN-850'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+9.254', u'name': u'VLAN-851'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+10.254', u'name': u'VLAN-852'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+11.254', u'name': u'VLAN-853'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+12.254', u'name': u'VLAN-870'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+13.254', u'name': u'VLAN-898'})
changed: [m9-04-r-04] => (item={u'ip': u'х.х.n+14.254', u'name': u'VLAN-899'})

PLAY RECAP ************************************************************************

Gert!

Reyndar er það ekki alveg tilbúið, ekki gleyma sameiningu kraftmikilla leiðarferla og hleðsla fjölda leiða inn í FIB. Við getum ekki haft áhrif á þetta á nokkurn hátt. Við bíðum. Það tókst. Nú er það tilbúið.

Og í þorpinu Vilabajo (sem vill ekki gera sjálfvirkan netuppsetningu) halda þeir áfram að þvo upp diskinn. Bruce (að vísu þegar öðruvísi, en ekki síður flottur) er að reyna að skilja hversu miklu meiri handvirk endurstilling á búnaðinum mun eiga sér stað.

Sjálfvirkni netkerfisins. Mál úr lífi manns

Mig langar líka að staldra við eitt mikilvægt atriði. Hvernig getum við fengið allt til baka? Eftir nokkurn tíma munum við endurvekja FW-KLASSA okkar til lífsins. Þetta er aðalbúnaðurinn, ekki öryggisafrit, netið verður að keyra á honum.

Finnst þér hvernig netverjar eru farnir að brenna út? Tæknistjórinn mun heyra þúsund rök hvers vegna þetta ætti ekki að gera, hvers vegna þetta er hægt að gera síðar. Því miður, þetta er hvernig netið virkar úr fullt af plástra, stykki, leifar af fyrrum lúxus þess. Það reynist vera bútasaumsteppi. Verkefni okkar almennt, ekki við þessar sérstakar aðstæður, heldur almennt í grundvallaratriðum, sem upplýsingatæknisérfræðingar, er að koma vinnu netkerfisins í hið fallega enska orð "samræmi", það er mjög margþætt, það má þýða sem: samhengi , samræmi, rökfræði, samræmi, kerfisbundið, samanburðarhæfni, samræmi. Þetta snýst allt um hann. Aðeins í þessu ástandi er netið viðráðanlegt, við skiljum greinilega hvað virkar og hvernig, við skiljum greinilega hverju þarf að breyta, ef nauðsyn krefur, við vitum greinilega hvert á að leita ef vandamál koma upp. Og aðeins í slíku neti geturðu framkvæmt brellur eins og þær sem við höfum lýst.

Reyndar var önnur leikbók útbúin sem skilaði stillingunum í upprunalegt horf. Rökfræðin í rekstri þess er sú sama (það er mikilvægt að muna að röð verkefna er mjög mikilvæg), til að lengja ekki þegar frekar langa grein ákváðum við að birta ekki skráningu á framkvæmd leikbókarinnar. Eftir að hafa stundað slíkar æfingar muntu líða miklu rólegri og öruggari í framtíðinni, auk þess sem hækjur sem þú hlóðst upp þar munu strax koma í ljós.

Hver sem er getur skrifað okkur og fengið heimildir allra ritaða kóðans ásamt öllum handbókunum. Tengiliðir í prófíl.

Niðurstöður

Að okkar mati hafa ferli sem hægt er að gera sjálfvirkan ekki enn kristallast. Byggt á því sem við höfum kynnst og því sem vestrænir samstarfsmenn okkar eru að ræða, eru eftirfarandi þemu sýnileg hingað til:

  • Úthlutun tækis;
  • Gagnasafn;
  • Skýrslugerð;
  • Bilanagreining;
  • Fylgni.

Ef áhugi er fyrir hendi getum við haldið umræðunni áfram um eitt af tilgreindum efnum.

Mig langar líka að tala aðeins um sjálfvirkni. Hvað það ætti að vera í skilningi okkar:

  • Kerfið verður að lifa án manns á meðan það er bætt af manni. Kerfið ætti ekki að vera háð mönnum;
  • Rekstur verður að vera sérfræðingur. Það er enginn flokkur sérfræðinga sem sinnir venjubundnum verkefnum. Það eru sérfræðingar sem hafa sjálfvirkt alla rútínuna og leysa aðeins flókin vandamál;
  • Venjuleg staðlað verkefni eru unnin sjálfkrafa „með því að ýta á hnapp“, engum fjármunum er sóað. Niðurstaða slíkra verkefna er alltaf fyrirsjáanleg og skiljanleg.

Og hvað ættu þessi atriði að leiða til:

  • Gagnsæi upplýsingatækniinnviða (Minni áhætta af rekstri, nútímavæðingu, innleiðingu. Minni niður í miðbæ á ári);
  • Getan til að skipuleggja upplýsingatækniauðlindir (Getuskipulagskerfi - þú getur séð hversu mikið er neytt, þú getur séð hversu mörg tilföng eru nauðsynleg í einu kerfi, en ekki með bréfum og heimsóknum til efstu deildanna);
  • Möguleiki á að fækka upplýsingatæknistarfsmönnum.

Höfundar greinarinnar: Alexander Chelovekov (CCIE RS, CCIE SP) og Pavel Kirillov. Við höfum áhuga á að ræða og koma með tillögur að lausnum varðandi sjálfvirkni upplýsingatækniinnviða.


Heimild: www.habr.com

Bæta við athugasemd