Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Olen FirstVDS-järjestelmänvalvoja, ja tämä on aloittelevien kollegoiden auttamista käsittelevän lyhytkurssini ensimmäisen johdantoluennon teksti. Asiantuntijat, jotka ovat hiljattain aloittaneet järjestelmänhallinnan, kohtaavat useita samoja ongelmia. Tarjotakseni ratkaisuja sitoutuin kirjoittamaan tämän luentosarjan. Jotkut siinä olevat asiat liittyvät teknisen tuen isännöintiin, mutta yleensä niistä voi olla hyötyä, jos ei kaikille, niin monille. Joten olen mukauttanut luentotekstiä jaettavaksi täällä.

Sillä ei ole väliä, millä nimellä asemasi kutsutaan - tärkeintä on, että olet itse asiassa mukana hallinnossa. Siksi aloitetaan siitä, mitä järjestelmänvalvojan tulee tehdä. Sen päätehtävänä on saada asiat kuntoon, ylläpitää järjestystä ja valmistautua tuleviin järjen nousuihin. Ilman järjestelmänvalvojaa palvelimesta tulee sotku. Lokeja ei kirjoiteta tai niihin kirjoitetaan vääriä asioita, resursseja ei jaeta optimaalisesti, levy täyttyy kaikenlaisista roskista ja järjestelmä alkaa hitaasti kuolla kaaoksesta. Rauhallisesti! Järjestelmänvalvojat alkavat ratkaista ongelmia ja poistaa sotkua!

Järjestelmähallinnan pilarit

Ennen kuin aloitat ongelmien ratkaisemisen, kannattaa kuitenkin tutustua hallinnon neljään pääpilariin:

  1. Dokumentointi
  2. Mallintaminen
  3. Optimointi
  4. Automaatio

Tämä on perusasiat. Jos et rakenna työnkulkuasi näiden periaatteiden varaan, se on tehotonta, tuottamatonta ja ei yleensä juurikaan muistuta todellista hallintoa. Katsotaanpa jokaista erikseen.

Asiakirjat

Asiakirjat ei tarkoita dokumentaation lukemista (vaikka et tule toimeen ilman sitä), vaan myös sen ylläpitämistä.

Dokumenttien säilyttäminen:

  • Oletko törmännyt uuteen ongelmaan, jota et ole koskaan ennen nähnyt? Kirjoita ylös tärkeimmät oireet, diagnoosimenetelmät ja eliminointiperiaatteet.
  • Oletko keksinyt uuden, tyylikkään ratkaisun yleiseen ongelmaan? Kirjoita se muistiin, jotta sinun ei tarvitse keksiä sitä uudelleen kuukauden kuluttua.
  • Auttoivatko he sinua selvittämään kysymyksen, jota et ymmärtänyt? Kirjoita muistiin pääkohdat ja käsitteet, piirrä itsellesi kaavio.

Pääidea: sinun ei pitäisi täysin luottaa omaan muistiin uusien asioiden hallitsemisessa ja soveltamisessa.

