Hlavní navigace

Spacewalk - centralizovaná správa Linuxů

20. 6. 2008
Doba čtení: 7 minut

Sdílet

Včera firma Red Hat oznámila zveřejnění zdrojových kódů Red Hat Network Satellite pod GPL licencí a založila tak projekt Spacewalk. RHN Satellite je vyspělý program pro centrální správu počítačů a o tom, jak se změnil ve Spacewalk, si můžete přečíst přímo od jednoho z vývojářů.

Na jedné z přednášek na Red Hat Summitu bylo oznámeno vytvoření projektu Spacewalk pod licencí GPLv2. Jedná se o poslední velký produkt Red Hatu, který nebyl zveřejněn pod open source licencí. Red Hat tento program prodával (a nadále bude) pod jménem Red Hat Network Satellite. Pokud jste o něm nikdy neslyšeli, tak asi nejste sami. Než si řekneme, co vlastně Spacewalk je a co umí, tak bude lepší si nejdříve projít jeho historií. Lépe tak pochopíme, komu má primárně sloužit a co od něj můžeme čekat.

Historie

Všechno začalo, když Red Hat začal prodávat předplatné Linuxu. Tehdy vznikla potřeba nějak spravovat uživatele a jejich předplatné a nabídnout jim možnost stáhnout si si balíčky s opravami a novými vlastnostmi. A tak vznikla služba RHN (Red Hat Network). Ta se postupně vyvinula do systému centrální správy, kde máte všechny vaše systémy pod kontrolou a můžete je vzdáleně spravovat z jednoho místa pomocí webového rozhraní. Kromě správy balíčků můžete například spravovat konfigurační soubory, vzdáleně spouštět vlastní skripty a porovnávat seznamy nainstalovaných balíčků mezi stroji.

Některé firmy nechtějí nebo nemohou být připojené k internetu (jestli tam vede kabel, tak to jde hacknout). Pro takové zákazníky neměl takový systém žádný smysl a potřebovali něco, co by si mohli nainstalovat u sebe a provozovat to v lokální síti odstřižené od internetu. A tak v roce 2003 vznikl Red Hat Network Satellite, což byl kód RHN upravený tak, aby jej bylo možné nainstalovat na počítač u zákazníka. Tím se otevřelo pole pro vznik nových modulů jako je monitoring počítačů a služeb nebo bare metal kickstarty (centrální instalace systému na holý počítač ze sítě).

A protože Red Hat se cítí být průkopníkem open source řešení, tak jednou muselo dojít na otevření RHN Satellite. Spacewalk se tedy má k RHN Satellite podobně jako Fedora k Red Hat Enterprise Linuxu. Ve Spacewalku bude probíhat další vývoj a přibližně jednou za 18 měsíců kód stabilizujeme, otestujeme a vydáme jako RHN Satellite.

Co umí Spacewalk?

Co tedy umí Spacewalk? Možná by se na začátek slušelo říct, že Spacewalk je webová aplikace a ovládá se přes normální internetový prohlížeč. Takže i pokud má váš šéf na svém počítači Windows, stále může jednoduše ovládat počítače zaregistrované ke Spacewalku. Spacewalk samotný umí spravovat pouze linuxové počítače, a to navíc pouze ty, které používají RPM balíčky. Takže kromě Red Hat Enterprise Linuxu to je i Fedora a CentOS. A zřejmě asi i SUSE nebo Mandriva, ale obávám se, že s nimi to zatím ještě nikdo nezkoušel. Mezi základní schopnosti Spacewalku patří:

Přehled o vašich systémech

system-overview

Zaregistrovné počítače jsou zobrazeny v tabulce, případně si výběr omezit filtrem. V tomto hrubém seznamu vidíte hostname počítače, jaký má OS a kolik balíčků a errat je dostupných k aktualizaci. V detailu každého počítače pak najdete více informací a to jak o software (seznam nainstalovaných a dostupných balíků), tak i o hardware (informace o CPU, paměti, síťových rozhraních a data získaná z dmidecode).

SSM

Počítače můžete sdružovat do skupin. Ty můžete i pojmenovat a později si je snadno vyvolat (např. učebna A, testovací stroje). A následně s nimi pracovat v nástroji System Set Manager (SSM). Zde můžete provádět všechny dostupné operace, tak, jak byste je normálně prováděli s jedním počítačem, ale všechny úkony jsou prováděny na všech zvolených počítačích. Na pár kliknutí (no, vlastně na 4) tak můžete aktualizovat stovky nebo i tisíce počítačů zároveň.

Instaluje a aktualizuje software na vašich systémech

yourspacewalk

Již na titulní straně Spacewalku máte zevrubný přehled o stavu vašich systémů. Například vidíte, které počítače vyžadují instalaci aktualizací nebo jaké nejnovější aktualizace jsou dostupné. Instalaci a aktualizaci můžete provádět jak z webového rozhraní (WebUI), tak i z příkazové řádky jednotlivých počítačů. Spacewalk si tyto informace synchronizuje každé 4 hodiny. A pokud si nainstalujete balíček osad (upravený jabber client), tak se Spacewalk dozví o všech úkonech okamžitě a všechny úkony vyklikané ve WebUI jsou okamžitě provedeny na daném počítači.

Správa vašich vlastních balíčků

channels

