Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Esu „FirstVDS“ sistemos administratorė, tai yra pirmosios įvadinės paskaitos tekstas iš mano trumpo kurso apie pagalbą pradedantiesiems kolegoms. Specialistai, neseniai pradėję užsiimti sistemų administravimu, susiduria su daugybe tokių pačių problemų. Norėdamas pasiūlyti sprendimus, ėmiau parašyti šį paskaitų ciklą. Kai kurie dalykai jame yra būdingi techninio palaikymo prieglobai, tačiau apskritai jie gali būti naudingi, jei ne visiems, tai daugeliui. Taigi paskaitos tekstą pritaikiau, kad pasidalinčiau čia.

Nesvarbu, kaip vadinasi jūsų pareigos – svarbu, kad jūs iš tikrųjų dalyvaujate administravime. Todėl pradėkime nuo to, ką turėtų daryti sistemos administratorius. Pagrindinė jos užduotis – sutvarkyti reikalus, palaikyti tvarką ir pasiruošti būsimam tvarkos padidėjimui. Be sistemos administratoriaus serveris tampa netvarka. Žurnalai nerašomi, arba juose surašomi neteisingi dalykai, resursai paskirstomi neoptimaliai, diskas prisipildo visokių šiukšlių ir sistema pradeda pamažu mirti nuo tiek chaoso. ramiai! Sistemos administratoriai jūsų asmenyje pradeda spręsti problemas ir pašalinti netvarką!

Sistemos administravimo ramsčiai

Tačiau prieš pradedant spręsti problemas verta susipažinti su keturiais pagrindiniais administravimo ramsčiais:

  1. Dokumentacija
  2. Šablonas
  3. Optimizavimas
  4. Automatika

Tai yra pagrindiniai dalykai. Jei nekursite savo darbo eigos pagal šiuos principus, ji bus neveiksminga, neproduktyvi ir apskritai mažai panaši į tikrąjį administravimą. Pažvelkime į kiekvieną atskirai.

Įrašai

Įrašai reiškia ne dokumentų skaitymą (nors be jos neapsieisite), bet ir jos tvarkymą.

Kaip saugoti dokumentus:

  • Ar susidūrėte su nauja problema, kurios niekada anksčiau nematėte? Užsirašykite pagrindinius simptomus, diagnostikos metodus ir pašalinimo principus.
  • Ar sugalvojote naują, elegantišką dažnos problemos sprendimą? Užsirašykite jį, kad po mėnesio nereikėtų jo išradinėti iš naujo.
  • Ar jie padėjo išsiaiškinti klausimą, kurio nesupratote? Užsirašykite pagrindinius dalykus ir sąvokas, nupieškite diagramą sau.

Pagrindinė mintis: įvaldydami ir taikydami naujus dalykus neturėtumėte visiškai pasitikėti savo atmintimi.

Kokiu formatu tai darysite, priklauso nuo jūsų: tai gali būti sistema su užrašais, asmeninis dienoraštis, tekstinis failas, fizinis bloknotas. Svarbiausia, kad jūsų įrašai atitiktų šiuos reikalavimus:

  1. Nebūk per ilgas. Pabrėžkite pagrindines idėjas, metodus ir priemones. Jei norint suprasti problemą reikia pasinerti į žemo lygio atminties paskirstymo mechaniką Linux sistemoje, neperrašykite straipsnio, iš kurio sužinojote, – pateikite nuorodą į jį.
  2. Įrašai turi būti jums aiškūs. Jei linija race cond.lockup neleidžia iš karto suprasti, ką aprašėte šia eilute – paaiškinkite. Gerai dokumentacijai suprasti nereikia pusvalandžio.
  3. Paieška yra labai gera funkcija. Jei rašote tinklaraščio įrašus, pridėkite žymų; jei fiziniame sąsiuvinyje, priklijuokite mažus post-it su aprašymais. Nėra prasmės dokumentuoti, jei ieškodami atsakymo joje praleidžiate tiek laiko, kiek būtumėte praleidę spręsdami klausimą nuo nulio.

Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Taip gali atrodyti dokumentacija: nuo primityvių užrašų bloknote (nuotrauka viršuje), iki pilnavertės kelių vartotojų žinių bazės su žymomis, paieška ir visais įmanomais patogumais (žemiau).

Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Jums ne tik nereikės du kartus ieškoti tų pačių atsakymų, bet ir dokumentavimas bus puiki pagalba mokantis naujų temų (pastabai!), pagerins jūsų voro pojūtį (gebėjimą diagnozuoti sudėtingą problemą vienu paviršutinišku žvilgsniu), ir pridės jūsų veiksmų organizavimo. Jei dokumentai yra prieinami jūsų kolegoms, jie galės išsiaiškinti, ką ir kaip ten sukrovėte, kai jūsų nėra.

