GNU/Linux >> Znalost Linux >  >> Linux

3 kroky k identifikaci kandidátů na automatizaci systému Linux

Automatizace úkolů, které provádíme, je jednou z nejdůležitějších součástí naší práce systémových administrátorů. Není to jen o provádění mnoha úkolů potřebných k udržení systémů, které podporujeme, v provozu. Jde o to, abychom to ulehčili sobě a dalším sysadminům, kteří by nás mohli zastupovat, když jsme na dovolené nebo nemocní; jde o zajištění toho, že můžeme svou práci vykonávat rychle a snadno s minimem práce a zásahů z naší strany; je to o – hmmm, měl bych to opravdu říct – o tom být líným systémovým správcem.

O automatizaci jsem hodně psal ve svých knihách a článcích a moje mantra je vždy „zautomatizujte vše“. Ale jak víte, kde začít?

[ Také by se vám mohlo líbit: 8 tipů pro spolehlivou automatizaci systému Linux ]

Bod bolesti

Na cestě k automatizaci jsem začal tím, že jsem omezil hlavní problémový bod pro jeden z nejdůležitějších úkolů, které správci systému provádějí – zálohování. Začal jsem s velmi malou sítí:jeden počítač a připojení k internetu. Zálohování bylo snadné, ačkoli technologie byla tvořena řadou páskových jednotek, které nakonec selhaly.

Zpočátku jsem v pátek večer zadával příkaz k zálohování všech mých důležitých adresářů a někdy jsem zkontroloval, zda byly zálohy úspěšně vytvořeny. Byly – hlavně – kvůli pásce.

Jak se moje síť rozrůstala a já jsem se stal zodpovědným za jiné sítě, než je ta moje, zjistil jsem, že používání příkazového řádku k vytváření více záloh je docela únavné. Technologie však pokročila a také jsem zjistil, že externí pevné disky USB jsou vynikajícím zálohovacím médiem a skript zálohování několika počítačů výrazně usnadňuje. Pomocí úloh cron nebo časovačů systemd mi také umožňuje plánovat zálohování.

Můj současný zálohovací systém používá skript Bash, který využívá rsync k vytvoření záloh až tuctu počítačů v mé stávající domácí síti. Zálohy jsou nejprve vytvořeny na 4TB interním pevném disku a poté zapsány na jeden z řady externích 4TB USB pevných disků. Externí disky mohu snadno přenést do bezpečnostní schránky pro zálohování mimo pracoviště. Podrobnosti o tomto zálohovacím systému si můžete přečíst v mém článku Použití rsync k zálohování vašeho systému Linux. Klíčem je najít nejintenzivnější bod bolesti a začít s tím.

Moje strategie

Opravdu mám jen jednu strategii, jak určit, co automatizovat jako první – nebo jako další. Je to jednoduše určit úkol, který mi v daném okamžiku způsobuje největší bolest. Tou bolestí může být nutnost strávit spoustu času opakovaným psaním stejných příkazů, čekáním, co se stane, než zadáte další příkaz, zapamatováním si správné syntaxe pro příkazy, které často používám, nebo cokoli jiného.

Pravděpodobně již znáte zdroj největší bolesti ve vašem životě systémového správce. To je první věc, o které byste měli uvažovat o automatizaci, zvláště pokud je relativně malá a není tak zásadní nebo důležitá jako kompletní, pokročilý systém zálohování. Začal jsem s jednoduchým zálohovacím systémem, který používal tar a některé zábavné funkce SSH, o kterých jsem psal v Nejlepší pár roku 2015:tar a ssh.

Dalšími bolestmi pro mě bylo provádění aktualizací Fedory, včetně bezpečnostních a funkčních oprav a také vylepšení funkcí. To také zahrnuje provádění upgradů z jednoho vydání Fedory na další, například z Fedory 32 na Fedoru 33.

Existuje také mnoho možností pro implementaci automatizace bez ohledu na úkol. Jednou částí mé strategie bylo začít pomocí skriptů, abych plně porozuměl řešením a všem problémům, které by mohly nastat. Napíšu skript, který vyřeší problém na jednom hostiteli, zkopíruji ho do všech hostitelů v síti a poté do příkazového řádku napíšu programy Bash, aby se tento úkol provedl na všech hostitelích. Toto má tvar:

for host-name in `cat ~/list-of-hosts` ; do ssh host-name "script-name"; done

Ale i to se stává fuška a další bolestný bod s dostatkem hostitelů na dostatečném počtu sítí. Problém může být také tehdy, když je třeba s některými hostiteli zacházet jinak než s ostatními. Zjistil jsem, že pokročilejší nástroje, jako je Ansible, dokážou automatizovat úkoly na mnoha hostitelích v síti a přitom zacházet s určitými typy, jako jsou servery, jinak než se standardními pracovními stanicemi. Ansible nevyžaduje distribuci skriptů na každého hostitele, aby mohl vykonávat svou práci; nemusí být dokonce instalován na každém hostiteli – pouze na systému používaném jako „rozbočovač“.

Bod bolesti PHB

Všichni jsme měli špičaté vlasy (PHB) a někdy jsou bodem bolesti. Předpokládejme, že některé PHB žádá o seznam všech RPM na konkrétním linuxovém počítači a krátký popis každého z nich. To se mi stalo, když jsem pracoval ve státě Severní Karolína. Open source v té době nebyl „schválen“ pro použití státními úřady a Linux jsem používal pouze na svém stolním počítači. PHB potřebovali seznam každého softwaru nainstalovaného v mém systému, aby mohli „schválit“ výjimku.

Trvalo mi asi pět minut, než jsem napsal rychlý skript, který by bylo možné v budoucnu spustit tolikrát, kolikrát mi položili stejnou otázku. Uváděla balíčky RPM nainstalované na mém hostiteli a extrahovala popis z každého balíčku. Tento skript vytvořil seznam více než 1900 balíčků s krátkým popisem každého z nich. Poslal jsem tento seznam PHB, která si ho vyžádala, a nikdy jsem o něm neslyšela – nikdy.

Někdy je bod bolesti snadno – a rychle – vyřešen. Ale PHB obvykle vyžadují okamžitou pozornost.

[ Hledáte více o automatizaci systému? Začněte s The Automated Enterprise, bezplatnou knihou od Red Hat. ] 

Poslední myšlenky

Začal jsem vytvořením jednoduchého automatizačního skriptu pro řešení úkolu, který mi způsobil největší bolest. Pak jsem se přesunul k dalšímu bodu bolesti a tak dále. Nakonec se tyto původní bolestivé body vrátí a je třeba je vylepšit pomocí pokročilejších nástrojů, jako je Ansible. Toto je iterativní proces, který nikdy neskončí.


Linux
  1. Jak změnit název hostitele v systému Linux

  2. 8 tipů pro spolehlivou automatizaci systému Linux

  3. Příklady příkazů „shutdown“ v Linuxu

  1. Jak nainstalovat Linux ve 3 krocích

  2. 10 modulů Ansible pro automatizaci systému Linux

  3. Příklady příkazů resize2fs v Linuxu

  1. Úvod do souborového systému Linux

  2. Kali Linux systémové požadavky

  3. Red Hat Enterprise Linux (RHEL) 8 instalačních kroků se snímky obrazovky