Balíčky se sdružují do skupin zvaných kanály (channels). Vždy je nějaký kanál základní (např. Fedora9, RHEL5) a k němu existují child kanály (JBoss, Cluster suite). Každý počítač musí být zaregistrován právě k jednomu základnímu kanálu a volitelně může být zaregistrován k několika child kanálům. Tyto kanály buď můžete převzít (např. RHEL z RHN) nebo si do těchto kanálů nahrajete vlastní rpmka pomocí programu rhnpush. Můžete tak získat detailní kontrolu na tím, co si kdo může nainstalovat. Například produkční stroje jsou zaregistrovány do kanálu A, kde je balíček java-sdk ve verzi 1.0. Vy sice už máte k dispozici balíček java-sdk ve verzi 2.0, ale nejdříve ho vložíte do kanálu B a otestujete ho na testovacích strojích a teprve až jste si jisti jeho stabilitou, jej „natlačíte“ i do kanálu A.

Správa a rozmístění konfiguračních souborů

Na podobném principu fungují i konfigurační kanály, pouze místo balíků obsahují konfigurační soubory. Ty tam můžete přímo vytvořit, případně ověřit ve WebUI. Ověření/stáhnu­tí/nahrání můžete provádět i z příkazové řádky počítače pomocí programu rhncfg-client. Přijemnou věcí je verzování těchto konfiguračních souborů, takže pokud do konfiguračního kanálu nahrajete nový soubor, který se později ukáže jako nevyhovující či přímo špatný, tak je vždy cesta zpět. K dispozici jsou i jednoduchá makra pro vytváření univerzálních konfiguračních souborů.

Instalace nových počítačů

Kickstart

Pro instalaci existuje mechanismus zvaný kickstarty. Což je šablona, kde je popsáno, jak se má systém nainstalovat (rozdělení disku, (ne)interaktivní instalace, heslo roota…) a jaké balíky se mají nainstalovat. Ve Spacewalku existuje průvodce, kde si tyto volby můžete jednoduše vyklikat. Pro vlastní instalaci máte dvě možnosti. Buď chcete přeregistrovat již nainstalovaný a zaregistrovaný počítač. V takovém případě si můžete instalaci nového OS vyklikat ve WebUI a dokonce si můžete vybrat, jaké soubory se mají z předchozí instalace zachovat. Pokud se jedná o úplně nový počítač, tak si musíte ještě nakonfigurovat tftpboot a pak můžete pomocí PXE provádět instalaci přímo ze sítě. Instalace nového systému se tak dá zvládnout i za méně než pět minut.

Monitoring počítačů a software

Spacewalk obsahuje modul, který vám umožní monitorovat jak hardware (ping, zda funguje ping ze stroje A na stroj B, traceroute, load systému…), tak i software – zda běží nějaká služba např. Apache, MySQL… K dispozici je mnoho předdefinovaných testů, ale můžete si vytvořit i vlastní. Ze získaných hodnot je možné vykreslit graf nebo si nechat poslat upozornění při překročení kritické hranice. Musím přiznat, že tento modul není tak komfortní jako např. Nagios, ale mnoha lidem by to mohlo stačit.

Instalace a správa virtuálních hostů

Pokud na počítači máte XEN, Spacewalk vám umožní vytvořit nového hosta. V průvodci určíte, kolik CPU a paměti může použít, kolik místa vyčleníte na disk a pak už jenom vyberete který kickstart se má použít. U již existujících hostů můžete měnit alokaci CPU a velikost zabrané paměti.

Distribuce obsahu na geograficky vzdálená místa

RHN Satellite velmi často používají zákazníci, kteří spravovují velmi vzdálené počítače a typicky mají na každém kontinentě alespoň jednu pobočku. A protože Satellite a potažmo i Spacewalk používá necachovatelné URL (session ID v URL), tak normální http proxy vám moc nepomůže. Proto vznikla RHN Proxy, z které nyní vznikla Spacewalk Proxy, která umí cachovat i takováto URL. No, ve skutečnosti je přeloží na cachovatelné URL a tento požadavek protáhne lokálním squidem, který zajišťuje vlastní cachování a poté požadavek přepošle na Spacewalk.

CS24_early

Spacewalk má ještě mnoho dalších vlastností (např. Organizations, aktivační klíče, uživatelské klíče), na která zde není dost prostoru. Ale představu, co umí, už asi máte. A co teď?

Chci to zkusit!

Vývoj Spacewalku probíhá na stránkách Fedorahosted a zde se i dozvíte, jak si Spacewalk nainstalovat. Spacewalk není žádný drobeček, tak počítejte, že vám sežere asi giga paměti a několik GB na disku – většina padne na uložení rpm souborů a na Oracle databázi. Čímž se dostávám k nejčastější otázce, kterou jsme zatím dostávali: „Proč Spacewalk vyžaduje Oracle a nefunguje s MySQL nebo PostgreSQL?“ Ty důvody jsou historické. Když se RHN (jako webová aplikace) rozhodovala v roce 2001, co použít jako databázový backend, rozhodli se pro Oracle. Ten potom zdědil i Satellite a po něm ho zdědil i Spacewalk. A ano, je v plánu podpora i PostgreSQL. Ale zatím se s tím nic neudělalo. Kdybychom chtěli uvolnit Spacewalk, až bude podporovat open source databázi, tak bychom museli čekat zhruba další rok. A to jsme nechtěli. Takto máte možnost nám s touto vlastností pomoci. Zatím prostě Spacewalk vyžaduje externí Oracle 10g nebo zdarma dostupnou Oracle XE.

Nainstalujete si Spacewalk?

Byl pro vás článek přínosný?

Autor článku

Autor pro Root.cz psal převážně Softwarové sklizně. Dnes je zaměstnán ve firmě Red Hat, kde se věnuje vývoji nástrojů pro správce balíků.