# Mamma mi cloni gentoo?

## koma

Ciao a tutti ragazzi  :Smile:  è un po' che non ci si sente  :Very Happy: 

Ultimamente sto avendo un po' troppi impegni ma mi mancate tutti un casino...

Vabbhè tornando alla domanda...

Ho il pc 1 che è acceso e DEVE rimanere acceso

con dentro il disco A partizionato in 2 parti / e SWAP (per comodità non ho fatto la /boot )

dentro c'è anche il disco B,

che dovrà andare nel pc 2 che dovrà essere una macchina CLONE di 1

C'è un modo per fare questo dump senza spegnere la macchina? possibilmente in remoto...

Reso noto che:

A="13GB (30% full)"

B="60GB (0% full [fresh formatted])"

1=2="1.8 pentium4 512Ram"

----------

## comio

 *koma wrote:*   

> Ciao a tutti ragazzi  è un po' che non ci si sente 
> 
> Ultimamente sto avendo un po' troppi impegni ma mi mancate tutti un casino...
> 
> Vabbhè tornando alla domanda...
> ...

 

sì (a meno di dati "modificati" durante l'esecuzione). puoi sicuramente fare il boot da livecd sulla macchina ricevente (a meno che non abbia già una partizione bootabile).

La copia la puoi realizzare con tool tipo rsync (con opzione -a).

Tieni presente che tutti i dati modificati a runtime (tipo un db mysql, per fare un esempio), saranno persi in questo modo e dovrai eseguire un backup specifico (a seconda del servizio) con il servizio fermo. Però avrai già una macchina "gemella" bootabile.

Ricordati che dovrai modificare /boot/grub e /etc/fstab.

ciao

----------

## koma

ecco ho dimenticato un particolare non ho tempo di andare a casa e mettermi a configurare la macchina di destinazione ho bisogno che quando arrivo a casa stasera toglo il disco da una parte e lo piazzo dall'altra. Altrimenti avevo pensato anche io all'rsync

Mi hanno suggerito DD ma devo per forza andare via live cd ( e non zi può ) non esiste qualcosa tipo dump su unix ?

----------

## comio

 *koma wrote:*   

> ecco ho dimenticato un particolare non ho tempo di andare a casa e mettermi a configurare la macchina di destinazione ho bisogno che quando arrivo a casa stasera toglo il disco da una parte e lo piazzo dall'altra. Altrimenti avevo pensato anche io all'rsync
> 
> Mi hanno suggerito DD ma devo per forza andare via live cd ( e non zi può ) non esiste qualcosa tipo dump su unix ?

 

scusa, non avevo notato che B era sempre nel primo.

Puoi usare sempre un veloce rsync o brutalmente un lento cp -a anche in locale per copiare i filesystems.

Però se devi copiare dei dati i relativi servizi devono essere DOWN. 

ciao

----------

## comio

faccio un esempio (supponendo sda1 ed sdb1 le partizioni di partenza ed arrivo... ma nulla toglie di copiare più partizioni in una botta):

```

mkfs.miofspreferito /dev/sdb1

mkdir /mnt/dest

mount -t miofspreferito /dev/sdb1 /mnt/dest

rsync -av --exclude '/proc/*' --exclude '/sys/*' --exclude '/home/*' --exclude '/var/tmp/*' --exclude '/usr/portage/*' --exclude '/tmp/*' --exclude '/mnt/*' / /mnt/dest

# scollego tutti gli  utenti... per poter copiare la home, altrimenti rischio di avere una replica vecchia

mkdir /mnt/dest/home

rsync -av /home/* /mnt/dest/home

# creo le cartelle "escluse" al primo giro... eventualmente se non presenti.

#mkdir /mnt/dest/tmp

#mkdir /mnt/dest/proc

#mkdir /mnt/dest/sys

#mkdir /mnt/dest/var/tmp

#mkdir /mnt/usr/portage

# Modifico il grub (mettendo una nuova entry root=/dev/sdb1 per la nuova copia)  e l'fstab della nuova copia per far corrispondere i dischi (se necessario).

mount /boot

nano -w /boot/grub/grub.conf

nano -w /mnt/dest/etc/fstab

# metto in shutdown tutti i servizi che modificano file (mysql, apache, ...)

/etc/init.d/servzio1 stop

/etc/init.d/servzio2 stop

/etc/init.d/servzio3 stop

rsync -av --update --exclude '/proc/*' --exclude '/sys/*' --exclude '/home/*' --exclude '/var/tmp/*' --exclude '/usr/portage/*' --exclude '/tmp/*' --exclude '/mnt/*' / /mnt/dest

# esegui il reboot, selezionando la entry che punta alla nuova copia. Se va.. il disco è pronto a meno di modifiche al grub ed all'fstab.

# Bisogna ricordarsi di fare la partizione di boot (se necessaria) e copiarci il contenuto della partizione che ospita /boot sul disco di partenza.

```

ciao

luigi

EDIT: Andrebbe usato update nel secondo rsync per evitare di copiare due volte le cose, inoltre c'è l'opzion -H per la copia degli hardlinks.

EDIT2: Commentato i comandi di mkdir, da fare solo se manca le rispettive directory.

----------

## koma

sto provando  :Smile:  sembra che funzioni (TI ADORO)

una correzione per l'uso futuro e dei posteri manca un " ' " dopo '/sys/*

----------

## randomaze

 *koma wrote:*   

> sto provando  sembra che funzioni (TI ADORO)
> 
> una correzione per l'uso futuro e dei posteri manca un " ' " dopo '/sys/*

 

Per l'uso futuro potresti riscrivere in modo accurato e mettere nel forum dei tips, no?

Peraltro non essendo un problema di supporto direi che va nel forum di discussione... no?

Moved from Forum italiano (Italian) to Forum di discussione italiano.

----------

## Peach

 *koma wrote:*   

> sto provando  sembra che funzioni (TI ADORO)
> 
> una correzione per l'uso futuro e dei posteri manca un " ' " dopo '/sys/*

 

quoto! stavo per scriverne uno proprio oggi!

vote for tip  :Wink: 

----------

## Ic3M4n

se per caso si utilizza xfs come filesystem ho scoperto che si può utilizzare xfs_freeze.

nello specifico:

[quote="man xfs_freeze]

xfs_freeze  suspends  and  resumes  access  to  an  XFS filesystem

...

xfs_freeze halts new access to the  filesystem  and  creates  a  stable

image  on disk.  xfs_freeze is intended to be used with volume managers

and hardware RAID devices that support the creation of snapshots.

[/quote]

è comodo perchè ti permette di non avere il classico file is vanished. ovvero... il filesystem è intoccabile in scrittura ma solo in lettura.

----------

## Kernel78

Sembra carino ma come si comportano i servizi che si aspettano di poter scrivere su disco ? stanno buoni buoni in attesa o iniziano a flippare ?

----------

## Ic3M4n

l'unica prova che ho fatto è stato un touch.

fino a quando il filesystem è in stato di freeze il touch rimane fermo senza restituire output, anche per dei minuti, nel momento in cui sblocchi il filesystem crea il file e tutto continua a funzionare.

l'ho scoperto da poco pure io, però intanto sembra un tool molto molto comodo.

----------

## Kernel78

Così sembra molto interessante ...

Dalla prossima installazione userò xfs  :Very Happy: 

----------

## comio

 *Kernel78 wrote:*   

> Così sembra molto interessante ...
> 
> Dalla prossima installazione userò xfs 

 

attenzione però... perché ogni processo che tenterà di scrivere si congelerà, e non ci sarà ctrl-c che tenga. E' sempre meglio usare quell'opzione su fs dove ci sono servizi (che fanno i/o) non vitali.

ciao

----------

## tocas

@Comio

Io ho sempre usato 

```
cp -a
```

 oppure lo script di stage 4 ma.... con rsync si può fare, più o meno, la stessa procedura per clonare un sistema gentoo in rete ? 

se non erro rsync usa ssh quindi potrebbe essere sufficiente avviare la macchina destinazione con un cd minimal-gentoo, impostare la password di root e avviare ssh.

-----

----------

## makoomba

 *tocas wrote:*   

> con rsync si può fare, più o meno, la stessa procedura per clonare un sistema gentoo in rete ?

 

si puote, si puote.

----------

## comio

 *tocas wrote:*   

> @Comio
> 
> Io ho sempre usato 
> 
> ```
> ...

 

rsync può lavorare sia in locale che "tunnellato" in ssh. Inoltre è molto più veloce di cp nel fare la copia e lavora anche per "differenze".

ciao

luigi

----------

## tocas

 *comio wrote:*   

> 
> 
> rsync -av --exclude '/proc/*' --exclude '/sys/*' --exclude '/home/*' --exclude '/var/tmp/*' --exclude '/usr/portage/*' --exclude '/tmp/*' --exclude '/mnt/*' / /mnt/dest
> 
> 

 

Ho fatto un prova in rete ... così:

```
 rsync -av --update --exclude '/proc/*' --exclude '/sys/*' --exclude '/home/*' --exclude '/var/tmp/*' --exclude '/usr/portage/*' --exclude '/tmp/*' --exclude '/mnt/*' / root@192.168.0.11:/mnt/hd1

```

L'unica cosa che le dir escluse vengono copiate comunque nonostante la direttiva --exclude.

----------

## comio

 *tocas wrote:*   

>  *comio wrote:*   
> 
> rsync -av --exclude '/proc/*' --exclude '/sys/*' --exclude '/home/*' --exclude '/var/tmp/*' --exclude '/usr/portage/*' --exclude '/tmp/*' --exclude '/mnt/*' / /mnt/dest
> 
>  
> ...

 

anche nel contenuto?

ciao

----------

## Ic3M4n

la sintassi di --exclude è  *man rsync wrote:*   

> --exclude=PATTERN       exclude files matching PATTERN

 

poco sopra sempre nel file ho trovato un'esempio come il tuo, però stando a quanto detto qui vorrebbe dire:

```
rsync -avu --exclude=/proc/* --exclude=/sys/* ...
```

logicamente un pattern del tipo /proc/* esclude tutto il contenuto di proc dalla copia ma non la directory stessa, viceversa --exclude=/proc esclude directory + contenuto mentre --exclude=proc esclude tutti i file (e quindi anche directory) che si chiamano proc.

----------

## tocas

 *comio wrote:*   

> 
> 
> anche nel contenuto?
> 
> ciao

 

No! ho fatto un pò di confusione io anche perchè nel mio post sono rimasto sul generico però non è necessario ricreare manualmente tutte le directory escluse, ad esempio 

```
mkdir /mnt/dest/proc 
```

 perchè, anche se vuota, viene comunque creata .

------

----------

## comio

 *tocas wrote:*   

> 
> 
> No! ho fatto un pò di confusione io anche perchè nel mio post sono rimasto sul generico però non è necessario ricreare manualmente tutte le directory escluse, ad esempio 
> 
> ```
> ...

 

scusa, ma ero in modalità "a memoria"... effettivamente se le dir sono presenti, non è necessario fare il mkdir. (avevo messo gli '*' di proposito nel comando rsync).

ciao

luigi

----------

## tocas

 *comio wrote:*   

>  *tocas wrote:*   
> 
> No! ho fatto un pò di confusione io anche perchè nel mio post sono rimasto sul generico però non è necessario ricreare manualmente tutte le directory escluse, ad esempio 
> 
> ```
> ...

 

Grazie anche a Ic3M4n adesso è tutto chiaro.....

Questo 3D mi è capitato proprio a puntino   :Very Happy:  , nei prossimi giorni devo migrare una Gentoo su un piccolo server in fase di test su una macchina un pò più affidabile e penso proprio di utilizzare questa metodo.

Sto raffinando la tecnica.

----

----------

## kevinlux

Salve a tutti,

mi trovo nella situazione di dover aggiornare l'hard disk.

Devo clonare la partizione di gentoo del disco attuale su quello nuovo,

vorrei evitare di ripetere l'installazione ma la procedura di copiare tutto mi sembra un po troppo grezza ... inoltre

credo che avendo sia ide che sata sulla mainbord l'hard disk nuovo prenderà

un nome diverso da hda che è il nome attuale dell'hd IDE quindi credo dovrei aggiornare fstab (correggetimi se sbaglio)

Vorrei inoltre se possibile cambiare FS nella procedura di aggiornamento, attualmente ho reiserfs,

e utilizzo il pc come un classico Desktop.

Qualche consiglio o dritta?

grazie mille

----------

## makoomba

fatto il merge col topic di kevinlux

----------

## HoX

Scusate l'ignoranza, ma non sarebbe bastato fare una cosa tipo:

```
cat /dev/hda > /dev/hdb
```

 ???

in questo modo tutto il disco A viene direttamente copiato in B, no?

E alla fine si controllano gli md5 di hda e hdb... ho sbaglio?

----------

## .:chrome:.

 *Anema wrote:*   

> Scusate l'ignoranza, ma non sarebbe bastato fare una cosa tipo:
> 
> ```
> cat /dev/hda > /dev/hdb
> ```
> ...

 

sì, ma solo se i dischi sono identici: non solo nella dimensione, ma anche nella geometria, e questo non è un caso che si verifica poi tanto facilmente

----------

## HoX

 *.:chrome:. wrote:*   

>  *Anema wrote:*   Scusate l'ignoranza, ma non sarebbe bastato fare una cosa tipo:
> 
> ```
> cat /dev/hda > /dev/hdb
> ```
> ...

 

scusa la mia ignoranza, ma xkè?

----------

## .:chrome:.

 *Anema wrote:*   

> scusa la mia ignoranza, ma xkè?

 

perché le partizioni vengono fatte sulla base del layout dei dischi, e quindi sulla loro geometria.

copiare la tavola di partizione da un disco ad uno con geometria diversa potrebbe sballarla completamente e produrre un disco copia illeggibile, o che al primo check lo diventa.

con dischi diversi l'unica garanzia di sicurezza è cp -a

----------

## HoX

 *.:chrome:. wrote:*   

>  *Anema wrote:*   scusa la mia ignoranza, ma xkè? 
> 
> perché le partizioni vengono fatte sulla base del layout dei dischi, e quindi sulla loro geometria.
> 
> copiare la tavola di partizione da un disco ad uno con geometria diversa potrebbe sballarla completamente e produrre un disco copia illeggibile, o che al primo check lo diventa.
> ...

 

capito... e non si riesce ad adottare il mio metodo e poi andare solo a sistemare la tabella partizioni (tipo con testdisk, che in passato per me ha compiuto miracoli)? E al massimo se la copia ha partizioni troppo piccole le si può ridimensionare, no?

----------

## .:chrome:.

 *Anema wrote:*   

> capito... e non si riesce ad adottare il mio metodo e poi andare solo a sistemare la tabella partizioni (tipo con testdisk, che in passato per me ha compiuto miracoli)? E al massimo se la copia ha partizioni troppo piccole le si può ridimensionare, no?

 

è proprio questo il punto: se fsck trova una tabella di partizione sballata e cerca di sistemarla, ma impone delle dimensioni che ti segano una partizione sei un po' nei guai  :Wink: 

----------

## HoX

 *.:chrome:. wrote:*   

>  *Anema wrote:*   capito... e non si riesce ad adottare il mio metodo e poi andare solo a sistemare la tabella partizioni (tipo con testdisk, che in passato per me ha compiuto miracoli)? E al massimo se la copia ha partizioni troppo piccole le si può ridimensionare, no? 
> 
> è proprio questo il punto: se fsck trova una tabella di partizione sballata e cerca di sistemarla, ma impone delle dimensioni che ti segano una partizione sei un po' nei guai 

 

ok... capito! grazie delle dritte... è sempre bello capire qualcosa di più

----------

