Clonare Pc con RSync

ritratto di kappe

Avete 15 pc tutti identici, un sistema Linux da installare e modificare abbastanza pesantemente, cosa fate?

Risposta 1: mi armo di uno o piu cd di installaione e tanta pazienza e mi metto ad installare.

Risposta 2: Installo e configuro un pc, poi li attacco tutti in rete e clono l'intero hard disk su ogni pc.

Se hai risposto 1 clicca qui, se hai risposto 2 Beeenveniiiutoo, sei uno di noii (Cit. Radio 105 ^^), ma ciancio alle bande e veniamo al punto, come si clona un HD? in mille modi, Norton ghost, Clonezilla ecc ecc... ma secondo me il modo più veloce e semplice, su sistemi Unix e avendo a disposizione una rete, è usare rsync, una applicazione molto conosciuta in ambito server, utilizzata per sincronizzare cartelle e mille altre cose su sistemi Unix (windows?).

L'idea è di predisporre un pc "sorgente" e collegare in rete n pc "destinazione" (n={1,....,inf} scusate sto facendo analisi ;) ) e poi di dire a rsync di copiare pari pari tutti i dati da l'HD sorgente a l'HD destinatario, ecco come procedere:



Strumenti necessari:

  • Un sistema unix con installato
    rsync, se il vostro non cel'ha installatelo con il gestore di
    pacchetti/APT

  • live
    cd di knoppix
    , va bene qualsiasi altra distro live, ho scelto
    knoppix perchè è veloce ed efficace.

  • cose ovvie: pc, rete (preferibilmente 100mb/s soprattutto se
    avete da trasferire tanti Gb)

Passiamo alla preparazione:

Pc "sorgente":

  1. Configurate il Sistema operativo
    come più vi piace, poi accedete in modalità testuale (Per es.
    Ubuntu: Ctrl+alt+F1)

  2. Scrivetevi indirizzo ip della macchina (per esempio
    192.168.0.1) e L'ESATTA dimensione delle partizioni che volete
    copiare

  3. Terminare il processo del vostro desktop grafico ad esempio
    per gnome il nome del processo da terminare è gdm (gnome desktop
    manager) con "ps" vedete tutti i processi e con “kill
    numeroprocesso” terminate gdm, oppure direttamente con “killall
    gdm”.

  4. Accedere come root "sudo su" (su ubuntu) e con “passwd” reimpostare la password
    di root (è troppo lungo da spiegare ma per es. su ubuntu se non lo
    fate via ssh non vi riconosce la psw di root)

Pc "destinazione":

  1. Riavviate inserendo la distribuzione live di Knoppix e
    fategli fare il boot, appena avviata digitate "knoppix 2"

  2. Creare le stesse identiche partizioni che avete su l'HD
    sorgente, un esempio con un solo HD ide sulla macchina, una
    partizione ext3 e una di swap:

    • cfdisk /dev/hda (creare partizioni uguali alla sorgente o
      sufficientemente grandi per i dati)
    • mkfs.ext3 /dev/hda1
    • mkswap /dev/hda5

    Questo è un modo da shell adatto ad
    esempio alla knoppix, ma ognuno è libero di partizionare il disco con lo strumento che preferisce.

  1. Montate la partizione che dovrà contenere i dati in una
    cartella (ad esempio /mnt) cosi: “mount -t ext3 /dev/hda1 /mnt” (sempre
    secondo l'esempio di prima)

  2. Cancellate tutto quello che viene creato di default
    all'interno della partizione (nel caso della ext3 la cartella
    lost+found) cosi: “rm -rf /mnt/*”

  3. Adesso dobbiamo dire a rsync di copiare i file remoti, e nel
    caso, quali cartelle non copiare, per sistemi linux è saggio non
    copiare tutte quelle directory che vengono usate dal sistema, per
    gli altri ambienti... non lo so :D

  4. Il comando è abbastanza chiaro ad una prima analisi

  • “rsync -auHxv --exclude=/proc/* --exclude=/tmp/*
    --exclude=/sys/* --exclude=/dev/* root@192.168.0.1:/* /mnt”
  •  ovviamente 192.168.0.1 è l'ip della macchina sorgente.

  1. Rimane solo da installare grub, con il comando: “grub-install
    --root-directory=/mnt /dev/hda” ovviamente se avete qualcosa di
    diverso rispetto alla partizione di esempio dovete adeguare il
    comando, per maggiori info sull'installazione di grub guardate qui.

ecco rsync in azione:


Gradirei richieste di chiarimenti e precisazioni in modo da
migliorare la guida, contattatemi pure :)


Commenti

Invia nuovo commento

Please solve the math problem above and type in the result. e.g. for 1+1, type 2.
Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.