Šablonas

Šablonas yra šablonų kūrimas ir naudojimas. Norint išspręsti dažniausiai pasitaikančias problemas, verta sukurti konkretų veiksmų šabloną. Norint diagnozuoti daugumą problemų, reikia naudoti standartizuotą veiksmų seką. Kai ką nors suremontavote/įdiegėte/optimizavote, šio daikto veikimas turėtų būti patikrintas naudojant standartizuotus kontrolinius sąrašus.

Šablonas yra geriausias būdas organizuoti darbo eigą. Naudodami standartines procedūras dažniausiai pasitaikančioms problemoms išspręsti, gausite daug įdomių dalykų. Pavyzdžiui, naudodami kontrolinius sąrašus galėsite diagnozuoti visas jūsų darbui svarbias funkcijas ir atmesti nesvarbių funkcijų diagnozę. O standartizuotos procedūros sumažins nereikalingą metimą ir sumažins klaidų tikimybę.

Pirmas svarbus dalykas yra tai, kad procedūros ir kontroliniai sąrašai taip pat turi būti dokumentuojami. Jei pasikliaujate tik atmintimi, galite praleisti tikrai svarbų patikrinimą ar operaciją ir viską sugadinti. Antras svarbus dalykas yra tai, kad visos šablonų praktikos gali būti ir turi būti pakeistos, jei to reikalauja situacija. Idealių ir absoliučiai universalių šablonų nėra. Jei problema yra, bet šablono patikrinimas jos neatskleidė, tai nereiškia, kad problemos nėra. Tačiau prieš pradedant tikrinti kai kurias mažai tikėtinas hipotetines problemas, visada verta atlikti greitą šablono testą.

Optimizavimas

Optimizavimas kalba už save. Darbo procesą reikia kiek įmanoma optimizuoti laiko ir darbo sąnaudų prasme. Yra daugybė galimybių: išmokite sparčiuosius klavišus, santrumpas, reguliariąsias išraiškas, galimus įrankius. Ieškokite praktiškesnių šių įrankių naudojimo būdų. Jei komandą iškviečiate 100 kartų per dieną, priskirkite ją sparčiajam klavišui. Jei jums reikia reguliariai prisijungti prie tų pačių serverių, vienu žodžiu parašykite slapyvardį, kuris jus sujungs:

Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Susipažinkite su įvairiomis įrankių parinktimis – galbūt yra patogesnis terminalo klientas, DE, iškarpinės tvarkyklė, naršyklė, el. pašto programa, operacinė sistema. Sužinokite, kokius įrankius naudoja jūsų kolegos ir draugai – galbūt jie jas pasirenka ne veltui. Kai turėsite įrankius, išmokite juos naudoti: išmokite klavišus, santrumpas, patarimus ir gudrybes.

Optimaliai išnaudokite standartines priemones – coreutils, vim, reguliariąsias išraiškas, bash. Pastariesiems trims yra daugybė nuostabių vadovų ir dokumentų. Jų pagalba galite greitai pereiti nuo būsenos „Jaučiuosi kaip beždžionė, kuri laužo riešutus nešiojamuoju kompiuteriu“ į „Aš esu beždžionė, kuri naudoja nešiojamąjį kompiuterį, kad užsisakytų sau riešutų traškutį“.

Automatika

Automatika perkelsime sudėtingas operacijas iš mūsų pavargusių rankų į nenuilstamas automatikos rankas. Jei kokia nors standartinė procedūra atliekama penkiomis to paties tipo komandomis, tai kodėl gi nesuvyniojus visų šių komandų į vieną failą ir neiškvietus vienos komandos, kuri atsisiunčia ir vykdo šį failą?

Pati automatizacija 80 % sudaro savo įrankių rašymą ir optimizavimą (ir dar 20 % bando, kad jie veiktų taip, kaip turėtų). Tai gali būti tiesiog pažangus vieno įdėklas arba didžiulis visagalis įrankis su žiniatinklio sąsaja ir API. Pagrindinis kriterijus čia yra tas, kad įrankio kūrimas neturėtų užtrukti daugiau laiko ir pastangų, nei laiko ir pastangų, kuriuos įrankis sutaupys. Jei penkias valandas praleidžiate rašydami scenarijų, kurio jums daugiau niekada neprireiks, užduočiai, kuriai išspręsti be scenarijaus prireiktų valandos ar dviejų, tai yra labai prastas darbo eigos optimizavimas. Kurdami įrankį galite skirti penkias valandas tik tuo atveju, jei tai leidžia užduočių skaičius, tipas ir laikas, o tai nedažnai.

