ntfs-radio.sh

From DCEwiki
Jump to navigation Jump to search

Využití disklessu k distribuci lokálních instalací MS Windows

Komprimovaný přenos dat po síti

Původně se používaly dva jednoduché skripty:

Na zdroji se spouštěl exportHDD.sh, který data z exportovaného blokového zařízení (diskový odddíl, nebo celý disk) načítaná přes dd, průběžně komprimoval pomocí pigz, a komprimovaný proud dál posílal přes nc na vybraný port, odkud si ho pak "nasávala" cílová stanice.
Na cílové stanici se spouštěl skript importHDD.sh. Ten navázal přes nc spojení se zdrojem a poté začal přijímat komprimovaný proud dat, který nejprve dekomprimoval přes pigz a poté zapisoval pomocí dd na svoje lokální blokové zařízení. Během přenosu se dekomprimovaná data na cílové stanici proháněla ještě přes pv, aby bylo možné průběžně sledovat jaký je stav zpracování.

Byl to jednoduchý způsob, kterým se dal poměrně rychle 1:1 zkopírovat obsah disku z jednoho stroje na druhý.

U tohoto kopírování nezáleželo na typu diskového oddílu, ani jeho obsahu. Bylo tudíž možné takto kopírovat nejenom diskové oddíly formátované na NTFS, ale i ty na kterých byl linuxový souborový systém.

Háček byl v tom, že po překopírování bylo nutné pokaždé stroj nastartovat, přihlásit se, manuálně přejmenovat a restartovat, aby pak nedocházelo ke konfliktům na síti. Stroje se nekopírovaly najednou, ale postupně a to bylo dost zdlouhavé.

Přechodem na full-diskless se od září 2013 začal využívat lokální disk pracovních stanic v laboratořích výlučně pro MS Windows.

Využití ntfs-clone a hromadná distribuce dat přes UDP

Protože se nadále klonovala již pouze data z diskových oddílů formátovaných na NTFS, bylo možné místo původního dd použít ntfs-clone a původní skripty nahradily nové:

Na zdroji se nově spouštěl skript send-ntfs-img.sh, který načítal přes ntfs-clone data z NTFS, získaný proud dat přes pigz zkomprimoval a pak přes udp-sender nabízel k broadcastové distribuci. Významným zlepšením tedy bylo, že jeden komprimovaný proud dat mohlo současně přijímat několik stanic současně.
Na cílových stanicích, se přes pssh paralelně spouštěl skript receive-ntfs-img.sh, který navázal spojení s "vysílačem", a po zahájení přenosu přijímaná data průběžně dekomprimoval a přes ntfsclone ládoval do cílového diskového oddílu, formátovaného rovněž na NTFS.
Po skončení přenosu tento skript naklonovaný diskový oddíl připojil na přípojný bod /mnt a do adresáře /mnt/windows/Windows/System32/GroupPolicy/Machine/Scripts/Startup vložil upravený skript rename.vbs, který po restartu naklonovaný systém automaticky přejmenoval a zrestartoval – tím odpadla nutnost naklonované stroje obcházet a postupně přejmenovávat.

Bohužel s přechodem na Active Directory přestalo být tohle řešení dostačující, protože kvůli zadoménování bylo nutné naklonované stroje stejně postupně obejít.