[gull] UUID

Félix Hauri felix at f-hauri.ch
Mon May 23 11:03:28 CEST 2011


On Mon, May 23, 2011 at 09:02:02AM +0200, Daniel Cordey wrote:
> On Sunday 22 May 2011 10:56:03 Félix Hauri wrote:
> 
> > Oui, mais au prochain ``dd'', *toute* ta structure de fs (métadonnées)
> > sera recopiée égallement, donc tu aurras à nouveau le même UUID.
> > La solution est de faire *systématiquement* la commande suggérée par
> > Erik et François, *après chaque* ``dd'' (petit script shell).
> 
> Exact, et c'est la raison pour laquelle je trouve dangereux de faire des 
> backups en utilisant dd. En effet, tout probleme dans le FS va se trouver 
> "transporte" sur l'autre disque...

Pour ma part, j'utilise à fond les possibités offertes par le Kernel:
raid et lvm:

avec 1 disque:
 - 2 partitions:  p0 = 200Mo, p1 = reste du disque
 - création de 2 raid mirroirs en mode dégradés:
   mdadm --create /dev/md0 --level 1 --raid-devices 2 /dev/sda1 missing
   mdadm --create /dev/md1 --level 1 --raid-devices 2 /dev/sda2 missing
 - attribution de disque physique LVM
   pvcreate /dev/md1
   vgcreate vol1 /dev/md1
 - creation d'une grosse partition root sur lvm en réservant quelque
   Giga-octets pour y faire des snapshots pour les backups.
 - montage de md0, en ext[23] sur /boot pour grub.
 - installation de linux et grub.

avec 4 disques, en raid-10, pareil:
 - 2 partitions sur chaque disques: p0=200Mo, p1= reste du disque
 - creation de 2 raids 0=mirroir pour /boot et 1=raid-10 pour LVM:
   mdadm --create /dev/md0 --level 1 --raid-devices 4 /dev/sd[abcd]1
   mdadm --create /dev/md0 --level 10 --raid-devices 4 /dev/sd[abcd]2
 - suite idem: md0 en ext pour /boot et root avec quelque Go de non
   attribués dans LVM.

Pour les backups:
 .1 s'assurer qu'aucune tâche du genre ``aptitude upgrade'' ou autre
    gestionnaire de mise à jour soit en fonction.
 .2 # mount -o remount,ro /boot
 .3 # lvcreate -s -n bkroot -L 10G vol1/root
    et du coup, j'ai réservé une zone ``tampon'' de 10Go pour 
    maintenir un état figé de vol1/root dans vol1/bkroot.
 .4 mount -o ro /dev/vol1/bkroot /mnt
 .5 mount --bind /boot /mnt/boot
 .6 rsync -ax ... /mnt/. rsync://backup/destdir/.
 .7 umount /mnt{/boot,}
 .8 lvremove -f vol1/bkroot

TRUC:
 j'utilise, sur la machine de backups un script shell pour faire
 une ``rotation de backups'' en utilisant la commande ``cp -al'':
 # cd /backup-base
 # rm -fR backup.10
 # mv backup.9 backup.10
 # ...
 # mv backup.0 backup.1
 # cp -al destdir backup.0
entre 2 rsync...
L'avantage de cette méthode est qu'en créant des liens ``durs'', les
copies n'occupent quasiment pas de place, sur le backup, mais 
lorsqu'un fichier est modifié à la souce, rsync créé des nouvel inode
(autre fichier) et supprime l'ancien.
Du coup, le dossier ``destdir'' contient le dernier état ``rsyncé'',
tandis que backup.10 contient des fichier qui ont pu être modifiées
ou éffacés entre temps.

Mais à présent, je dois dire que je suis séduit par dr:bd
   http://www.drbd.org/

(l'un des avantage à utiliser lvm avec un peu de place libre est
 que je peux passer mes partitions à dr:bd, sans rien retoucher:
    ss=$(blockdev --getss "/dev/vol1/root")
    sz=$(blockdev --getsz "/dev/vol1/root")
    ms=$((sz/2**15+72))
    mk=$((ms*ss/2**10))
    [ $((mk*2**10/ss)) -eq $ms ] || mk=$((1+mk))
    lvresize -L +$mk vol1/root
 la suite, configuration du second disque, creation du raid dr:bd,
 etc, selon les docs sur:
    http://www.drbd.org/docs/about/
)

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list