Se, missä muodossa teet tämän, on sinun päätettävissäsi: se voi olla muistiinpanojärjestelmä, henkilökohtainen blogi, tekstitiedosto tai fyysinen muistilehtiö. Tärkeintä on, että tietueesi täyttävät seuraavat vaatimukset:

  1. Älä ole liian pitkä. Korosta tärkeimmät ideat, menetelmät ja työkalut. Jos ongelman ymmärtäminen vaatii sukeltamista Linuxin muistin varauksen matalan tason mekaniikkaan, älä kirjoita uudelleen artikkelia, josta opit sen, vaan anna linkki siihen.
  2. Merkintöjen tulee olla sinulle selkeitä. Jos linja race cond.lockup ei anna sinun ymmärtää heti mitä kuvasit tällä rivillä - selitä. Hyvän dokumentaation ymmärtämiseen ei kulu puoli tuntia.
  3. Haku on erittäin hyvä ominaisuus. Jos kirjoitat blogitekstejä, lisää tunnisteita; Jos olet fyysisessä muistikirjassa, kiinnitä pienet post-it-tekstit kuvauksiin. Dokumentaatiossa ei ole mitään järkeä, jos käytät siinä vastauksen etsimiseen yhtä paljon aikaa kuin olisit käyttänyt kysymyksen ratkaisemiseen tyhjästä.

Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Tältä dokumentaatio voi näyttää: primitiivisistä muistiinpanoista muistilehtiössä (kuva yllä) täysimittaiseen monen käyttäjän tietokantaan, jossa on tunnisteet, haku ja kaikki mahdolliset mukavuudet (alla).

Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Sinun ei vain tarvitse etsiä samoja vastauksia kahdesti, vaan dokumentoinnista on suuri apu uusien aiheiden oppimisessa (huomautukset!), se parantaa hämähäkkiaistiasi (kykyä diagnosoida monimutkainen ongelma yhdellä pinnallisella silmäyksellä), ja lisää organisointia toimintaasi. Jos dokumentaatio on kollegoidesi saatavilla, he voivat selvittää, mitä ja miten kasoit sinne, kun et ole paikalla.

Mallintaminen

Mallintaminen on mallien luonti ja käyttö. Yleisimpien ongelmien ratkaisemiseksi kannattaa luoda erityinen toimintamalli. Useimpien ongelmien diagnosoimiseksi tulisi käyttää standardoitua vaihesarjaa. Kun olet korjannut/asentanut/optimoinut jotain, tämän asian suorituskyky tulee tarkistaa standardoiduilla tarkistuslistoilla.

Malli on paras tapa järjestää työnkulkusi. Ratkaisemalla yleisimmät ongelmat standardimenetelmillä saat paljon hienoa tavaraa. Esimerkiksi tarkistuslistojen avulla voit diagnosoida kaikki työsi kannalta tärkeät toiminnot ja hylätä tarpeettomien toimintojen diagnoosin. Ja standardoidut menettelyt minimoivat tarpeettoman heiton ja vähentävät virheiden todennäköisyyttä.

Ensimmäinen tärkeä seikka on, että myös menettelyt ja tarkistuslistat on dokumentoitava. Jos luotat vain muistiin, voit unohtaa todella tärkeän tarkastuksen tai toimenpiteen ja pilata kaiken. Toinen tärkeä seikka on, että kaikkia mallikäytäntöjä voidaan ja pitää muuttaa tilanteen niin vaatiessa. Ei ole olemassa ihanteellisia ja täysin universaaleja malleja. Jos ongelma on, mutta mallin tarkistus ei paljastanut sitä, tämä ei tarkoita, etteikö ongelmaa olisi. Ennen kuin aloitat joidenkin epätodennäköisten hypoteettisten ongelmien testaamisen, kannattaa kuitenkin aina ensin tehdä nopea mallitesti.

optimointi

optimointi puhuu puolestaan. Työprosessia on optimoitava mahdollisimman paljon ajan ja työvoimakustannusten suhteen. Vaihtoehtoja on lukemattomia: opi pikanäppäimet, lyhenteet, säännölliset lausekkeet, käytettävissä olevat työkalut. Etsi näiden työkalujen käytännöllisempää käyttöä. Jos kutsut komentoa 100 kertaa päivässä, määritä se pikanäppäimelle. Jos sinun on muodostettava säännöllisesti yhteys samoihin palvelimiin, kirjoita alias yhdellä sanalla, joka yhdistää sinut sinne:

Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Tutustu työkalujen eri vaihtoehtoihin - ehkä on olemassa kätevämpi pääteohjelma, DE, leikepöydän hallinta, selain, sähköpostiohjelma tai käyttöjärjestelmä. Ota selvää, mitä työkaluja kollegasi ja ystäväsi käyttävät – ehkä he valitsevat ne syystä. Kun sinulla on työkalut, opi käyttämään niitä: opi avaimet, lyhenteet, vinkit ja temput.

Käytä optimaalisesti vakiotyökaluja - coreutils, vim, säännölliset lausekkeet, bash. Kolmea viimeistä varten on valtava määrä upeita oppaita ja dokumentaatiota. Heidän avullaan voit nopeasti siirtyä tilasta "Tunnen itseni apinaksi, joka särkee pähkinöitä kannettavalla tietokoneella" tilaksi "Olen apina, joka tilaa kannettavalla tietokoneella pähkinänsärkijän".

automaatio

automaatio siirtää vaikeat toiminnot väsyneistä käsistämme automaation väsymättömiin käsiin. Jos jokin vakiomenettely suoritetaan viidellä samantyyppisellä komennolla, niin miksi ei kääri kaikkia näitä komentoja yhteen tiedostoon ja kutsuisi yhtä komentoa, joka lataa ja suorittaa tämän tiedoston?

Automaatio itsessään on 80 % omien työkalujesi kirjoittamista ja optimointia (ja vielä 20 % yrittää saada ne toimimaan niin kuin pitää). Se voi olla vain edistynyt yksilinjainen tai valtava kaikkivoipa työkalu, jossa on verkkokäyttöliittymä ja API. Tärkein kriteeri tässä on, että työkalun luominen ei saa viedä enempää aikaa ja vaivaa kuin se aika ja vaiva, jonka työkalu säästää. Jos käytät viisi tuntia skriptin kirjoittamiseen, jota et enää koskaan tarvitse tehtävään, jonka ratkaiseminen ilman käsikirjoitusta olisi kestänyt tunnin tai kaksi, tämä on erittäin huono työnkulun optimointi. Voit käyttää viisi tuntia työkalun luomiseen vain, jos tehtävien määrä, tyyppi ja aika sen sallivat, mikä ei usein tapahdu.

Automatisointi ei välttämättä tarkoita täysimittaisten skriptien kirjoittamista. Jos esimerkiksi haluat luoda joukon samantyyppisiä objekteja luettelosta, tarvitset vain älykkään yhden rivin, joka tekee automaattisesti sen, mitä tekisit käsin, vaihtaen ikkunoiden välillä ja käyttämällä kasoja kopioi-liitä.

Itse asiassa, jos rakennat hallintoprosessin näiden neljän pilarin varaan, voit nopeasti lisätä tehokkuuttasi, tuottavuuttasi ja pätevyyttäsi. Tätä listaa on kuitenkin täydennettävä yhdellä tuotteella, jota ilman IT-alalla työskenteleminen on melkein mahdotonta - itseopiskelu.

Järjestelmänvalvojan itsekoulutus

Ollaksesi edes hieman pätevä tällä alalla, sinun on jatkuvasti opiskeltava ja opittava uusia asioita. Jos sinulla ei ole pienintäkään halua kohdata tuntematon ja selvittää se, jumitut hyvin nopeasti. Kaikenlaisia ​​uusia ratkaisuja, teknologioita ja menetelmiä ilmaantuu jatkuvasti IT-alalle, ja jos ei tutki niitä edes pintapuolisesti, olet epäonnistumisen tiellä. Monet tietotekniikan osa-alueet ovat hyvin monimutkaisen ja laajan pohjalta. Esimerkiksi verkkotoiminta. Verkot ja Internet ovat kaikkialla, kohtaat niitä joka päivä, mutta kun perehdyt niiden takana olevaan tekniikkaan, löydät valtavan ja erittäin monimutkaisen tieteenalan, jonka tutkiminen ei ole koskaan kävelyä puistossa.

En lisännyt tätä kohtaa luetteloon, koska se on avain IT:lle yleensä, eikä vain järjestelmänhallinnan kannalta. Et tietenkään voi oppia aivan kaikkea heti – sinulla ei yksinkertaisesti ole fyysisesti tarpeeksi aikaa. Siksi kouluttaessasi itseäsi sinun tulee muistaa tarvittavat abstraktiotasot.