Automatizavimas nebūtinai reiškia visaverčių scenarijų rašymą. Pavyzdžiui, norint iš sąrašo sukurti krūvą to paties tipo objektų, tereikia sumanaus vieno įdėklo, kuris automatiškai atliks tai, ką darytumėte ranka, perjungdamas langus su daugybe kopijavimo ir įklijavimo.

Tiesą sakant, jei administravimo procesą sukursite ant šių keturių ramsčių, galite greitai padidinti savo efektyvumą, produktyvumą ir kvalifikaciją. Tačiau šį sąrašą reikia papildyti dar vienu punktu, be kurio darbas IT srityje beveik neįmanomas – savišvieta.

Sistemos administratoriaus savišvieta

Norint bent šiek tiek būti kompetentingam šioje srityje, reikia nuolat mokytis ir mokytis naujų dalykų. Jei neturėsite nė menkiausio noro susidurti su nežinomybe ir tai išsiaiškinti, labai greitai įklimpsite. IT srityje nuolat atsiranda visokiausių naujų sprendimų, technologijų ir metodų, kurių bent paviršutiniškai nestudijuoji, esi nesėkmės kelyje. Daugelis informacinių technologijų sričių yra labai sudėtingos ir didelės. Pavyzdžiui, tinklo veikimas. Tinklai ir internetas yra visur, su jais susiduri kiekvieną dieną, bet įsigilinęs į už jų slypinčias technologijas atrasi didžiulę ir labai sudėtingą discipliną, kurios tyrinėjimas niekada nėra pasivaikščiojimas parke.

Šio elemento neįtraukiau į sąrašą, nes jis yra labai svarbus IT apskritai, o ne tik sistemos administravimui. Natūralu, kad absoliučiai visko iš karto išmokti nepavyks – tiesiog fiziškai neturite pakankamai laiko. Todėl ugdydami save turėtumėte prisiminti reikiamus abstrakcijos lygius.

Nereikia iš karto sužinoti, kaip veikia kiekvienos atskiros programos vidinės atminties valdymas ir kaip jis sąveikauja su Linux atminties valdymu, tačiau naudinga žinoti, kas yra RAM schema ir kodėl ji reikalinga. Nereikia žinoti, kuo TCP ir UDP antraštės struktūriškai skiriasi, tačiau būtų naudinga suprasti pagrindinius protokolų veikimo skirtumus. Jums nereikia sužinoti, kas yra optikoje esantis signalo slopinimas, bet būtų malonu žinoti, kodėl tikrieji nuostoliai visada paveldimi mazguose. Nėra nieko blogo žinoti, kaip tam tikri elementai veikia esant tam tikram abstrakcijos lygiui, ir nebūtinai suprasti absoliučiai visus lygius, kai abstrakcijos visai nėra (jūs tiesiog išprotėsite).

Tačiau jūsų srityje mąstymas abstrakcijos lygmeniu „na, čia toks dalykas, kuris leidžia rodyti svetaines“ nėra labai geras. Šios paskaitos bus skirtos pagrindinių sričių, kurias turi spręsti sistemos administratorius, dirbdamas žemesniais abstrakcijos lygiais, apžvalgai. Stengsiuosi apriboti apžvelgiamų žinių kiekį iki minimalaus abstrakcijos lygio.

10 sistemos administravimo įsakymų

