• =?UTF-8?Q?Re=3a_syst=c3=a8me_simple_pour_sauvegarder_partitions_os_?= =

    From =?UTF-8?Q?Jean-Fran=c3=a7ois_Bachel@21:1/5 to All on Thu Apr 6 14:10:02 2023
    Hello :)

    Le 06/04/2023 à 13:14, Michel Verdier a écrit :
    Le 6 avril 2023 ajh-valmer a écrit :

    c'est quoi un "snapshot " ?
    et à quelle fin l'utilise t-on ?
    C'est une copie de tout ou partie d'un filesystem. Et ça permet de récupérer tout ou partie du filesystem avec une version à un instant t. Pour optimiser, l'idée est qu'un snapshot ne reprend que ce qui a changé depuis le snapshot précédent. Et l'autre problème est qu'on veut retomber sur une version "stable" d'où l'idée d'arrêter le filesystem pour le copier. Et l'arrivée des snapshot à chaud pour éviter l'arrêt. L'utilisation d'outils comme rsync qui sont au niveau des fichiers
    contourne ce dernier problème.

    oui rsynch est bien , mais si tu rsynch une partition en train de
    tourner avec des bases de données mysql ou autre en route moi je chope
    des messages comme quoi le contenu de mes bdd à changé pendant la copie rsynch :(


    ou alors je m'y prends mal ?


    Jeff :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Michel Verdier on Thu Apr 6 18:00:01 2023
    This is a multi-part message in MIME format.
    On 06/04/2023 14:31, Michel Verdier wrote:
    Le 6 avril 2023 Jean-François Bachelet a écrit :

    oui rsync est bien , mais si tu rsync une partition en train de tourner avec >> des bases de données mysql ou autre en route moi je chope des messages comme
    quoi le contenu de mes bdd à changé pendant la copie rsync :(
    Pour les bases je fais un dump à chaud et je rsync les dumps. Je fais les dump table par table comme ça seules les tables modifiées doivent être reprises. Avec postgresql c'est encore mieux le dump est garanti
    globalement au niveau transactionnel. Je fais ça aussi pour openldap et
    ça doit pouvoir se faire pour tes autres applis.


    A mon avis le problème n'est pas lié à rsync. Il est plus général.

    La question originelle posée par Benoît était:


    Existe-t-il un moyen *sûr* de sauvegarder les partitions montées d'un système en train de tourner ?
    Du coup le logiciel de clonage serait installé sur le système lui même
    et pas sur un disque externe...

    De mon point de vue *cette sauvegarde ne sera jamais /complètement/ sûre*.


    Je vois des cas où elle poserait problème:

    En particulier en pensant à de gros fichiers (gros veut dire ici
    supérieur en taille à la RAM disponible, donc plusieurs gigaoctets ou au moins certains fichiers dont la génération ou l'écriture prend plus d'un dixième de secondes).

    Le système en train de tourner est utilisé en développement (en C, C++, Rust, ou Go, avec un compilateur comme GCC <https://gcc.gnu.org/>)

    Le fichier objet produit par le compilateur est, à certains instants, incomplet et incorrect. S'il était sauvegardé dans cet état partiel, il n'est pas utilisable (mais induirait en erreur un utilitaire comme *GNU
    make* <https://www.gnu.org/software/make/>). Le sauvegarder est donc
    erroné. Un gros fichier executable ELF en cours de génération par GNU binutils <https://www.gnu.org/software/binutils/> (songez aux
    contributeurs de Mozilla <https://www.mozilla.org/> ou de GCC)

    Dans des cas de métaprogrammation (utilisation de générateur de code C
    ou C++ comme GNU bison <https://www.gnu.org/software/bison/> ou maison
    -comme RefPerSys <http://refpersys.org/>- ou de GNU lightning <https://www.gnu.org/software/lightning/>)

    De même, les sauvegardes automatiques et périodiques possibles avec GNU
    emacs <https://www.gnu.org/software/emacs/> ou d'autres éditeurs (ou
    logiciels comme /LibreOffice/) ne sont pas sûres.

    La sortie d'un indenteur comme GNU indent <https://www.gnu.org/software/indent/>n'est ni correcte, ni complète si
    on la sauvegarde pendant le processus d'indentation.

    Un fichier indexé, par exemple GDBM
    <https://www.gnu.org.ua/software/gdbm/> ou Redis <https://redis.io/>,
    n'est pas (toujours) correct si on le sauvegarde durant son exploitation
    ou mise à jour.

    Une base de donnée MySQL ou PostGreSQL n'est pas correcte ou sûrement réutilisable si on tente de réutiliser les fichiers pendant que le SGBD
    met à jour cette base.

    Un fichier de log n'est pas correct ou exploitable si le serveur
    (Apache-HTTPD <https://httpd.apache.org/> ou Lighttpd <https://www.lighttpd.net/> par exemple)

    Et j'imagine qu'un gros fichier de tableur Gnumeric
    <http://www.gnumeric.org/> ou Libreoffice <https://libreoffice.org/>
    n'est pas correct si le tableur est en train de l'écrire...

    Un gros fichier en train d'être compressé par GNU gzip <https://www.gnu.org/software/gzip/> ou bzip2 <https://sourceforge.net/projects/bzip2/> n'est pas correct durant la compression.

    Une video (ou une grosse photo) en train d'être manipulée (par GIMP <https://www.gimp.org/> par exemple) n'est pas stable durant son
    écriture! De même pour un gros dessin vectoriel (au format SVG <https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics>) avec InkScape <https://inkscape.org/fr/>.

    Mon point de vue est donc qu'il faut sauvegarder un système peu actif,
    et *pour les données importantes, les sauvegarder consciemment* et /explicitement/, quand on est sûr que l'original est stable et n'est pas
    en train d'être traité ou modifié par un processus.

    En conclusion: ne faites pas trop confiance aux sauvegardes
    automatiques. Pour des données importantes, pensez à utiliser un
    versionneur comme git <https://git-scm.com/>.

    Librement

    --
    Basile Starynkevitch<basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/ & refpersys.org

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 06/04/2023 14:31, Michel Verdier
    wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:87o7o1tcrx.fsf@free.fr">
    <pre class="moz-quote-pre" wrap="">Le 6 avril 2023 Jean-François Bachelet a écrit :

    </pre>
    <blockquote type="cite">
    <pre class="moz-quote-pre" wrap="">oui rsync est bien , mais si tu rsync une partition en train de tourner avec
    des bases de données mysql ou autre en route moi je chope des messages comme quoi le contenu de mes bdd à changé pendant la copie rsync :(
    </pre>
    </blockquote>
    <pre class="moz-quote-pre" wrap="">
    Pour les bases je fais un dump à chaud et je rsync les dumps. Je fais les
    dump table par table comme ça seules les tables modifiées doivent être reprises. Avec postgresql c'est encore mieux le dump est garanti
    globalement au niveau transactionnel. Je fais ça aussi pour openldap et
    ça doit pouvoir se faire pour tes autres applis.
    </pre>
    </blockquote>
    <p><br>
    </p>
    <p>A mon avis le problème n'est pas lié à <font face="monospace">rsync</font>.
    Il est plus général.</p>
    <p>La question originelle posée par Benoît était:</p>
    <p>
    <blockquote type="cite">
    <div style="font-family: Arial, sans-serif; font-size: 14px;"><br>
    </div>
    <div style="font-family: Arial, sans-serif; font-size: 14px;">Existe-t-il
    un moyen <b>sûr</b> de sauvegarder les partitions montées
    d'un système en train de tourner ?</div>
    Du coup le logiciel de clonage serait installé sur le système
    lui même et pas sur un disque externe... </blockquote>
    <br>
    </p>
    <p>De mon point de vue <b>cette sauvegarde ne sera jamais <i>complètement</i>
    sûre</b>.</p>
    <p><br>
    </p>
    <p>Je vois des cas où elle poserait problème:</p>
    <p>En particulier en pensant à de gros fichiers (gros veut dire ici
    supérieur en taille à la RAM disponible, donc plusieurs gigaoctets
    ou au moins certains fichiers dont la génération ou l'écriture
    prend plus d'un dixième de secondes).<br>
    </p>
    <p>Le système en train de tourner est utilisé en développement (en
    C, C++, Rust, ou Go, avec un compilateur comme <a
    moz-do-not-send="true" href="https://gcc.gnu.org/">GCC</a>)</p>
    <p>Le fichier objet produit par le compilateur est, à certains
    instants, incomplet et incorrect. S'il était sauvegardé dans cet
    état partiel, il n'est pas utilisable (mais induirait en erreur un
    utilitaire comme <a moz-do-not-send="true"
    href="https://www.gnu.org/software/make/"><b>GNU make</b></a>).
    Le sauvegarder est donc erroné. Un gros fichier executable ELF en
    cours de génération par <a moz-do-not-send="true"
    href="https://www.gnu.org/software/binutils/">GNU binutils</a>
    (songez aux contributeurs de <a moz-do-not-send="true"
    href="https://www.mozilla.org/">Mozilla</a> ou de GCC) <br>
    </p>
    <p>Dans des cas de métaprogrammation (utilisation de générateur de
    code C ou C++ comme <a moz-do-not-send="true"
    href="https://www.gnu.org/software/bison/">GNU bison</a> ou
    maison -comme <a moz-do-not-send="true"
    href="http://refpersys.org/">RefPerSys</a>- ou de <a
    moz-do-not-send="true"
    href="https://www.gnu.org/software/lightning/">GNU lightning</a>)
    <br>
    </p>
    <p>De même, les sauvegardes automatiques et périodiques possibles
    avec <a moz-do-not-send="true"
    href="https://www.gnu.org/software/emacs/">GNU emacs</a> ou
    d'autres éditeurs (ou logiciels comme <i>LibreOffice</i>) ne sont
    pas sûres.</p>
    <p>La sortie d'un indenteur comme <a moz-do-not-send="true"
    href="https://www.gnu.org/software/indent/">GNU indent </a>n'est
    ni correcte, ni complète si on la sauvegarde pendant le processus
    d'indentation.</p>
    <p>Un fichier indexé, par exemple <a moz-do-not-send="true"
    href="https://www.gnu.org.ua/software/gdbm/">GDBM</a> ou <a
    moz-do-not-send="true" href="https://redis.io/">Redis</a>, n'est
    pas (toujours) correct si on le sauvegarde durant son exploitation
    ou mise à jour.</p>
    <p>Une base de donnée MySQL ou PostGreSQL n'est pas correcte ou
    sûrement réutilisable si on tente de réutiliser les fichiers
    pendant que le SGBD met à jour cette base.</p>
    <p>Un fichier de log n'est pas correct ou exploitable si le serveur
    (<a moz-do-not-send="true" href="https://httpd.apache.org/">Apache-HTTPD</a>
    ou <a moz-do-not-send="true" href="https://www.lighttpd.net/">Lighttpd</a>
    par exemple) <br>
    </p>
    <p>Et j'imagine qu'un gros fichier de tableur <a
    moz-do-not-send="true" href="http://www.gnumeric.org/">Gnumeric</a>
    ou <a moz-do-not-send="true" href="https://libreoffice.org/">Libreoffice</a>
    n'est pas correct si le tableur est en train de l'écrire...</p>
    <p>Un gros fichier en train d'être compressé par <a
    moz-do-not-send="true" href="https://www.gnu.org/software/gzip/">GNU
    gzip</a> ou <a moz-do-not-send="true"
    href="https://sourceforge.net/projects/bzip2/">bzip2</a> n'est
    pas correct durant la compression.</p>
    <p>Une video (ou une grosse photo) en train d'être manipulée (par <a
    moz-do-not-send="true" href="https://www.gimp.org/">GIMP</a> par
    exemple) n'est pas stable durant son écriture! De même pour un
    gros dessin vectoriel (au format <a moz-do-not-send="true"
    href="https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>)
    avec <a moz-do-not-send="true" href="https://inkscape.org/fr/">InkScape</a>.<br>
    </p>
    <p>Mon point de vue est donc qu'il faut sauvegarder un système peu
    actif, et <b>pour les données importantes, les sauvegarder
    consciemment</b> et <i>explicitement</i>, quand on est sûr que
    l'original est stable et n'est pas en train d'être traité ou
    modifié par un processus.</p>
    <p>En conclusion: ne faites pas trop confiance aux sauvegardes
    automatiques. Pour des données importantes, pensez à utiliser un
    versionneur comme <a moz-do-not-send="true"
    href="https://git-scm.com/">git</a>.<br>
    </p>
    <p>Librement<br>
    </p>
    <pre class="moz-signature" cols="72">--
    Basile Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:basile@starynkevitch.net">&lt;basile@starynkevitch.net&gt;</a>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/ &amp; refpersys.org

    </pre>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From benoit@21:1/5 to All on Fri Apr 7 11:00:02 2023
    Le jeudi 6 avril 2023 à 14:05, Jean-François Bachelet <jfbachelet@free.fr> a écrit :


    oui rsynch est bien , mais si tu rsynch une partition en train de
    tourner avec des bases de données mysql ou autre en route moi je chope
    des messages comme quoi le contenu de mes bdd à changé pendant la copie rsynch :(


    ou alors je m'y prends mal ?


    Les bases de données on leur propre fonctionnalités de sauvegarde qui font très bien le travail.
    Je ne connais pas bien mysql, mais pour postgresql il y a pg_dump

    Benoit

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)