Re: sauvegarde de la racine

Liste des GroupesRevenir à fu distribution 
Sujet : Re: sauvegarde de la racine
De : schaefer (at) *nospam* alphanet.ch (Marc SCHAEFER)
Groupes : fr.comp.os.linux.configuration
Date : 07. Jan 2022, 15:32:23
Autres entêtes
Organisation : Posted through ALPHANET
Message-ID : <sr9itn$dl8$2@shakotay.alphanet.ch>
References : 1 2 3 4 5 6
User-Agent : tin/2.4.3-20181224 ("Glen Mhor") (UNIX) (Linux/4.19.0-18-amd64 (x86_64))
yamo' <yamo@beurdin.invalid> wrote:
On peut démonter /dev /run /sys /proc ?

en init s, probablement.

Sinon booter en init=/bin/bash

mais comme tu le dis, ton `système' est en chroot, il suffit donc de ne
pas le lancer.

Il me semble qu'il y a une option dans rsync pour les éviter...

-x  ne traversera pas les points de montage

J'ai copié tout ce qui est possible à chaud via un rsync (en évitant les
boucles).

Si les applis étaient down, ok. Sinon, c'est là qu'un snapshot aurait
été utile (passage des applis en mode synchronisation, si existe,
snapshot, remise des applis en mode normal, backup du snapshot,
effacement du snapshot).

Mais le plus simple est en init s

Ca n'a pas forcément un rapport, mais voici un script pour sauvegarder
de manière crash-cohérente (== aussi bonne qu'avec un crash
immédiat) chaque host d'un mini-cloud:

for n in $(seq 1 5)
do
   the_debug "apu2-ds-0$n lock node-runner and freeze all containers"
   the_ssh $n root@apu2-ds-0$n \
       'su - schaefer -c "/data/docker/scripts/ds-freeze start"'
   if [ $? != 0 ]; then
      echo "$0: could not freeze $n; unfreezing and continuing"
      do_unfreeze $n # err. ign.
      continue
   fi

   the_ssh $n root@apu2-ds-0$n \
         'for s in root docker scratch; do /data/docker/scripts/lvm-snapshot-volume start /dev/vg1/$s; done'
   if [ $? != 0 ]; then
      echo "$0: snapshots failed: unfreeze and rm"
      do_unfreeze $n # err. ign.
      do_snapshot_rm $n # err. ign.
      continue
   fi

   the_debug "apu2-ds-0$n unfreeze and unlock"
   do_unfreeze $n # err. ign.

   # BUGS
   #    - might get other stuff mounted in /mnt, include?
   the_debug "apu2-ds-0$n rsync'ing all snapshots"
   $nice the_rsync --delete --numeric-ids -aH \
               apu2-ds-0$n:/mnt/. $dest/apu2-ds-0$n/.

   # remove the snapshots
   the_debug "apu2-ds-0$n remove all snapshots"
   do_snapshot_rm $n # err. ign.
done

PS: the_debug fait un echo si debug=1; the_ssh fait un ssh en gérant les
cas où une machine n'est pas accessible directement.
PS/2: le mini-cloud partage aussi des données en glusterfs, qui est
sauvegardée de manière indépendante, donc non host-cohérente.

Date Sujet#  Auteur
14 Jan 25 o 

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal