GNU/Linux >> Znalost Linux >  >> Linux

Jak používat snímky LVM k obnově systémů Linux

V případech, kdy nastartování nebo použití skriptů k automatizaci post-provisioning systémů není proveditelné nebo praktické, může být problém vytvořit testovací systémy pro sebe nebo pro spolupracovníky. Pokud se například pokoušíte používat různé systémy Red Hat Satellite pro své vlastní učení, instalace virtuálního počítače, synchronizace obsahu, vytváření zobrazení obsahu a tak dále by zabralo dlouhou dobu. Co když si nakonec systém postavíte tak, jak chcete, ale při studiu ho omylem uděláte nepoužitelným? Buď se pokoušíte odladit systém, když vůbec nevíte, jak funguje, nebo procházíte časově náročným procesem jeho přestavby od nuly. Pokud tyto systémy zpřístupníte svým spolupracovníkům, zvýší se pravděpodobnost, že se systém stane nepoužitelným.

[ Také by se vám mohlo líbit: Správce logických svazků (LVM) versus standardní dělení v Linuxu ]

Jako řešení těchto problémů jsem použil snímky Logical Volume Manager (LVM). Nejprve jsem vytvořil nový virtuální stroj (VM), jehož záložní úložiště byl logický svazek. Nainstaloval jsem operační systém, nakonfiguroval služby a nastavil systém jako zlatý obrázek . Potom jsem udělal snímek LVM a spustil virtuální stroj z tohoto snímku. Když bylo potřeba systém resetovat zpět do zlatého stavu, šlo o jednoduchý proces zničení a odstranění aktuálního virtuálního počítače a vytvoření nového snímku. Poté jsem mohl spustit virtuální počítač z tohoto znovu vytvořeného snímku.

Aby to bylo pro uživatele přístupnější, bylo vytvořeno WebUI, které využívalo komponenty PEAR, PHP a sudo přístup pro Apache ke spuštění výchozího lvremove , lvcreate , virsh a xm příkazy. Kromě toho byly vytvořeny dva vlastní skripty, z nichž jeden by jednoduše SSH do virtuálního počítače a spouštěl who zjistit, jestli to někdo používá, a druhý byl skript, který by spouštěl tyto příkazy LVM, aby virsh destroy $1 , lvremove /dev/vgvms/$1.ss -f a poté lvcreate -L +5G -s -n $1.ss /dev/vgvms/$1.gold . Při použití této metody bylo důležité zajistit, aby se název virtuálního počítače shodoval s názvem LVM a že snímek byl *.ss se zlatým obrázkem pojmenovaným jako *.gold .

Měl jsem malý nadpis s odkazem na lorenz , což byl systém používající stejný typ nastavení, ale byl to hypervizor pro základní klienty RHEL, nikoli pro satelitní servery. Hlavní tabulka ve webovém uživatelském rozhraní se vyplní kódem:

if(is_array($inactive_guests)) {
  foreach ($inactive_guests as $key=>$value) {
    $tpl->setVariable(array(
                            'server_name'  => $key,
                            'virsh_status' => $value['status'],
                            'fqdn' => $value['fqdn'],
                            'userinfo' => $value['userinfo'],
                            'notes' => $value['notes'],
                            'inactivecontrols' => inactive_controls($key)));
    $tpl->parse('inactiveserver');
  }
}

WebUI zobrazuje tato pole pro každý systém a poskytuje tento výstup:

Hlavní výhody této metody jsou, že ji můžete rychle obnovit do známého dobrého stavu, WebUI hlásí, zda někdo používá konkrétní systém, a je to jednoduchý systém k nastavení. Některé nevýhody však spočívají v tom, že je poměrně náročný na úložiště a neexistuje způsob, jak si systém rezervovat, aby jej někdo jiný nemohl používat nebo jej obnovit do zlatého stavu. S trochou dalšího vývoje by však tyto problémy mohly být vyřešeny.

Zásluhu na počátečním vývoji tohoto projektu mají Jeremy Agee a Patrick Wiggins. Můžete si stáhnout zdrojový kód WebUI.

[ Volný kurz:Red Hat Satellite Technical Overview. ] 


Linux
  1. Jak používat systemd-nspawn pro obnovu systému Linux

  2. Jak používat příkazy strace a ltrace v Linuxu

  3. Jak nainstalovat a používat Glances k monitorování systémů Linux

  1. Jak používat htop ke sledování procesů systému Linux

  2. Jak používat Timeshift k zálohování a obnově Linuxu

  3. Jak nainstalovat a používat Git v systému Linux

  1. Jak nainstalovat a používat Telnet na systémech Linux

  2. Jak používat systemctl v Linuxu

  3. Jak používat Linux Strace Command