
Unë jam admin sistemor në FirstVDS, dhe ky është teksti i ligjëratës hyrëse nga kursi im i shkurtër për ndihmën e kolegëve të rinj. Specialistët që sapo kanë filluar të punojnë në administrimin e sistemeve përballen me një sërë problemesh të njëjta. Për të ofruar zgjidhje, kam vendosur të shkruaj këtë cikël ligjëratash. Disa gjëra në të janë specifike për mbështetje teknike të hostimit, por në përgjithësi, mund të jenë të dobishme, ndoshta për shumë, nëse jo për të gjithë. Prandaj e kam adaptuar tekstin e ligjëratës për ta ndarë këtu.
Nuk ka rëndësi si quhet pozita juaj - e rëndësishme është që në thelb ju bëni administrim. Prandaj, le të fillojmë me atë se çfarë duhet të bëjë një administrator sistemi. Detyra e tij kryesore është të vendosë rendin, mirëmbajtjen e rendit dhe përgatitjen për rritjet e ardhshme të rendit. Pa një administrator sistemi, në server fillon kaosi. Logët nuk regjistrohen, ose shkruhen gabim, burimet ndahen në mënyrë jo efektive, disku mbushet me llum dhe sistemi fillon të ngadalësohet nga kaosi i tillë. Qetësohuni! Administratorët e sistemeve në rolin tuaj fillojnë të zgjidhin problemet dhe të eliminojnë kaosin!
Pillars of System Administration
Megjithatë, para se të fillojnë të zgjidhin problemet, është e rëndësishme të njohin katër shtyllat kryesore të administrimit:
- Dokumentacioni
- Shabllonizimi
- Optimizimi
- Automatizimi
Këto janë baza e çdo gjëje. Nëse nuk e ndërtoni procesin tuaj të punës mbi këto principe, ai do të jetë joefektiv, i pangopur dhe në përgjithësi pak i ngjashëm me administrimin real. Le të shqyrtojmë secilën veçmas.
Dokumentacioni
Dokumentacioni nënkupton jo vetëm leximin e dokumentacionit (edhe pse pa atë nuk do të funksiononi), por gjithashtu dhe mbajtjen e tij.
Si të mbani dokumentacionin:
- Ballafaquat me një problem të ri, që nuk e keni parë kurrë më parë? Shkruani simptomat kryesore, metodat e diagnostikimit dhe parimet e zgjidhjes.
- E gjeta një zgjidhje të re elegante për një problem standard? Shkruajeni atë, për t'u siguruar që nuk do t'ju duhet ta shpikni atë përsëri pas një muaji.
- Dikush ju ndihmoi të kuptoni një çështje, në të cilën nuk kuptonit asgjë? Shkruani tezat dhe konceptet kryesore, vizatoni një skemë për vete.
Ideja kryesore është: mos iu besoni plotësisht memories suaj kur mësoni dhe aplikoni të reja.
Forma në të cilën do ta bëni këtë varet vetëm nga ju: mund të jetë një sistem shënimesh, një blog personal, një skedar tekstual, një bllok fizik. E rëndësishme është që shënimet tuaja të përmbushin kërkesat e mëposhtme:
- Të mos jenë tepër të gjata. Shënoni idetë, metodat dhe mjetet kryesore. Nëse kuptimi i problemeve kërkon të shkuani në mekanikën e ndarjes së memories në Linux, mos e ripërsihtni artikullin nga i cili e mësuat atë — thjesht jepni një lidhje.
- Shënimet duhet të jenë të kuptueshme për ju. Nëse rreshti
race cond.lockupnuk ju lejon të kuptoni menjëherë se çfarë përshkruani me këtë rresht — shpjegoni. Në dokumentacionin e mirë nuk duhet të merremi me këtë për një gjysmë ore. - Kërkimi është një funksion shumë i mirë. Nëse mbani shënime në blog, shtoni etiketa; nëse në bllokun fizik — ngjitni post-it të vogla me përshkrime. Nuk ka shumë kuptim në dokumentacion nëse kaloni po aq kohë për të kërkuar një përgjigje në të, sa do t'ju duhej për të zgjidhur problemin nga e para.

Kështu mund të duket dokumentacioni: nga shënimet primitive në bllok (pamja më sipër) deri në një bazë të plotë njohurish për shumë përdorues me etiketa, kërkime dhe të gjitha komoditetet e mundshme (më poshtë).

Jo vetëm që nuk do të duhet të kërkoni të njëjtat përgjigje dy herë: dokumentimi do të jetë një ndihmë e shkëlqyer në të mësuarit e temave të reja (shënimet, apo jo!), do të forcojë ndjenjën tuaj të diagnozës (aftësia për të diagnostikuar një problem të komplikuar duke hedhur një shikim të sipërfaqshëm), do të shtojë organizim në veprimet tuaja. Nëse dokumentacioni do të jetë i qasshëm për kolegët tuaj, ata do të mund të kuptojnë se çfarë dhe si keni bërë kur të mos jeni aty.
Shabllonizimi
Shabllonizimi është krijimi dhe përdorimi i shablloneve. Për të zgjidhur shumicën e problemeve tipike, është mirë të krijoni një shabllon veprimi të caktuar. Për diagnozën e shumicës së problemeve, duhet të përdoren sekuenca standarde veprimi. Kur riparoni/instaloni/optimizoni diçka, funksionaliteti i saj duhet të verifikohet nëpërmjet kontrolleve standarde.
Shabllonizimi është mënyra më e mirë për të organizuar procesin e punës. Duke përdorur procedurat standarde për të zgjidhur problemet më të shpeshta, ju merrni shumë gjëra të shkëlqyera. Për shembull, përdorimi i listave të kontrollit do t'ju lejojë të diagnostikoni të gjitha funksionet e rëndësishme për punë dhe të eliminoni diagnostikimin e funksionaliteteve të dyta. Ndërsa procedurat e standardizuara do të minimizojnë lëvizjet e panevojshme dhe do të reduktojnë probabilitetin e gabimeve.
Një pikë e rëndësishme është se procedurat dhe listat e kontrollit gjithashtu duhet të dokumentohen. Nëse vetëm shpreson për memorien, mund të humbasësh ndonjë kontrollim ose operacion të rëndësishëm dhe gjithçka do të rrëzohet. Një pikë tjetër e rëndësishme është se të gjitha praktikat standarde mund të modifikohen dhe duhet, nëse e kërkon situata. Nuk ka shabllone ideale dhe plotësisht universale. Nëse ka një problem dhe kontrolli standard nuk e ka zbuluar atë, kjo nuk do të thotë se problemi nuk ekziston. Megjithatë, para se të filloni të kontrolloni ndonjë problem hipotetik të pakët, gjithmonë është e dobishme të bëni fillimisht një kontroll të shpejtë standard.
Optimizimi
Optimizimi flet për vete. Procesi i punës duhet të optimizohet në maksimum në lidhje me kohën dhe shpenzimet e punës. Ka pafund mundësi: mësoni çelësat e shpejtë, shkurtoret, shprehjet e rregullta, mjetet që keni në dispozicion. Kërkoni mundësi për një përdorim më praktik të këtyre mjeteve. Nëse e thërrisni komandën 100 herë në ditë, vendoseni atë në një shkurtore në tastierë. Nëse ju nevojitet të lidheni rregullisht me të njëjtat serverë, shkruani një alias në një fjalë që do t'ju lidhë atje:

Shikoni opsionet e ndryshme të mjeteve të disponueshme — ndoshta ka një klient terminal më të përshtatshëm, DE, menaxher të clipboard-it, shfletues, klient të postës, sistem operative. Mësoni se cilat mjete përdorin kolegët dhe njohuritë tuaja — ndoshta ata nuk i zgjedhin ato rastësisht. Pas përzgjedhjes së mjeteve, mësoni t'i përdorni ato: mësoni çelësat, shkurtoret, sugjerimet dhe truket.
Përdorni në mënyrë optimale mjetet standarde — coreutils, vim, shprehje të rregullta, bash. Për tre të fundit ka një numër të madh udhëzimesh të shkëlqyera dhe dokumentacioni. Me ndihmën e tyre, mund të kaloni mjaft shpejt nga gjendja "ndjehem si një majmun që godet arra me një laptop" në "jam një majmun që përdor laptopin për të porositur një hapësirë për arra."
Automatizimi
Automatizimi do të transferojë operacionet e rënda nga duar të lodhura në duar të patretshme të mekanizmit. Nëse ndonjë procedurë standarde ekzekutohet me pesë komanda të njëjta, pse të mos i mblidhni të gjitha këto komanda në një skedë dhe të thërrisni një komandë që e ngarkon dhe e ekzekuton atë skedë?
Në thelb, automatizimi përbëhet 80% nga shkruarja dhe optimizimi i mjeteve tuaja personale (dhe 20% nga përpjekjet për t'i bërë ato të punojnë siç duhet). Kjo mund të jetë thjesht një një-rresht të avancuar ose një mjet i madh dhe i gjithëfuqishëm me ndërfaqe web dhe API. Kritëri kryesor këtu është — krijimi i mjeteve nuk duhet të marrë më shumë kohë dhe përpjekje se sa koha dhe përpjekjet që ky mjet do t'ju kursejë. Nëse kaloni pesë orë duke shkruar një skenar që nuk do t'ju nevojitet më kurrë, për një detyrë, zgjidhja e së cilës pa skenar do t'ju kishte marrë një ose dy orë — kjo është një optimizim shumë i dobët i procesit të punës. Mund të kaloni pesë orë për të krijuar një mjet, vetëm nëse sasia, tipi i detyrave dhe koha e lejojnë, gjë që ndodh rëndom.
Automatizimi nuk domosdoshmërisht nënkupton shkruarjen e skripteve të plota. Për shembull, për të krijuar një grup objektesh të njëjta nga një listë, mjafton një një-rresht i zgjuar, i cili automatikisht do të bëjë atë që do të bënit me duar, duke kaluar mes dritareve, me mjaft copje e ngjitje.
Në thelb, nëse e ndërtoni procesin e administratës mbi këta katër shtylla, mund të rrisni mjaft shpejt efektivitetin, produktivitetin dhe kualifikimin tuaj. Megjithatë, ky listë duhet të plotësohet me një pikë tjetër, pa të cilën puna në IT është pothuajse e pamundur — vetë-arsimi.
Vetë-arsimi i adminit të sistemit
Për të qenë pak a shumë të kompetentë në këtë fushë, është e nevojshme të mësojmë vazhdimisht dhe të zbulojmë të reja. Nëse nuk keni asnjë dëshirë për të përballur me të panjohurën dhe për t'u thelluar, do të dështoni shumë shpejt. Në IT shfaqen vazhdimisht zgjidhje, teknologji dhe metoda të reja, dhe nëse nuk i studioni ato edhe në një nivel sipërfaqësor - jeni në rrugën e humbjes. Shumica e fushave të teknologjive informative qëndrojnë mbi një bazë mjaft të komplikuar dhe të gjerë. Për shembull, funksionimi i rrjetit. Rrjetet dhe interneti janë kudo, ju përballeni me to çdo ditë, por nëse thelloheni në teknologjitë që qëndrojnë pas tyre, do të zbuloni një disiplinë të madhe dhe shumë komplekse, studimi i së cilës nuk është aspak si një shëtitje në park.
Nuk e përfshiva këtë pikë në listë, sepse ajo është themelore për IT në përgjithësi, dhe jo vetëm për administrimin e sistemeve. Natyrisht, nuk është e mundur të mësosh gjithçka menjëherë - thjesht nuk do të kesh kohë të mjaftueshme. Prandaj, kur bëni vetëformim, duhet të kini parasysh nivelet e nevojshme të abstraksionit.
Nuk është e nevojshme të mësosh menjëherë se si funksionon menaxhimi i brendshëm i memorjes nga çdo mjet i veçantë, dhe si ndërvepron ai me menaxhimin e memorjes Linux, por do të ishte mirë të dinit se çfarë përfaqëson memorizimi i përkohshëm në mënyrë schematike dhe përse është e nevojshme. Nuk është e domosdoshme të dish se si dallohet strukturalisht titulli i TCP nga ai i UDP, por do të ishte mirë të kuptoje dallimet kryesore midis protokollave në funksionim. Nuk është e nevojshme të studioni se çfarë janë humbjet e sinjalit në optikë, por do të ishte mirë të dinit pse humbjet reale trashëgohen gjithmonë përmes nyjave. Nuk ka asgjë të keqe të dish se si funksionojnë disa elemente në një nivel të caktuar abstraksioni dhe nuk është e nevojshme të analizosh krejtësisht të gjitha nivelet kur nuk ka fare abstraksion (thjesht do të marrosesh).
Megjithatë, në fushën tuaj, të diskutosh në nivelin e abstraksionit "po, kjo është një gjë që lejon të shfaqen faqet" - nuk është shumë e mirë. Lektyrat e ardhshme do të jenë të përkushtuara për një pasqyrë të fushave kryesore me të cilat një administrator sistemi duhet të përballet në nivelin më të ulët të abstraksionit. Do të përpiqem të kufizoj numrin e njohurive të shqyrtuara në nivelin minimal të abstraksionit.
10 urdhra për administrimin e sistemeve
Pra, ne kemi mësuar katër shtyllat kryesore dhe themelin. A mund të fillojmë të zgjidhim problemet? Jo akoma. Para kësaj, është e rekomandueshme të njiheni me ato që quhen «best practices» dhe rregullat e mira të sjelljes. Pa to, ka mundësi që të shkaktoni më shumë dëm se sa përfitim. Pra, le të fillojmë:
- Disa nga kolegët e mi besojnë se rregulli i parë është «mos dëmto». Por unë jam i prirur të mos bie dakord. Kur përpiqesh të mos dëmtohesh, asgjë nuk mund të bësh — shumë veprime potencialisht janë shkatërruese. Rregulli më i rëndësishëm e konsideroj — «bëj një backup». Edhe nëse dëmton, gjithmonë do të mund të rikthehesh, dhe gjithçka nuk do të jetë aq keq.
Backup duhet të bëhet gjithmonë, kur koha dhe vendi e lejojnë këtë. Backup duhet të bëhet për atë që do të ndryshoni dhe për atë që riskoni të humbisni gjatë një veprimi potencialisht shkatërrues. Backup është e preferueshme të kontrollohet për integritet dhe përfshirjen e të dhënave të nevojshme. Nuk është e rekomandueshme të fshini backup menjëherë pasi të keni kontrolluar gjithçka, përveç nëse keni nevojë të çlironit hapësirë në disk. Nëse hapësira kërkon — bëni backup në serverin tuaj personal dhe fshini pas një jave.
- Rregulli i dytë më i rëndësishëm (të cilin unë shpesh e shkel) është — «mos e fsheh». Nëse keni bërë një backup, shkruani — ku, në mënyrë që kolegët tuaj të mos kenë nevojë ta kërkojnë. Nëse keni bërë ndonjë veprim të dukshëm ose të komplikuar, shkruani: ju do të shkoni në shtëpi, por problemi mund të përsëritet ose të ndodhë me dikë tjetër dhe zgjidhja juaj do të gjendet përmes fjalëve kyçe. Edhe nëse po bëni diçka që e dini mirë, këtë mund të mos e dinë kolegët tuaj.
- Rregulli i tretë nuk ka nevojë për shpjegim: «kurrë mos bëj atë, pasojat e së cilës nuk i di, nuk i përfytyron ose nuk i kupton». Mos kopjoni komandat nga interneti, nëse nuk e dini se çfarë bëjnë, thërrisni man dhe analizoni së pari. Mos apliko zgjidhje të gatshme, nëse nuk mund të kuptoni se çfarë bëjnë. Reduktoni në minimum ekzekutimin e kodit të obfuskuar. Nëse nuk keni kohë për t'u marrë me këtë — do të thotë se po bëni diçka gabim dhe duhet të njiheni me pikën e ardhshme.
- «Testo». Skriptet e reja, veglat, njëlinjat dhe komandat duhet të kontrollohen në një mjedis të kontrolluar, dhe jo në makinën e klientit, nëse ka edhe një potencial minimal për veprime shkatërruese. Edhe nëse e keni backup-uar gjithçka (dhe e keni bërë), koha e ndërprerjes nuk është asgjë e këndshme. Krijoni për këtë punë një server/virtual dhe provoni aty. Asgjë nuk u prish? Atëherë mund të filloni në "prodhim".

- «Kontrollo». Minimizoni të gjitha operacionet që nuk i kontrolloni. Një varësi e keqe nga një paketë mund të tërheqë gjysmën e sistemit, dhe flag-u i dhënë për yum remove -y, ju jep mundësinë të praktikoni aftësitë tuaja të rikuperimit të sistemit nga fillimi. Nëse veprimi nuk ka alternativa të pakontrolluara — kaloni në pikën tjetër dhe bëni një backup të gatshëm.
- «Kontrollo». Kontrolloni pasojat e veprimeve tuaja dhe nëse duhet të riktheheni në backup. Kontrolloni, nëse problemi është zgjidhur vërtet. Kontrolloni nëse gabimi ndodh përsëri dhe në cilat kushte. Kontrolloni se çfarë mund të prisni me veprimet tuaja. Të kesh besim në punën tonë është e tepruar, por të kontrollosh — asnjëherë.
- «Bisedo». Nëse nuk arrini të zgjidhni problemin, pyete kolegët, nëse ata kanë hasur në diçka të tillë. Dëshironi të aplikoni një zgjidhje të kontestuar — merrni mendimin e kolegëve. Ndoshta ata do të ofrojnë një zgjidhje më të mirë. Nëse nuk jeni të sigurt në veprimet tuaja — diskutoni ato me kolegët. Edhe nëse kjo është fusha juaj e ekspertizës, një perspektivë e freskët mund të sqarojë shumë. Mos hiqni dorë nga padija juaj. Më mirë të bëni një pyetje të budallallëkut, të dukeni të paguar dhe të merrni një përgjigje, se sa të mos bëni atë pyetje, të mos merrni përgjigje dhe të mbeteni budalla.
- «Mos refuzo ndihmën pa arsye». Ky pikë është ana tjetër e së kaluarës. Nëse ju bëhet një pyetje e budallallëkut — sqaroni dhe shpjegoni. Nëse kërkohet diçka të pamundur — shpjegoni pse është e pamundur dhe pse, ofroni alternativa. Nëse nuk keni kohë (realiste nuk keni kohë, e jo dëshirë) — thoni se keni një çështje urgjente me një volum të madh pune, por do të merremi më vonë. Nëse kolegët tuaj nuk kanë asnjë detyrë urgjente, ofroni që të kontaktojnë me ta dhe delegoni çështjen.
- «Jep feedback». A collega nga ekipi filloi të përdorë një metodë të re ose një skript të ri, dhe ju po përballeni me pasoja negative të këtij vendimi? Na njoftoni. Ndoshta problemi zgjidhet me tre rreshta kodi ose pesë minuta përmirësim të metodës. Pate një defekt në softuer? Njoftoni për defektin. Nëse ai riprodhohet ose nuk ka nevojë të riprodhohet, ka shumë gjasa që do të zgjidhet. Shprehni dëshirat, propozimet dhe kritikën konstruktive, dhe diskutoni pyetje nëse duket se janë të rëndësishme.
- „Kërkoni feedback“. Të gjithë ne nuk jemi të përsosur, as si vendimet tona, dhe mënyra më e mirë për të kontrolluar saktësinë e vendimit tuaj është ta nxirrni atë për diskutim. Keni optimizuar diçka për klientin — kërkoni të monitoroni punën, ndoshta „qafa e shishës“ në sistem nuk është aty ku e keni kërkuar. Keni shkruar një skript ndihmës — tregoni kolegëve, ndoshta ata do të gjejnë mënyra për ta përmirësuar.
Nëse aplikoni vazhdimisht këto praktika në punë, shumica e problemeve do të ndalen së ekzistuari: ju jo vetëm që do të reduktoni numrin e gabimeve dhe dështimeve tuaja në minimum, por gjithashtu do të keni mundësinë për të korrigjuar gabimet (në formën e kopjave rezervë dhe kolegëve që do t'ju këshillojnë të bëni një kopje rezervë). Më pas, janë vetëm detajet teknike, ku, siç dihet, qëndron djalli.
Instrumentet kryesore me të cilat do t'ju duhet të punoni më shumë se 50% të kohës — grep dhe vim. Çfarë mund të jetë më e thjeshtë? Kërkimi në tekst dhe redaktimi i tekstit. Megjithatë, grep dhe vim janë mjete të fuqishme multifunksionale që lejojnë të kërkoni dhe redaktoni tekstin në mënyrë efektive. Nëse ndonjë notepad i Windows-it do t'ju lejojë thjesht të shkruani/zhduki një rresht, në vim mund të bëni pothuajse gjithçka me tekstin. Nëse nuk besoni — thërrisni komandën vimtutor nga terminali dhe filloni të mësoni. Sa i përket grep — forca e tij kryesore janë shprehjet e rregullta. Po, vetë mjeti lejon të përcaktoni mjaft fleksibël kushtet e kërkimit dhe të dhënat që do të shfaqen, por pa RegExp, kjo nuk ka shumë kuptim. Pra, duhet të dini shprehjet e rregullta! Të paktën në nivelin bazik. Për fillim, do rekomandoja të shikoni këtë. , ai diskutohen bazat e shprehjeve të rregullta dhe përdorimi i tyre së bashku me grep. Ah po, kur i bashkoni ato me vim, fitoni fuqinë ULTIMATE për të bërë me tekstin gjëra të tilla që duhet t'i përshkruani me simbole 18+.
Nga 50% e mbetur, 40% përfshin paketën e veglave coreutils. Për listën e coreutils, mund të shikoni në , dhe manuali përListën e plotë është në faqen . Çfarë nuk mbulohet nga ky grup, ndodhet në utilitetet . Nuk është e nevojshme ta mësoni këtë me të gjitha çelësat përmendsh, por është e dobishme të keni një ide se çfarë mund të bëjnë veglat kryesore — nuk do t'ju duhet të shpikni një biçikletë nga shtyllat. Më ndodhi një herë të zëvendësoja vargjet e reja me hapësira në daljen nga ndonjë utilitet, dhe truri im i rënduar shpiku një ndërtim si sed ':a;N;$!ba;s/n/ /g', një koleg që erdhi më largooi me një metkë nga konsola, dhe pastaj e zgjidhi problemin duke shkruar tr 'n' ' '.

Do t'ju rekomandoja të kujtoni se çfarë bën çdo vegël e veçantë dhe çelësat për komandat më të përdorura, për të gjitha gjërat e tjera ekziston man. Mos hezitoni ta thërrisni man nëse keni ndonjë dyshim. Dhe patjetër lexoni man për man - ai përmban informacion të rëndësishëm për atë që do të gjeni.
Duke njohur këto vegla, do të jeni në gjendje të zgjidhni në mënyrë efektive një pjesë të madhe të detyrave me të cilat do të përballeni në praktikë. Në ligjëratat në vazhdim do të shqyrtojmë se kur të përdoren këto vegla dhe strukturat e shërbimeve dhe aplikacioneve kryesore ku ato zbatohen.
Ishte me ju, administratori i sistemit të FirstVDS, Kirill Tsvetkov.
Burimi: habr.com