Taigi, mes išmokome keturis pagrindinius ramsčius ir pagrindą. Ar galime pradėti spręsti problemas? Dar ne. Prieš tai darant, patartina susipažinti su vadinamąja „geriausia praktika“ ir geros manieros taisyklėmis. Be jų greičiausiai padarysite daugiau žalos nei naudos. Taigi, pradėkime:

  1. Kai kurie mano kolegos mano, kad pati pirmoji taisyklė yra „nedaryti žalos“. Bet aš linkęs nesutikti. Kai stengiatės nepakenkti, nieko negalite padaryti - per daug veiksmų gali būti žalingi. Manau, kad svarbiausia taisyklė yra „padaryti atsarginę kopiją“. Net jei padarysite tam tikrą žalą, visada galite grįžti atgal ir viskas nebus taip blogai.

    Visada turėtumėte sukurti atsarginę kopiją, kai tai leidžia laikas ir vieta. Turite turėti atsarginę kopiją, ką pakeisite ir ką rizikuojate prarasti dėl potencialiai destruktyvaus veiksmo. Patartina patikrinti atsarginės kopijos vientisumą ir visų būtinų duomenų buvimą. Atsarginės kopijos negalima ištrinti iškart po to, kai viską patikrinote, nebent reikia atlaisvinti vietos diske. Jei to reikalauja vieta, sukurkite atsarginę kopiją asmeniniame serveryje ir ištrinkite po savaitės.

  2. Antra pagal svarbą taisyklė (kurią aš pati dažnai laužau) yra "neslėpk". Jei padarėte atsarginę kopiją, parašykite kur, kad kolegoms nereikėtų to ieškoti. Jei atlikote kokius nors neakivaizdžius ar sudėtingus veiksmus, užsirašykite: grįšite namo ir problema gali pasikartoti arba iškilti kam nors kitam, o jūsų sprendimas bus rastas naudojant raktinius žodžius. Net jei darai tai, ką gerai išmanai, kolegos gali to nedaryti.
  3. Trečiosios taisyklės aiškinti nereikia: "Niekada nedarykite to, ko pasekmių nežinote, neįsivaizduojate ar nesuprantate". Nekopijuokite komandų iš interneto, jei nežinote, ką jos daro, paskambinkite vyrui ir pirmiausia jas analizuokite. Nenaudokite paruoštų sprendimų, jei nesuprantate, ką jie daro. Sumažinkite užmaskuoto kodo vykdymą iki absoliutaus minimumo. Jei neturite laiko to išsiaiškinti, vadinasi, darote kažką ne taip, ir turėtumėte perskaityti kitą punktą.
  4. "testas". Nauji scenarijai, įrankiai, viena eilutė ir komandos turėtų būti testuojami kontroliuojamoje aplinkoje, o ne kliento kompiuteryje, jei yra net minimalus destruktyvių veiksmų potencialas. Net jei viską padarėte atsarginę kopiją (ir padarėte), prastovos nėra pats šauniausias dalykas. Tam sukurkite atskirą serverį/virtualųjį/chroot ir išbandykite. Ar kas nors sugedo? Tada galite paleisti jį į „kovą“.

    Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

  5. "Kontrolė". Sumažinkite visas operacijas, kurių nevaldote. Viena paketo priklausomybės kreivė gali nuvilti pusę sistemos, o žyma -y, nustatyta yum remove, suteikia galimybę praktikuoti sistemos atkūrimo įgūdžius nuo nulio. Jei veiksmas neturi nekontroliuojamų alternatyvų, kitas taškas yra paruošta atsarginė kopija.
  6. "Patikrinti". Patikrinkite savo veiksmų pasekmes ir ar jums reikia grįžti prie atsarginės kopijos. Patikrinkite, ar problema tikrai išspręsta. Patikrinkite, ar klaida atkurta ir kokiomis sąlygomis. Patikrinkite, ką galite sulaužyti savo veiksmais. Nereikia pasitikėti mūsų darbu, bet niekada ir netikrinti.
  7. "Bendrauti". Jei negalite išspręsti problemos, paklauskite savo kolegų, ar jie su tuo susidūrė. Jei norite pritaikyti prieštaringą sprendimą, sužinokite savo kolegų nuomonę. Galbūt jie pasiūlys geresnį sprendimą. Jei nesate tikri savo veiksmais, aptarkite juos su kolegomis. Net jei tai yra jūsų kompetencijos sritis, naujas žvilgsnis į situaciją gali daug ką paaiškinti. Nesigėdykite savo nežinojimo. Geriau užduoti kvailą klausimą, atrodyti kaip kvailys ir gauti atsakymą, nei neužduoti klausimo, negauti atsakymo ir likti kvailiu.
  8. „Neatsisakykite pagalbos be pagrindo“. Šis punktas yra priešingas ankstesniam. Jei jums užduodamas kvailas klausimas, patikslinkite ir paaiškinkite. Jie prašo neįmanomo – paaiškinkite, kad tai neįmanoma ir kodėl, pasiūlykite alternatyvų. Jei neturite laiko (tikrai neturite laiko, o ne noro) - pasakykite, kad turite skubų klausimą, daug darbo, bet vėliau tai išsiaiškinsite. Jei kolegos neturi skubių užduočių, pasiūlykite su jais susisiekti ir deleguoti klausimą.
  9. "Palikti atsiliepimą". Ar vienas iš jūsų kolegų pradėjo naudoti naują techniką ar naują scenarijų ir ar jūs susiduriate su neigiamomis šio sprendimo pasekmėmis? Pranešti apie tai. Galbūt problemą galima išspręsti per tris kodo eilutes arba penkias minutes tobulinant techniką. Ar susidūrėte su programinės įrangos klaida? Panešti apie klaidą. Jei jis yra atkuriamas arba jo nereikia atgaminti, greičiausiai jis bus pataisytas. Išsakykite savo pageidavimus, pasiūlymus ir konstruktyvią kritiką bei iškelkite klausimus diskusijoms, jei jie atrodo svarbūs.
  10. „Prašyti atsiliepimų“. Mes visi esame netobuli, kaip ir mūsų sprendimai, ir geriausias būdas patikrinti savo sprendimo teisingumą – pateikti jį diskusijai. Jei ką nors optimizavote klientui, paprašykite jo stebėti darbą, galbūt sistemos kliūtis nėra ten, kur ieškojote. Parašėte pagalbos scenarijų – parodykite jį savo kolegoms, gal jie ras būdą, kaip jį patobulinti.

Jei nuolatos taikysite šias praktikas savo darbe, dauguma problemų nebebus problemomis: ne tik sumažinsite savo klaidų ir apsimetinėjimo skaičių iki minimumo, bet ir turėsite galimybę ištaisyti klaidas. atsarginių kopijų forma ir kolegos, kurie patars pasidaryti atsarginę kopiją). Toliau – tik techninės detalės, kuriose, kaip žinome, slypi velnias.

Pagrindiniai įrankiai, su kuriais turėsite dirbti daugiau nei 50% laiko, yra grep ir vim. Kas gali būti paprasčiau? Teksto paieška ir teksto redagavimas. Tačiau ir grep, ir vim yra galingi daugiafunkciniai įrankiai, leidžiantys efektyviai ieškoti ir redaguoti tekstą. Jei kai kuriose „Windows“ užrašų knygelėse galite tiesiog parašyti / ištrinti eilutę, „vim“ galite padaryti beveik bet ką su tekstu. Jei netikite manimi, iš terminalo iškvieskite komandą vimtutor ir pradėkite mokytis. Kalbant apie grep, jo pagrindinė stiprybė yra reguliariosiose išraiškose. Taip, pats įrankis leidžia gana lanksčiai nustatyti paieškos sąlygas ir išvesti duomenis, tačiau be RegExp tai neturi didelės prasmės. Ir jūs turite žinoti reguliarius posakius! Bent jau pagrindiniame lygmenyje. Pirmiausia patarčiau pažvelgti į tai видео, jis apima reguliariųjų posakių pagrindus ir jų naudojimą kartu su grep. O taip, sujungę juos su vim, gausite ULTIMATE POWER galimybę atlikti veiksmus su tekstu, kurį turite pažymėti 18+ piktogramomis.

Iš likusių 50 %, 40 % gaunama iš coreutils įrankių rinkinio. „Coreutils“ galite peržiūrėti sąrašą adresu Vikipedija, o viso sąrašo vadovas yra svetainėje GNU. Tai, kas nėra įtraukta į šį rinkinį, yra komunalinėse paslaugose POSIX. Nereikia išmokti visų klavišų mintinai, bet pravartu bent apytiksliai žinoti, ką gali padaryti pagrindiniai įrankiai. Nereikia išradinėti dviračio iš ramentų. Man kažkaip reikėjo pakeisti eilučių lūžius tarpais kokios nors programos išvestyje, o mano sergančios smegenys pagimdė tokią konstrukciją kaip sed ':a;N;$!ba;s/n/ /g', priėjo kolega ir nuvarė mane nuo pulto su šluota, o tada išsprendė problemą parašydamas tr 'n' ' '.

Pradedančiam sistemos administratoriui: kaip sukurti tvarką iš chaoso

Patarčiau atsiminti, ką daro kiekvienas atskiras įrankis ir dažniausiai naudojamų komandų klavišus. Nedvejodami skambinkite vyrui, jei turite kokių nors abejonių. Ir būtinai perskaitykite patį vyrą – jame svarbi informacija apie tai, ką rasite.

Žinodami šias priemones, galėsite efektyviai išspręsti didelę dalį problemų, su kuriomis susidursite praktiškai. Tolesnėse paskaitose apžvelgsime, kada naudoti šiuos įrankius ir pagrindinių paslaugų bei programų, kurioms jie taikomi, sistemas.

Su jumis buvo FirstVDS sistemos administratorius Kirilas Tsvetkovas.

Šaltinis: www.habr.com

Добавить комментарий