Správa více serverů Linux pomocí ClusterSSH

pokud jste správcem systému Linux, je pravděpodobné, že máte více než jeden počítač, za který jste denně zodpovědní. Můžete dokonce mít banku strojů, které si udržujete a které jsou podobné-například farmu webových serverů. Pokud máte třeba zadat stejný příkaz do několika strojů najednou, můžete se přihlásit na každý z nich s SSH a to sériově, nebo si můžete ušetřit spoustu času a úsilí, a použít nástroj, jako ClusterSSH.

ClusterSSH je TK / Perl obal kolem standardních linuxových nástrojů, jako jsou XTerm a SSH. Jako takový, to bude běžet na téměř jakékoliv POSIX-kompatibilní operační systém, kde knihoven existují — už jsem to na Linux, Solaris a Mac OS X. To vyžaduje Perl knihovny Tk (perl-tk na Debianu nebo Ubuntu) a X11::Protokol (libx11-protocol-perl na Debianu nebo Ubuntu), kromě xterm a OpenSSH.

instalace

instalace ClusterSSH v systému Debian nebo Ubuntu je triviální-jednoduchý sudo apt-get install clusterssh jej nainstaluje a jeho závislosti. Je také zabalen pro použití s Fedorou a je instalovatelný přes ports system na FreeBSD. K dispozici je také verze MacPorts pro použití s Mac OS X, pokud používáte počítač Apple. Samozřejmě může být také sestaven ze zdroje.

konfigurace

ClusterSSH lze konfigurovat buď prostřednictvím svého globálního konfiguračního souboru – /etc/clusters, nebo prostřednictvím souboru v domovském adresáři uživatele s názvem .csshrc. Mám tendenci upřednostňovat konfiguraci na uživatelské úrovni, protože umožňuje více lidem ve stejném systému nastavit klienta ClusterSSH, jak si zvolí. Konfigurace je v obou případech jednoduchá, protože formát souboru je stejný. ClusterSSH definuje „cluster“ jako skupinu strojů, které chcete ovládat pomocí jednoho rozhraní. S ohledem na to vyjmenujete své klastry v horní části souboru v bloku“ klastry “ a poté popíšete každý klastr v samostatné části níže.

řekněme například, že mám dva shluky, každý se skládá ze dvou strojů. „Cluster1“ stroje „Test1“ a „Test2“, a „Cluster2“ stroje „Test3“ a „Test4“. Kontrolní soubor ~.csshrc (nebo /etc/clusters) bude vypadat takto:

clusters = cluster1 cluster2

cluster1 = test1 test2
cluster2 = test3 test4

můžete také vytvořit meta-klastrů — klastry, které se odkazují na klastry. Pokud jste chtěli vytvořit cluster s názvem „Vše“, který zahrnoval všechny stroje, můžete jej definovat dvěma způsoby. Za prvé, můžete jednoduše vytvořit cluster, který držel všechny stroje, stejně jako následující:

clusters = cluster1 cluster2 all

cluster1 = test1 test2
cluster2 = test3 test4
= test1 test2 test3 test4

Nicméně, můj preferovaný způsob je použití meta-clusteru, která zahrnuje druhé uskupení:

clusters = cluster1 cluster2 all

cluster1 = test1 test2
cluster2 = test3 test4
= cluster1 cluster2

Tím, že volá z „všechny“ klastr jako obsahující cluster1 a cluster2, pokud je některá z těchto uskupení někdy změní, změna je automaticky zachycen, takže nemusíte aktualizovat „všechno“ definice. To vám ušetří čas a bolesti hlavy, pokud vaše .soubor csshrc stále roste ve velikosti.

použití ClusterSSH

použití ClusterSSH je podobné samotnému spuštění SSH. Jednoduše spuštěný cssh -l <username> <clustername> spustí ClusterSSH a přihlásí vás jako požadovaného uživatele v tomto clusteru. Na obrázku níže vidíte, že jsem se přihlásil do“ cluster1 “ jako já. Malé okno označené „CSSH“ je okno konzoly SSH clusteru. Všechno, co napíšu do tohoto malého okna, se ozve na všechny stroje v klastru — v tomto případě stroje „test1“ a „test2“. V nouzi, můžete se také přihlásit ke strojům, které nejsou ve vašem .soubor csshrc, jednoduše spuštěním cssh -l <username> <machinename1> <machinename2> <machinename3>.

pokud chci něco poslat na jeden z terminálů, mohu jednoduše přepnout zaostření kliknutím na požadovaný XTerm a jednoduše zadat toto okno jako obvykle. ClusterSSH má několik položek nabídky, které opravdu pomáhají při řešení kombinace strojů. Podle obrázku níže je v nabídce“ hostitelé “ konzoly ClusterSSH několik možností, které se hodí.

„Retile Windows“ dělá jen to, že pokud jste ručně změnili velikost nebo přesunuli něco. „Přidat hostitele nebo klastry“ je skvělé, pokud chcete do spuštěné relace ClusterSSH přidat další sadu počítačů nebo jiný cluster. Nakonec uvidíte každého hostitele uvedeného v dolní části nabídky“ hostitelé“. Zaškrtnutím nebo zrušením zaškrtnutí políček vedle každého názvu hostitele můžete vybrat, na které hostitele bude konzola ClusterSSH opakovat příkazy. To je užitečné, pokud chcete vyloučit hostitele nebo dva z jednorázového nebo konkrétního důvodu. Konečná možnost nabídky, kterou je hezké mít, je v nabídce „Odeslat“ s názvem „název hostitele“. To jednoduše odráží název hostitele každého počítače na příkazovém řádku, což může být užitečné, pokud v clusteru vytváříte něco specifického pro hostitele.

Upozornění s ClusterSSH

stejně Jako mnoho UNIXOVÝCH nástrojů, ClusterSSH má potenciál jít strašně špatně, pokud si nejste velmi opatrní s jejím použitím. Viděl jsem chyby ClusterSSH vyřadit celou vrstvu webových serverů jednoduše propagací překlepu v konfiguraci Apache. Mít přístup k více strojům najednou, možná jako privilegovaný uživatel, znamená, že chyby přicházejí za velkou cenu. Opatrujte se a zkontrolujte, co děláte, než stisknete klávesu Enter.

závěr

ClusterSSH není náhradou za to, že má systém správy konfigurace nebo některý z dalších osvědčených postupů při správě řady strojů. Pokud však potřebujete udělat něco v nouzi mimo obvyklou sadu nástrojů nebo proces, nebo pokud děláte prototypovou práci, ClusterSSH je nepostradatelný. To může ušetřit spoustu času, když děláte úkoly, které musí být provedeno na více než jeden stroj, ale jako každý elektrický nástroj, to může způsobit hodně škody, pokud jsou použity nahodile.

You might also like

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.