Sinun ei tarvitse heti oppia, kuinka kunkin yksittäisen apuohjelman sisäinen muistinhallinta toimii ja miten se on vuorovaikutuksessa Linux-muistinhallinnan kanssa, mutta on hyvä tietää, mikä RAM on kaavamaisesti ja miksi sitä tarvitaan. Sinun ei tarvitse tietää, kuinka TCP- ja UDP-otsikot eroavat rakenteellisesti toisistaan, mutta olisi hyvä ymmärtää protokollien toiminnan peruserot. Sinun ei tarvitse opetella, mitä signaalin vaimennus on optiikassa, mutta olisi mukava tietää, miksi todelliset häviöt periytyvät aina solmujen välillä. Ei ole mitään väärää siinä, että tiedetään, kuinka tietyt elementit toimivat tietyllä abstraktiotasolla, eikä välttämättä ymmärrä kaikkia tasoja, kun abstraktiota ei ole ollenkaan (tulet vain hulluksi).

Alallasi ajattelu abstraktion tasolla "no, tämä on asia, jonka avulla voit näyttää verkkosivustoja" ei kuitenkaan ole kovin hyvä. Seuraavat luennot on omistettu yleiskatsaukselle tärkeimmistä alueista, joita järjestelmänvalvojan on käsiteltävä, kun hän työskentelee alemmilla abstraktiotasoilla. Yritän rajoittaa arvioitavan tiedon määrän abstraktion vähimmäistasolle.

10 Järjestelmänhallinnan käskyä

Olemme siis oppineet neljä pääpilaria ja perustan. Voimmeko alkaa ratkaisemaan ongelmia? Ei vielä. Ennen kuin teet tämän, on suositeltavaa tutustua niin sanottuihin "parhaisiin käytäntöihin" ja hyvien tapojen sääntöihin. Ilman niitä saatat todennäköisesti tehdä enemmän haittaa kuin hyötyä. Joten aloitetaan:

  1. Jotkut kollegani uskovat, että ensimmäinen sääntö on "älä tee pahaa". Mutta olen taipuvainen olemaan eri mieltä. Kun yrität olla vahingoittamatta, et voi tehdä mitään - liian monet toimet voivat olla tuhoisia. Mielestäni tärkein sääntö on - "tee varmuuskopio". Vaikka tekisit vahinkoa, voit aina peruuttaa, eikä kaikki ole niin pahaa.

    Varmuuskopioi aina, kun aika ja paikka sen sallivat. Sinun on varmuuskopioitava, mitä muutat ja mitä olet vaarassa menettää mahdollisesti tuhoavan toiminnan vuoksi. On suositeltavaa tarkistaa varmuuskopion eheys ja kaikkien tarvittavien tietojen olemassaolo. Varmuuskopiota ei pidä poistaa heti, kun olet tarkistanut kaiken, ellei sinun tarvitse vapauttaa levytilaa. Jos sijainti vaatii sitä, varmuuskopioi se henkilökohtaiselle palvelimellesi ja poista se viikon kuluttua.

  2. Toiseksi tärkein sääntö (jota itsekin usein rikon) on "älä piilottele". Jos teit varmuuskopion, kirjoita mihin, jotta työtovereiden ei tarvitse etsiä sitä. Jos teit joitain epäselviä tai monimutkaisia ​​toimia, kirjoita se ylös: menet kotiin ja ongelma saattaa toistua tai ilmaantua jollekin muulle, ja ratkaisusi löydetään avainsanojen avulla. Vaikka tekisit jotain, jonka osaat hyvin, kollegasi eivät välttämättä.
  3. Kolmatta sääntöä ei tarvitse selittää: "Älä koskaan tee mitään, jonka seurauksia et tiedä, kuvittele tai ymmärrä". Älä kopioi komentoja Internetistä, jos et tiedä mitä ne tekevät, soita miehelle ja jäsennä ne ensin. Älä käytä valmiita ratkaisuja, jos et ymmärrä, mitä ne tekevät. Pidä hämärän koodin suoritus minimissä. Jos sinulla ei ole aikaa selvittää sitä, teet jotain väärin ja sinun tulee lukea seuraava kohta.
  4. "Testata". Uusia komentosarjoja, työkaluja, yksilinjaisia ​​ja komentoja tulee testata kontrolloidussa ympäristössä, ei asiakaskoneella, jos tuhoavien toimien mahdollisuus on vähäinenkin. Vaikka varmuuskopioit kaiken (ja teit), seisokit eivät ole siistein asia. Luo tätä varten erillinen palvelin/virtuaali/chroot ja testaa siellä. Onko jotain rikki? Sitten voit käynnistää sen "taistelussa".

    Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

  5. "Ohjaus". Minimoi kaikki toiminnot, joita et voi hallita. Yksi pakettiriippuvuuskäyrä voi vetää puolet järjestelmää alas, ja yum-poistolle asetettu -y-lippu antaa sinulle mahdollisuuden harjoitella järjestelmän palautustaitojasi alusta alkaen. Jos toiminnolla ei ole hallitsemattomia vaihtoehtoja, seuraava kohta on valmis varmuuskopio.
  6. "Tarkistaa". Tarkista toimiesi seuraukset ja onko sinun palattava varmuuskopioon. Tarkista, onko ongelma todella ratkennut. Tarkista, toistetaanko virhe ja missä olosuhteissa. Tarkista, mitä voit rikkoa teoillasi. On tarpeetonta luottaa työhön, mutta ei koskaan tarkistaa.
  7. "kommunikoida". Jos et pysty ratkaisemaan ongelmaa, kysy kollegoiltasi, ovatko he kohdanneet tämän. Jos haluat soveltaa kiistanalaista päätöstä, ota selvää kollegojesi mielipiteestä. Ehkä he tarjoavat paremman ratkaisun. Jos et ole varma toimistasi, keskustele niistä kollegojesi kanssa. Vaikka tämä olisikin osaamisalueesi, tilanteen uusi tarkastelu voi selventää paljon. Älä häpeä omaa tietämättömyyttäsi. On parempi esittää tyhmä kysymys, näyttää hölmöltä ja saada vastaus, kuin olla esittämättä kysymystä, olla saamatta vastausta ja päätyä tyhmäksi.
  8. "Älä kieltäydy avusta kohtuuttomasti". Tämä kohta on päinvastainen kuin edellinen. Jos sinulta kysytään tyhmä kysymys, selvennä ja selitä. He pyytävät mahdotonta - selitä, että se on mahdotonta ja miksi, tarjoa vaihtoehtoja. Jos sinulla ei ole aikaa (ei todellakaan ole aikaa, ei halua) - sano, että sinulla on kiireellinen kysymys, paljon työtä, mutta selvität sen myöhemmin. Jos kollegoilla ei ole kiireellisiä tehtäviä, tarjoutukaa ottamaan heihin yhteyttä ja siirtämään kysymys.
  9. "Antaa palautetta". Onko joku kollegoistasi alkanut käyttää uutta tekniikkaa tai uutta käsikirjoitusta, ja kohtaatko tämän päätöksen negatiivisia seurauksia? Ilmianna se. Ehkä ongelma voidaan ratkaista kolmella koodirivillä tai viidessä minuutissa tekniikan jalostamisella. Oletko törmännyt ohjelmistovirheeseen? Ilmoita virheestä. Jos se on toistettava tai sitä ei tarvitse toistaa, se todennäköisesti korjataan. Esitä toiveesi, ehdotuksesi ja rakentava kritiikkisi ja esitä kysymyksiä keskusteluun, jos ne vaikuttavat merkityksellisiltä.
  10. "Pyydä palautetta". Olemme kaikki epätäydellisiä, kuten päätöksemme, ja paras tapa testata päätöksesi oikeellisuutta on tuoda se keskusteluun. Jos olet optimoinut jotain asiakkaalle, pyydä häntä seuraamaan työtä, ehkä järjestelmän pullonkaula ei ole siellä, missä etsit. Olet kirjoittanut ohjeskriptin – näytä se kollegoillesi, ehkä he löytävät tavan parantaa sitä.

Jos käytät jatkuvasti näitä käytäntöjä työssäsi, suurin osa ongelmista lakkaa olemasta ongelmia: et vain vähennä omien virheidesi ja väärennösten määrää minimiin, vaan sinulla on myös mahdollisuus korjata virheet (esim. varmuuskopioiden muodossa ja kollegat, jotka neuvovat sinua varmuuskopioimaan). Lisäksi - vain tekniset yksityiskohdat, joissa, kuten tiedämme, paholainen piilee.

Tärkeimmät työkalut, joilla joudut työskentelemään yli 50 % ajasta, ovat grep ja vim. Mikä voisi olla yksinkertaisempaa? Tekstihaku ja tekstin muokkaus. Sekä grep että vim ovat kuitenkin tehokkaita monitoimityökaluja, joiden avulla voit etsiä ja muokata tekstiä tehokkaasti. Jos jossain Windowsin muistiossa voit yksinkertaisesti kirjoittaa/poistaa rivin, vimissä voit tehdä tekstillä melkein mitä tahansa. Jos et usko minua, soita vimtutor-komento päätteestä ja aloita oppiminen. Mitä tulee grepiin, sen tärkein vahvuus on säännöllisissä lausekkeissa. Kyllä, työkalu itsessään antaa sinun asettaa hakuehtoja ja tulostaa tietoja melko joustavasti, mutta ilman RegExp:tä tässä ei ole paljon järkeä. Ja sinun on tiedettävä säännölliset lausekkeet! Ainakin perustasolla. Aluksi neuvoisin sinua katsomaan tätä video, se kattaa säännöllisten lausekkeiden perusteet ja niiden käytön grep:n kanssa. Voi kyllä, kun yhdistät ne vimin kanssa, saat ULTIMATE POWER -kyvyn tehdä asioita tekstillä, jotka sinun täytyy merkitä ne 18+ kuvakkeilla.

Lopusta 50 %:sta 40 % tulee coreutils-työkalusarjasta. Coreutilsin luettelosta voit katsoa osoitteessa wikipedia, ja koko luettelon käsikirja on verkkosivustolla GNU. Se, mitä tämä sarja ei kata, on apuohjelmissa POSIX. Kaikkia avaimia ei tarvitse opetella ulkoa, mutta on hyödyllistä tietää ainakin suunnilleen mitä perustyökalut voivat tehdä. Pyörää ei tarvitse keksiä uudelleen kainalosauvoista. Minun piti jotenkin korvata rivinvaihdot välilyönneillä jonkin apuohjelman lähdössä, ja sairaat aivot synnyttivät sellaisen konstruktion kuin sed ':a;N;$!ba;s/n/ /g', kollega tuli paikalle ja ajoi minut pois konsolista luudalla ja ratkaisi sitten ongelman kirjoittamalla tr 'n' ' '.

Aloittelevalle järjestelmänvalvojalle: kuinka luoda järjestystä kaaoksesta

Suosittelen muistamaan, mitä kukin yksittäinen työkalu tekee ja useimmin käytettyjen komentojen näppäimet; kaikessa muussa on ihminen. Voit vapaasti soittaa miehelle, jos sinulla on epäilyksiä. Ja muista lukea itse mies - se sisältää tärkeitä tietoja siitä, mitä löydät.

Nämä työkalut tuntemalla pystyt ratkaisemaan tehokkaasti merkittävän osan käytännössä kohtaamistasi ongelmista. Seuraavilla luennoilla tarkastellaan, milloin näitä työkaluja tulee käyttää, sekä puitteet niiden taustalla oleville palveluille ja sovelluksille, joita ne koskevat.

FirstVDS-järjestelmänvalvoja Kirill Tsvetkov oli kanssasi.

Lähde: will.com

Lisää kommentti