GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare gli snapshot LVM per ripristinare i sistemi Linux

Nei casi in cui avviare o utilizzare script per automatizzare il post-provisioning dei sistemi non è fattibile o pratico, può essere difficile creare sistemi di test per te o per i colleghi. Ad esempio, se stai cercando di utilizzare vari sistemi Red Hat Satellite per il tuo apprendimento, l'installazione di una macchina virtuale, la sincronizzazione del contenuto, la creazione di visualizzazioni di contenuto e così via richiederebbe molto tempo. E se finalmente riuscissi a costruire il sistema come lo desideri, ma mentre studi lo rendi accidentalmente inutilizzabile? O stai cercando di eseguire il debug di un sistema quando non sai come funziona in primo luogo o stai attraversando il lungo processo di ricostruzione da zero. Se metti questi sistemi a disposizione dei tuoi colleghi, aumenta la probabilità che un sistema diventi inutilizzabile.

[ Potrebbe interessarti anche: Logical Volume Manager (LVM) rispetto al partizionamento standard in Linux ]

Come soluzione a queste sfide, ho utilizzato gli snapshot di Logical Volume Manager (LVM). Per iniziare, ho prima creato una nuova macchina virtuale (VM) il cui archivio di backup era un volume logico. Ho installato il sistema operativo, configurato i servizi e impostato il sistema come immagine gold . Ho quindi scattato un'istantanea dell'LVM e avviato la macchina virtuale da quell'istantanea. Quando il sistema doveva essere ripristinato allo stato gold, si trattava di un semplice processo di distruzione e rimozione della VM corrente e di creazione di una nuova istantanea. Potrei quindi avviare la macchina virtuale da quello snapshot ricreato.

Per renderlo più accessibile agli utenti, è stata creata una WebUI, che utilizzava componenti PEAR, PHP e sudo accesso per Apache per eseguire il predefinito lvremove , lvcreate , virsh e xm comandi. Inoltre, sono stati creati due script personalizzati, uno dei quali avrebbe semplicemente inviato un SSH alla VM ed eseguito who per vedere se qualcuno lo stava usando, e l'altro era uno script che avrebbe eseguito quei comandi LVM per virsh destroy $1 , lvremove /dev/vgvms/$1.ss -f , quindi lvcreate -L +5G -s -n $1.ss /dev/vgvms/$1.gold . Utilizzando questo metodo, era importante assicurarsi che il nome della VM corrispondesse al nome LVM e che lo snapshot fosse *.ss con l'immagine gold denominata *.gold .

Avevo un piccolo titolo con un link a lorenz , che era un sistema che utilizzava lo stesso tipo di configurazione ma era un hypervisor per i client RHEL di base, non per i server Satellite. La tabella principale nella WebUI viene popolata con il codice:

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');
  }
}

La WebUI mostra quei campi per ogni sistema, fornendo questo output:

I principali vantaggi di questo metodo sono che puoi ripristinare rapidamente uno stato buono noto, la WebUI segnala se qualcuno sta utilizzando un particolare sistema ed è un sistema semplice da configurare. Tuttavia, alcuni degli svantaggi sono che è abbastanza impegnativo per lo spazio di archiviazione e non c'è modo di prenotare un sistema per impedire a qualcun altro di usarlo o ripristinarlo allo stato aureo. Tuttavia, con un piccolo sviluppo aggiuntivo, questi problemi potrebbero essere risolti.

I crediti per lo sviluppo iniziale di questo progetto vanno a Jeremy Agee e Patrick Wiggins. Puoi scaricare il codice sorgente di WebUI.

[ Corso gratuito:Panoramica tecnica di Red Hat Satellite. ] 


Linux
  1. Come utilizzare systemd-nspawn per il ripristino del sistema Linux

  2. Come utilizzare htop per monitorare i processi di sistema Linux

  3. Come utilizzare Timeshift per eseguire il backup e il ripristino di Linux

  4. Come usare i comandi strace e ltrace in Linux

  5. Come installare e utilizzare Sguardi per monitorare i sistemi Linux

Come installare e utilizzare Nmap su Linux Mint 20

Come installare e utilizzare Docker nel tuo sistema Linux

Come installare e utilizzare YouTube-DL su sistema Linux

Come installare e utilizzare Google Chrome su sistema Linux

Come installare e utilizzare il compilatore GCC su sistema Linux

Come montare e utilizzare un'unità exFAT su un sistema Linux