<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JoPa.Fr &#187; Sauvegarde</title>
	<atom:link href="http://www.jopa.fr/index.php/tag/sauvegarde/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jopa.fr</link>
	<description>001100010BIDOUILLE11101010111100010LIBRE1000100111100101</description>
	<lastBuildDate>Tue, 10 Jan 2012 21:59:31 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Du physique au virtuel avec &#171;&#160;Mondo Rescue&#160;&#187;</title>
		<link>http://www.jopa.fr/index.php/2011/08/20/du-physique-au-virtuel-avec-mondo/</link>
		<comments>http://www.jopa.fr/index.php/2011/08/20/du-physique-au-virtuel-avec-mondo/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 15:30:40 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Partition]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2537</guid>
		<description><![CDATA[Quand on décide de virtualiser, se pose inévitablement le problème de la reprise des serveurs existants. La manière la plus naturelle d&#8217;envisager les choses consiste à se retrousser les manches et refaire une installation toute propre dans une machine virtuelle, après une bonne sauvegarde des données et de la conf, cela va de soi. Cette méthode [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/index.php/2011/08/20/du-physique-au-virtuel-avec-mondo/modo_article/" rel="attachment wp-att-2608"><img class="alignleft size-full wp-image-2608" title="modo_article" src="http://www.jopa.fr/wp-content/uploads/2011/08/modo_article.png" alt="Mondo restauration" width="287" height="265" /></a>Quand on décide de <em><a title="Virtualisation" href="http://fr.wikipedia.org/wiki/Virtualisation">virtualiser</a></em>, se pose inévitablement le problème de la reprise des serveurs existants. La manière la plus naturelle d&#8217;envisager les choses consiste à se retrousser les manches et refaire une installation toute propre dans une machine virtuelle, après une bonne sauvegarde des données et de la <em>conf, </em>cela va de soi<em>.</em> Cette méthode présente le gros avantage de permettre de faire un peu de ménage, en prenant les choses calmement et sans pression.</p>
<p style="text-align: justify;">Mais comme diraient mes amis <em>&laquo;&nbsp;perlistes&nbsp;&raquo;&#8230; &laquo;&nbsp;perliens&nbsp;&raquo;&#8230; &laquo;&nbsp;perleurs&nbsp;&raquo;</em>&#8230;bref&#8230; qui parlent <em><a title="Perl" href="http://www.perl.org">Perl</a></em> courrament  :</p>
<blockquote><p>&laquo;&nbsp;<em>There&#8217;s More Than One Way To Do It</em> &nbsp;&raquo; (<em><a title="TIMTOWTDI" href="http://en.wikipedia.org/wiki/There's_more_than_one_way_to_do_it">TIMTOWTDI</a></em>).</p></blockquote>
<p style="text-align: justify;">A l&#8217;extrême, une autre façon consiste à faire un bon <em><a title="DD" href="http://fr.wikipedia.org/wiki/Dd_(Unix)">&laquo;&nbsp;disk dump - dd&nbsp;&raquo;</a></em> du disque vers un fichier &laquo;&nbsp;raw&nbsp;&raquo;   (ie par ex : # <em>dd if=/dev/sda of=/chemin/fichier.raw</em>). Ce fichier sera ensuite utilisé comme disque virtuel. Je n&#8217;ai jamais testé, mais je ne vois pas pourquoi ça ne fonctionnerait pas, à condition bien sûr, que le serveur d&#8217;origine n&#8217;intègre pas de matériels trop exotiques. Cependant, un des avantages de la virtualisation, lié à l&#8217;allocation dynamique de l&#8217;espace de stockage, est perdu. En effet, l&#8217;espace disque libre est &laquo;&nbsp;<em>dumpé</em>&nbsp;&raquo; et occupera de la place sur le serveur final. Paradoxal non ? Même si le procédé pourrait être amélioré en utilisant <em><a title="Partimage" href="http://www.partimage.org/Page_Principale">&laquo;&nbsp;partimage&nbsp;&raquo;</a></em>, pour gérer un peu mieux l&#8217;espace non occupé, il faut bien avouer que ce procédé demeure quelque peu <a title="Bourrin" href="http://www.thenguide.com/wp-content/uploads/2011/04/Rambo_thenguide2.jpg">&laquo;&nbsp;bourrin&nbsp;&raquo;</a>.</p>
<p style="text-align: justify;">Entre les deux, je vous propose d&#8217;explorer une piste nommée <a href="http://www.mondorescue.org/">&laquo;&nbsp;Mondo&nbsp;&raquo;</a>.</p>
<p style="text-align: justify;"><span id="more-2537"></span></p>
<p style="text-align: justify;">&laquo;&nbsp;<a title="Mondo" href="http://www.mondorescue.org/">Mondo Rescue</a>&nbsp;&raquo;  est un utilitaire, sous licence <em><a title="gpl" href="http://fr.wikipedia.org/wiki/Licence_publique_générale_GNU">GPL</a></em>, qui permet de créer, sur des supports variés (CD, DVD, bande, montage réseau ou disque dur), une image complète ou partielle d&#8217;un système <em>Linux. </em> A l&#8217;instar de <em>Ignite</em> sous <em>HP-UX</em> ou <em>Ghost</em> sous<em> Windows. </em></p>
<p style="text-align: justify;"><em></em>Son premier atout, est qu&#8217;il s&#8217;installe sur le système et permet de créer l&#8217;archive à chaud. L&#8217;intégralité de la migration pourra se dérouler avec un serveur physique fonctionnel. Ce dernier sera arrêté au dernier moment, quand la machine virtuelle sera capable de prendre le relai.</p>
<p style="text-align: justify;">Son deuxième atout est sa capacité à créer une image <em>&laquo;&nbsp;iso&nbsp;&raquo;</em> <em>bootable</em> et compressée, dont la fonction est de restaurer notre système en s&#8217;adaptant au nouveau matériel. A l&#8217;inverse de &laquo;&nbsp;<em>dd</em>&nbsp;&raquo; ou de <a title="partimage" href="http://www.partimage.org/Page_Principale">&laquo;&nbsp;partimage&nbsp;&raquo;</a>, qui réalisent des copies physiques de blocs du système de fichier, <em>Mondo </em>re-crée le partitionnement mémorisé, y restaure les fichiers sauvegardés et en dernier lieu, réinstalle le <a href="http://fr.wikipedia.org/wiki/Chargeur_d'amor%C3%A7age">&laquo;&nbsp;<em>bootloader&nbsp;&raquo;</em></a>.</p>
<p style="text-align: justify;">Avant d&#8217;aller plus loin, j&#8217;attire votre attention, chers lecteurs, sur le fait que la solution &laquo;&nbsp;<em>mondo</em>&nbsp;&raquo; n&#8217;est pas fiable à <em>100%</em>.  Il n&#8217;est pas rare, dans le cas de partitionnements un peu complexes (basés sur <em><a title="LVM" href="http://fr.wikipedia.org/wiki/Gestion_par_volumes_logiques">LVM</a></em> entre autres), que ce dernier s&#8217;emmêle les pinceaux et donne envie irresistible de s&#8217;arracher les cheveux (pour peu qu&#8217;il nous en reste !). Je ne vais pas vous infliger le refrain <em>&laquo;&nbsp;je ne suis pas responsable bla bla bla&#8230;&nbsp;&raquo;</em>, mais faites tout de même gaffe en production. Si je devais qualifier cette solution en quelques mots, je dirais qu&#8217;elle est performante mais reste assez artisanale. Ceci dit, si je prends la peine d&#8217;écrire ce billet, c&#8217;est qu&#8217;elle présente un intérêt (enfin, j&#8217;espère) et qu&#8217;elle peut tout de même rendre de fiers services.</p>
<p>&nbsp;</p>
<h3 style="text-align: justify;">Installation</h3>
<p>&nbsp;</p>
<p style="text-align: justify;">Le <a title="mondo" href="http://www.mondorescue.org/">site officiel</a> fournit  les paquets pour de nombreuses distributions. Sous Debian, il est, en plus, possible d&#8217;utiliser les dépôts :</p>
<p style="text-align: justify;"><span style="color: #800000;"><em>deb ftp://ftp.mondorescue.org/debian X.0 contrib</em></span></p>
<p style="text-align: justify;"><em></em>ou X est le numéro de version ( 4 pour Etch, 5 pour Lenny, 6 pour Squeeze).</p>
<p style="text-align: justify;">Par exemple, pour l&#8217;installer sous Squeeze :</p>
<p style="text-align: justify;"><span class="Apple-style-span" style="color: #800000;"># echo &laquo;&nbsp;<em>deb ftp://ftp.mondorescue.org/debian 6.0 contrib&nbsp;&raquo;  &gt; /etc/apt/source.list.d/mondo.list</em></span></p>
<p style="text-align: justify;"><span style="color: #800000;"># apt-get update</span></p>
<p style="text-align: justify;"><span style="color: #800000;"># apt-get install mondo</span></p>
<p style="text-align: justify;"><span style="color: #339966;"><strong><em> Note pour Squeeze</em></strong> : <em>Mondo</em> utilise les outils<strong> mkisofs</strong> pour la génération des images <em>iso</em> et <strong>cdrecord</strong> pour la gravure de CD. Ces outils ont été respectivement remplacés dans <strong><em>Squeeze,</em></strong> par  <strong><em>genisoimage</em></strong> et <strong><em>wodim</em></strong>. Il est possible de s&#8217;en sortir (pas très proprement), en créant des liens symboliques :</span></p>
<pre><span style="color: #339966;"># ln -s /usr/bin/genisoimage /usr/bin/mkisofs</span></pre>
<pre><span style="color: #339966;"># ln -s /usr/bin/wodim /usr/bin/cdrecord</span></pre>
<p><span style="color: #339966;"><br />
</span></p>
<p style="text-align: justify;">Il m&#8217;est arrivé de rencontrer quelques problèmes avec <em>&laquo;&nbsp;Mindi&nbsp;&raquo; </em>. Pour la création du boot de l&#8217;image <em>iso</em>, un <em><a title="Ramdisk" href="http://fr.wikipedia.org/wiki/RAM_Disque">ramdisk</a></em> est utilisé, sur lequel on est parfois à l&#8217;étroit.  On peut l&#8217;augmenter en dé-commentant et en affectant une plus grande valeur au paramètre &laquo;&nbsp;<strong><em>EXTRA_SPACE</em></strong>&nbsp;&raquo; du  fichier de configuration de &laquo;&nbsp;<em>Mindi&nbsp;&raquo;</em>   (<strong><em>/etc/mindi/mindi.conf</em></strong>).</p>
<p>&nbsp;</p>
<h3 style="text-align: justify;">Utilisation</h3>
<p>&nbsp;</p>
<p style="text-align: justify;">Il y a encore &laquo;&nbsp;<em>More Than One Way</em>&nbsp;&raquo; pour utiliser <em>Mondo</em>. La première se fait par une interface <a title="curses" href="http://fr.wikipedia.org/wiki/Curses">&laquo;&nbsp;curses&nbsp;&raquo;</a>, affichée par défaut, lors de l&#8217;exécution de <em>mondoarchive</em> sans paramètre.</p>
<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2011/08/Mondo_Rescue.png"><img class="aligncenter size-full wp-image-2544" title="Mondo_Rescue" src="http://www.jopa.fr/wp-content/uploads/2011/08/Mondo_Rescue.png" alt="Mondo Rescue" width="534" height="371" /></a></p>
<p style="text-align: justify;">La deuxième est bien entendu en ligne de commande :</p>
<p style="text-align: justify;"><span style="color: #800000;"># mondoarchive -O -p nomarchive -i -I / -d /destination -E /destination -T /temporaire -S /Scratchdir -s <em>taille</em></span></p>
<ul style="text-align: justify;">
<li><strong><em>-O</em></strong> : pour créer une archive, par opposition à <strong><em>-V </em></strong>pour une vérification,</li>
<li><em><strong>-p nom </strong></em>: pour donner un nom à l&#8217;archive ( mondoarchive par défaut),</li>
<li><strong><em>-i</em></strong> : pour générer une ou des images <em>iso</em>,</li>
<li><strong><em>-I </em></strong>: pour spécifier de départ de l&#8217;arborescence à sauvegarder. &laquo;&nbsp;/&nbsp;&raquo; est par défaut, mais nous pouvons décider de ne sauvegarder qu&#8217;un bout de l&#8217;arborescence,</li>
<li><strong><em>-d </em></strong>: l&#8217;emplacement des fichiers finaux (<em>iso)</em>,</li>
<li><strong><em>-E </em></strong>: Les répertoires à exclure. <em>/tmp,</em> <em>/proc, /sys</em> et les montages médias sont exclus par défaut, il convient, en plus, d&#8217;exclure le répertoire destination de l&#8217;image,</li>
<li><strong><em>-T </em></strong>: Le répertoire temporaire. Par défaut, <em>Mondo</em> choisira la partition disposant du plus grand espace disponible,</li>
<li><strong><em>-S  </em></strong> : Le répertoire du <em>scratchdisk</em>, c&#8217;est à dire le répertoire dans lequel seront construites les images pour la génération des fichiers <em>iso, </em>comme pour le répertoire temporaire, <em>Mondo</em> choisira par défaut la partition disposant du plus grand espace libre,</li>
<li><strong>-s </strong>: La taille maximale des fichiers <em>iso. </em>Si le but est de graver ces fichiers, il faudra choisir une taille adéquate en fonction du média utilisé  : ~ 700 Mo (700m) pour un CD, ~4.7 Go (4.7g) pour un DVD. Autant d&#8217;images que nécessaire seront générées.</li>
</ul>
<p style="text-align: justify;">Un exemple :</p>
<p style="text-align: justify;"><span style="color: #800000;"># mondoarchive -O -p serveur1 -i -I / -d /home/joel/mondo -E /home/joel/mondo -s 10g</span></p>
<p style="text-align: justify;">Les images <em>iso</em> porteront le nom &laquo;&nbsp;serveur1-x.iso&nbsp;&raquo; (x = numéro incrémentiel) est seront placées dans le répertoire &laquo;&nbsp;<em>/home/joel/mondo</em>&laquo;&nbsp;. Ce répertoire est exclu de l&#8217;archive  et les images ne feront pas plus de 10 Go.</p>
<p style="text-align: justify;">Les autres options sont laissées par défaut.</p>
<p style="text-align: justify;">Ensuite, c&#8217;est le moment, tant connu des informaticiens, de laisser bosser la machines et d&#8217;aller vaquer à d&#8217;autres occupations.</p>
<p style="text-align: justify;">Quelques &laquo;&nbsp;occupations&nbsp;&raquo; plus tard, l&#8217;image générée peut être utilisée pour installer la machine virtuelle, en la transférant sur l&#8217;<em><a title="Hyperviseur" href="http://fr.wikipedia.org/wiki/Hyperviseur">hyperviseur</a>  </em>et en l&#8217;utilisant comme <em>CDRom</em> virtuel par exemple.</p>
<p style="text-align: justify;">Au boot et après une détection du nouveau matériel, l&#8217;interface propose diverses options, dont l&#8217;une est <em>&laquo;&nbsp;Automatique&nbsp;&raquo;</em> pour une réinstallation à l&#8217;identique, une autre, <em>&laquo;&nbsp;Manuelle&nbsp;&raquo;</em>, permet, entre autre, d&#8217;aller trifouiller le partitionnement et l&#8217;adapter &#8211;  Très utile quand la taille de l&#8217;espace disque allouée à la VM diffère du disque original.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2011/08/restauration.png"><img class="aligncenter size-full wp-image-2560" title="restauration" src="http://www.jopa.fr/wp-content/uploads/2011/08/restauration.png" alt="" width="574" height="321" /></a></p>
<p style="text-align: justify;">Les données restaurées et avant l&#8217;écriture du secteur d&#8217;amorçage, il est possible de prendre la main dans un <em><a title="chroot" href="http://fr.wikipedia.org/wiki/Chroot">chroot</a></em>, afin de vérifier le bon montage des partitions, modifier si nécessaire les fichiers de configuration et si besoin regénérer le <em>initramfs  </em>pour qu&#8217;il prenne en compte le nouveau matériel.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2011/08/restauration41.png"><img class="aligncenter size-full wp-image-2564" title="restauration4" src="http://www.jopa.fr/wp-content/uploads/2011/08/restauration41.png" alt="" width="518" height="286" /></a></p>
<p style="text-align: justify;">Pour terminer, je vous propose d&#8217;illustrer cet article par un <em>screencast</em>. Il reprend la migration d&#8217;un serveur physique sous <em>Debian Squeeze</em> vers une machine virtuelle <em>Proxmox VE / KVM ( </em><em><a title="Jopa" href="http://www.jopa.fr/index.php/2011/08/15/virtualisation-proxmox/">précédent article</a></em>).</p>
<p style="text-align: justify;"><p><a href="http://www.youtube.com/watch?v=pg27zfu5kiU"><img src="http://img.youtube.com/vi/pg27zfu5kiU/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=pg27zfu5kiU">Click here</a> to view the video on YouTube.</p>
</p>
<p>&nbsp;</p>
<h3 style="text-align: justify;">Sources :</h3>
<p>&nbsp;</p>
<ul>
<li><a title="mondo" href="http://www.mondorescue.org/">Site officiel</a>,</li>
<li><a title="Wikipedia" href="http://en.wikipedia.org/wiki/Mondo_Rescue">Wikipedia.</a></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2011/08/20/du-physique-au-virtuel-avec-mondo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Raid logiciel : raid 1 vers raid 0</title>
		<link>http://www.jopa.fr/index.php/2010/07/26/raid-logiciel-raid-1-vers-raid-0/</link>
		<comments>http://www.jopa.fr/index.php/2010/07/26/raid-logiciel-raid-1-vers-raid-0/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 20:40:21 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Disque dur]]></category>
		<category><![CDATA[Partition]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=2314</guid>
		<description><![CDATA[Nous manquions cruellement de place sur un serveur installé avec deux disques en raid 1 logiciel. Plus particulièrement, sur une partition destinée à recevoir de gros volumes de données, mais ne nécessitant pas forcément le niveau de sécurité apporté par du &#171;&#160;mirroring&#160;&#187; . L&#8217;idée de casser cette partition pour la transformer en raid 0 (agrégation) s&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.jopa.fr/wp-content/uploads/2008/03/logo_disque_dur.jpg"><img class="size-full wp-image-17 alignright" title="Disque dur" src="http://www.jopa.fr/wp-content/uploads/2008/03/logo_disque_dur.jpg" alt="" width="301" height="274" /></a>Nous manquions cruellement de place sur un serveur installé avec deux disques en <em>raid 1</em> logiciel. Plus particulièrement, sur une partition destinée à recevoir de gros volumes de données, mais ne nécessitant pas forcément le niveau de sécurité apporté par du &laquo;&nbsp;mirroring&nbsp;&raquo; . L&#8217;idée de casser cette partition pour la transformer en <em>raid 0 (agrégation)</em> s&#8217;est donc imposée naturellement. Résultat : 2 fois plus de place, des performances légèrement accrues, mais au prix d&#8217;une absence de redondance.</p>
<p style="text-align: justify;"><em><span style="color: #000080;">La manipulation décrite ci-dessous est plus un pense-bête qu&#8217;un tutoriel ou un article en tant que tel. A le noter quelque part, autant le partager !</span></em></p>
<p style="text-align: justify;"><span id="more-2314"></span></p>
<p style="text-align: justify;"><span style="text-decoration: underline;"><strong>Attention : Le changement de type de raid nécessite un reformatage, donc une perte des données de la partitio</strong></span><span style="text-decoration: underline;"><strong>n.</strong></span></p>
<h2>1 &#8211; Etat des lieux :</h2>
<pre><span style="color: #800000;"># df -h</span></pre>
<pre><span style="color: #800000;">Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur</span></pre>
<pre><span style="color: #800000;">/dev/md1              4,9G  216M  4,4G   5% /</span></pre>
<pre><span style="color: #800000;">tmpfs                 996M     0  996M   0% /lib/init/rw</span></pre>
<pre><span style="color: #800000;">udev                   10M  152K  9,9M   2% /dev</span></pre>
<pre><span style="color: #800000;">tmpfs                 996M     0  996M   0% /dev/shm</span></pre>
<pre><span style="color: #800000;">/dev/md0               92M  9,6M   77M  12% /boot</span></pre>
<pre><span style="color: #800000;">/dev/md3               20G  632M   18G   4% /home</span></pre>
<pre><span style="color: #800000;">/dev/md5              3,9G   73M  3,6G   2% /tmp</span></pre>
<pre><span style="color: #800000;">/dev/md4              9,7G  707M  8,6G   8% /usr</span></pre>
<pre><span style="color: #800000;">/dev/md2               30G  2,6G   26G  10% /var</span></pre>
<pre><span style="color: #800000;">/dev/md6               87G  87G    13M 100% /<span style="color: #800000;">dat</span></span><span style="color: #800000;">a</span></pre>
<pre><span style="color: #800000;"></span></pre>
</p>
<div>C&#8217;est la partition <strong><em>/data</em></strong>, montée depuis le périphérique raid <strong><em>md6</em></strong> qui nous intéresse. Elle est bien bien pleine&#8230; Voyons comment est structuré le périphérique <em>raid</em> :</div>
</p>
<div>
<pre><span style="color: #800000;"># mdadm --detail /dev/md6</span></pre>
<pre><span style="color: #800000;">/dev/md6:</span></pre>
<pre><span style="color: #800000;">        Version : 00.90</span></pre>
<pre><span style="color: #800000;">  Creation Time : Fri Nov 21 16:39:44 2008</span></pre>
<pre><span style="color: #800000;">     Raid Level : raid1</span></pre>
<pre><span style="color: #800000;">     Array Size : 91072384 (86.85 GiB 93.26 GB)</span></pre>
<pre><span style="color: #800000;">  Used Dev Size : 91072384 (86.85 GiB 93.26 GB)</span></pre>
<pre><span style="color: #800000;">   Raid Devices : 2</span></pre>
<pre><span style="color: #800000;">  Total Devices : 2</span></pre>
<pre><span style="color: #800000;">Preferred Minor : 6</span></pre>
<pre><span style="color: #800000;">    Persistence : Superblock is persistent</span></pre>
<pre><span style="color: #800000;">
</span></pre>
<pre><span style="color: #800000;">    Update Time : Mon Jul 25 13:35:46 2010</span></pre>
<pre><span style="color: #800000;">          State : clean</span></pre>
<pre><span style="color: #800000;"> Active Devices : 2</span></pre>
<pre><span style="color: #800000;">Working Devices : 2</span></pre>
<pre><span style="color: #800000;"> Failed Devices : 0</span></pre>
<pre><span style="color: #800000;">  Spare Devices : 0</span></pre>
<pre><span style="color: #800000;">
</span></pre>
<pre><span style="color: #800000;">           UUID : 2656ada4:ef6970c5:bfe78010:bc810f04</span></pre>
<pre><span style="color: #800000;">         Events : 0.82</span></pre>
<pre><span style="color: #800000;">
</span></pre>
<pre><span style="color: #800000;">    Number   Major   Minor   RaidDevice State</span></pre>
<pre><span style="color: #800000;">       0       8        9        0      active sync   /dev/sda9</span></pre>
<pre><span style="color: #800000;">       1       8       25        1      active sync   /dev/sdb9</span></pre>
<pre><span style="color: #800000;"></span></pre>
</div>
</p>
<div>Ce sont les partitions <strong><em>sda9</em></strong> et <strong><em>sdb9 </em><span style="font-weight: normal;">qui sont utilisées</span></strong>, on le note et on casse tout !  <em>(C&#8217;est ici qu&#8217;une éventuelle sauvegarde s&#8217;impose !!!)</em></div>
<h2>2 &#8211; Destruction / Reconstruction</h2>
<div>Arrêt du raid pour <strong><em>md6</em></strong> :</div>
</p>
<pre><span style="color: #800000;"># mdadm --stop /dev/md6</span></pre>
<pre><span style="color: #800000;"></span></pre>
</p>
<div>On le reconstruit, mais en <em>niveau 0,</em> ce coup-ci :</div>
</p>
<pre><span style="color: #800000;"># mdadm --create /dev/md6 --level=0 --raid-devices=2 /dev/sda9 /dev/sdb9</span></pre>
<pre><span style="color: #800000;"></span></pre>
</p>
<div>Enfin, on formate et on remonte :</div>
</p>
<div><span style="color: #800000;"># mkfs.ext3 /dev/md6</span></div>
<pre><span style="color: #800000;"># mount /dev/md6</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/07/26/raid-logiciel-raid-1-vers-raid-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DropBox, Ubuntu One, MyOne (unison) and Co</title>
		<link>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/</link>
		<comments>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:33:28 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[fichiers]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1907</guid>
		<description><![CDATA[Les services de stockage en ligne, tels que Ubuntu One ou DropBox fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité. Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Les services de stockage en ligne, tels que <a title="Ubuntu One" href="https://one.ubuntu.com/" target="_blank">Ubuntu One</a> ou <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a> fleurissent depuis quelques temps sur la toile&#8230;  Il est vrai qu&#8217;ils s&#8217;avèrent bien pratiques, pour peu qu&#8217;on ne soit pas trop regardant sur les contraintes de sécurité.</p>
<p style="text-align: center;"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1924  aligncenter" title="logo_drop_box" src="http://www.jopa.fr/wp-content/uploads/2010/06/logo_drop_box.png" alt="" width="231" height="60" /></a></p>
<p style="text-align: justify;">Ces deux applications sont très similaires et proposent, entre autre, un espace de stockage en ligne de 2 Go, dans une version de base gratuite, ainsi que des options payantes permettant d&#8217;étendre la capacité à 50 Go ou plus. A ce jour, il faut compter un peu moins de 10 € par mois pour 50 Go. <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">Dropbox</a> propose un système de parrainage qui vous fera gagner 250 Mo supplémentaires chaque fois que vous parrainez une nouvel inscrit (dans la limite de 8Go).</p>
<p style="text-align: justify;"><span id="more-1907"></span></p>
<p style="text-align: justify;">Les fichiers sont accessibles depuis n&#8217;importe quel ordinateur connecté à Internet via une interface web. Ceci n&#8217;est pas pour déplaire à Mamie,  qui se voit rassurée de pouvoir sauvegarder ses précieuses recettes de cuisine à l&#8217;abri d&#8217;un incendie ou de je ne sais quelle autre catastrophe domestique.</p>
<p style="text-align: center;"><a href="https://one.ubuntu.com/"><img class="aligncenter size-full wp-image-1912" title="ubuntu_one1" src="http://www.jopa.fr/wp-content/uploads/2010/06/ubuntu_one12.jpg" alt="" width="848" height="509" /></a></p>
<p style="text-align: justify;">L&#8217;installation d&#8217;un logiciel client sur un ou plusieurs postes va permettre de synchroniser un répertoire local avec l&#8217;espace de stockage en ligne. Ainsi, un fichier ajouté dans ce dossier sera automatiquement ajouté par synchronisation dans l&#8217;espace en ligne.  Ce dernier se synchronisera à son tour avec les autres machines sur lequel le client est installé. C&#8217;est très pratique pour Mamie, qui peut taper sa recette de cookies au chocolats sur l&#8217;ordinateur de son bureau et l&#8217;emporter à son club de cuisine sur son <em>Ipad</em> automatiquement synchronisé &#8211; Qu&#8217;elle frimeuse cette mamie &#8211;   Pour cela, je dois préciser qu&#8217;elle a une préférence pour <a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a>, porté sur de nombreux systèmes, contrairement à <a href="https://one.ubuntu.com/" target="_self">Ubuntu One</a>, qui reste encore limité à un environnement Ubuntu.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_1937" class="wp-caption  aligncenter" style="width: 489px;">
<dt class="wp-caption-dt"><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5"><img class="size-full wp-image-1937  " title="tour_1" src="http://www.jopa.fr/wp-content/uploads/2010/06/tour_1.jpg" alt="Source : www.dropbox.com" width="479" height="380" /></a></dt>
</dl>
</div>
<p style="text-align: center;"><em>Image : Dropbox.com</em></p>
<p style="text-align: justify;">Enfin, parmi les multiples utilisations possibles, nous trouvons bien entendu la possibilité de partager des fichiers ou des dossiers avec d&#8217;autres utilisateurs. Très pratique pour Mamie, qui peut diffuser, à toute la famille, les photos de ses pâtisseries qu&#8217;elle prend en 10 MégaPixel grâce à son réflex numérique.</p>
<p style="text-align: center;"><a href="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png"><img class="aligncenter size-full wp-image-1917" title="Capture-jopa - Navigateur de fichiers" src="http://www.jopa.fr/wp-content/uploads/2010/06/Capture-jopa - Navigateur-de-fichiers.png" alt="" width="584" height="358" /></a></p>
<p style="text-align: justify;">Outre la capacité limitée dans les versions gratuites, le fait que les fichiers soient stockés en clair, on ne sais où, peut-être perturbant. Il est bien sûr possible de chiffrer les données avant leur stockage, mais il faut bien avouer que ce n&#8217;est pas très pratique.</p>
<p style="text-align: justify;">Sachant que des outils libres, tels qu&#8217; <em><a title="Unison" href="http://www.cis.upenn.edu/~bcpierce/unison/" target="_blank">unison</a>, </em>on largement fait leurs preuves en matière de synchronisation, l&#8217;idée de construire ma propre architecture &laquo;&nbsp;JopaOne&nbsp;&raquo; m&#8217;a traversé l&#8217;esprit. C&#8217;est alors que je suis tombé sur <a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841" target="_blank">le tuto de KIK-IT : UbuntuOne VS MyOne</a>, décrivant exactement ce que je souhaitais faire : Un espace de stockage sur un de mes serveurs et des répertoires locaux sur mes différentes machines, le tout synchronisé grâce à <em>unision</em>,  de préférence à travers <em>ssh</em>&#8230;</p>
<p style="text-align: justify;">Pour conclure et je pense que Mamie sera d&#8217;accord avec moi, ma préférence va vers <em>DropBox </em>pour le partage de fichiers non sensibles avec les amis. Ce dernier est plus abouti qu&#8217;<em>Ubuntu One </em>et bien plus rapide pour  les synchronisation. La disponibilité du client sous de multiples plateforme est un de ses atouts majeurs&#8230; Mamie nous fait remarquer que le client &laquo;&nbsp;<a href="http://fr.wikipedia.org/wiki/Android">Androïd</a>&nbsp;&raquo; est très sympathique pour ajouter son Smartphone</p>
<p style="text-align: justify;">Pour la synchronisation de documents entre mes machines, j&#8217;ai préféré une solution basée sur <em>Unison et ssh&#8230; </em>Il n&#8217;y a pas a dire, on est bien plus tranquille quand les fichiers sont sur un serveur bien à nous&#8230;</p>
<p><strong>Liens : </strong></p>
<ul>
<li><a href="http://one.ubuntu.com/" target="_blank">Ubuntu One</a></li>
<li><a href="https://www.dropbox.com/referrals/NTc4MDgwODQ5" target="_blank">DropBox</a></li>
<li><a href="http://kik-it.homelinux.org/index.php?entry=entry090918-131841">MyOne (KIK-IT</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2010/06/08/dropbox-ubuntu-one-myone-unison-and-co/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Jopa en rade&#8230;</title>
		<link>http://www.jopa.fr/index.php/2009/03/02/jopa-en-rade/</link>
		<comments>http://www.jopa.fr/index.php/2009/03/02/jopa-en-rade/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 04:45:36 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=1207</guid>
		<description><![CDATA[Des soucis ce week-end avec la base de données mysql de wordpress (quelques tables crashées et impossibles à réparer&#8230;) ont rendu le site inaccessible. Ce sont des choses qui arrivent si on laisse des partitions se remplir un peu tôt ! Ca m&#8217;apprendra à surveiller un peu mieux les espaces disque&#8230; J&#8217;ai dû remonter un [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Des soucis ce week-end avec la base de données mysql de wordpress  (quelques tables crashées et impossibles à réparer&#8230;) ont rendu le site inaccessible.</p>
<p style="text-align: justify;">Ce sont des choses qui arrivent si on laisse des partitions se remplir un peu tôt ! Ca m&#8217;apprendra à surveiller un peu mieux les espaces disque&#8230;</p>
<p style="text-align: justify;">J&#8217;ai dû remonter un dump de la base, ce qui, outre les désagréments causés et l&#8217;indisponibilité du site, permet d&#8217;éprouver la technique de sauvegarde. Ça ne fait pas de mal de temps en temps&#8230;</p>
<p style="text-align: justify;">Bref, rien de perdu (à part quelques stats de visites&#8230;), c&#8217;est l&#8217;essentiel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/03/02/jopa-en-rade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transférer un OS d&#8217;une machine vers QEMU</title>
		<link>http://www.jopa.fr/index.php/2009/01/25/transferer-un-os-dune-machine-vers-qemu/</link>
		<comments>http://www.jopa.fr/index.php/2009/01/25/transferer-un-os-dune-machine-vers-qemu/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 18:15:36 +0000</pubDate>
		<dc:creator>Fabien</dc:creator>
				<category><![CDATA[Astuces]]></category>
		<category><![CDATA[Planet-Libre]]></category>
		<category><![CDATA[Disque dur]]></category>
		<category><![CDATA[Partition]]></category>
		<category><![CDATA[Sauvegarde]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=985</guid>
		<description><![CDATA[Ces derniers jours mon portable, une machine qui a quelques années derrière elle, s&#8217;est décidée à me faire des frayeurs: des gels réguliers pour soi-disant faire une réinitialisation du sous-système disque, c&#8217;est à dire des choses du genre: ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen ata2.01: cmd a0/00:00:00:00:00/00:00:00:00:00/b0 tag 0 cdb [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ces derniers jours mon portable, une machine qui a quelques années derrière elle, s&#8217;est décidée à me faire des frayeurs: des gels réguliers pour soi-disant faire une réinitialisation du sous-système disque, c&#8217;est à dire des choses du genre:</p>
<pre>ata2.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata2.01: cmd a0/00:00:00:00:00/00:00:00:00:00/b0 tag 0
         cdb 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
         res 50/00:01:00:00:00/00:00:00:00:00/b0 Emask 0x2 (HSM violation)
ata2.01: status: { DRDY }
ata2: soft resetting link
.</pre>
<p style="text-align: justify;">Bref des choses qui me font dire que le disque dur n&#8217;est pas éternel et qu&#8217;il a déjà quelques heures de vol (smart me dit environ 3200 heures).</p>
<p style="text-align: justify;">J&#8217;ai sur cette machine 2 OS: une Debian dont je me sert quasiment exclusivement et un Windows XP qui me sert à compiler un logiciel développé à l&#8217;aide de la bibliothèque <a href="http://www.qtsoftware.com/">Qt</a>.</p>
<p style="text-align: justify;">Pour ce qui est de la Debian, je n&#8217;ai pas grand chose à sauvegarder: les sources du logiciel et quelques fichiers de configuration, donc je m&#8217;en débrouille très bien. Par contre pour ce qui est de la partition Windows, j&#8217;ai mis en place un environnement de compilation qui m&#8217;a donné beaucoup de fil à retordre et qui ne serait pas évident à réinstaller même avec les 10 pages de notes que j&#8217;avais prises à l&#8217;époque.</p>
<p style="text-align: justify;">D&#8217;autre part, depuis un bout de temps, j&#8217;avais envie de pouvoir m&#8217;affranchir du portable, de manière à pouvoir bosser indépendamment de la machine: je trimbale juste une clef usb bootable (une flash de Mandriva par exemple) et je peux m&#8217;installer sur n&#8217;importe quel PC pourvu qu&#8217;il y ait une connexion Internet. De là, je récupère par le réseau ce dont j&#8217;ai besoin et pour la &laquo;&nbsp;machine à compiler&nbsp;&raquo; Windows, je lance un QEMU situé sur un serveur.</p>
<p>Donc y&#8217;avait plus qu&#8217;à &#8230;</p>
<p><span id="more-985"></span></p>
<h2>Première étape: état des lieux.</h2>
<p>- le partitionnement de mon portable est le suivant:</p>
<pre>Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000aa1b9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         261     2096451    6  FAT16
/dev/sda2             262        1477     9767520   83  Linux
/dev/sda3            1478        1599      979965   82  Linux swap / Solaris
/dev/sda4            1600       12161    84839265    5  Extended
/dev/sda5            1600       11325    78124063+  83  Linux
/dev/sda6           11326       12161     6715138+   7  HPFS/NTFS
.</pre>
<p style="text-align: justify;">On remarquera qu&#8217;il y a une partition en FAT16 (je ne sais pas ce qu&#8217;elle fait là, ça doit être une partition créée par le constructeur) et la partition qui m&#8217;intéresse, la sda6, celle en NTFS. Quand on est sous Windows, on voit 2 partition: la C: (sda1) et la H: (sda6).</p>
<p style="text-align: justify;">Donc, si vous avez suivi, vous savez que c&#8217;est la partition sda6 que je veux mettre dans mon QEMU. Je vais donc commencer par copier cette partition dans un fichier à l&#8217;aide d&#8217;un:</p>
<pre>dd if=/dev/sda6 of=sda6.img
.</pre>
<p style="text-align: justify;">Ce qui me donne un gros fichier contenant l&#8217;image de la partition Windows, qu&#8217;en fait, j&#8217;avais copié directement sur une autre machine via NFS, mais ça n&#8217;a pas d&#8217;importance.</p>
<h2>Deuxième étape: création de l&#8217;image disque.</h2>
<p>A l&#8217;aide de la commande qemu-img, je crée une image disque de 10 Go:</p>
<pre>qemu-img create disque.img 10G
.</pre>
<p style="text-align: justify;">Ensuite, le but du jeu étant de transférer l&#8217;image de la partition sur le disque, je démarre QEMU avec mon image disque toute neuve comme premier disque dur, l&#8217;image disque de la partition comme 2ème disque dur et le CD netinst de Debian (et oui, il faut bien pouvoir booter sur quelque chose):</p>
<pre>qemu -hda disque.img -hdb sda6.img -cdrom debian-40r1-i386-netinst.iso -boot d
.</pre>
<p style="text-align: justify;">Vous pouvez choisir ce que vous voulez comme CD de démarrage pourvu que vous ayez accès à un shell (alt+F2 avec le CD d&#8217;installation de Debian, de préférence une fois que le clavier est configuré et les modules d&#8217;installation chargés). On peut maintenant partitionner le disque à l&#8217;aide de fdisk.</p>
<pre style="text-align: justify;">fdisk /dev/hda
.</pre>
<p style="text-align: justify;">Vous créez une nouvelle partition (qui va être hda1) de type NTFS (7) et la rendez bootable (commande a dans fdisk). Faites attention de bien prendre le même nombre de cylindre que la partition originale (et n&#8217;oubliez pas qu&#8217;il y a toujours un piquet de plus que de pans de clôture), vous devez obtenir exactement le même nombre de blocs que dans le partitionnement original (dans mon cas  6715138 blocs).</p>
<p style="text-align: justify;">Ensuite, il nous faut copier l&#8217;image de la partition vers notre nouvelle partition toute neuve, toujours avec dd:</p>
<pre>dd if=/dev/hdb of=/dev/hda1
.</pre>
<p style="text-align: justify;">Là, vous pouvez aller boire une bière, voire même plusieurs&#8230; (vous êtes dans une machine virtuelle et ça se ressent). De plus, si vous êtes dans la même situation que moi (système Windows sur une partition autre que C:) , ça ne fonctionnera pas, on verra après pourquoi.</p>
<h2>Troisième étape: on tente de démarrer l&#8217;image transférée.</h2>
<p style="text-align: justify;">Pour éviter d&#8217;avoir à refaire le dd précédent et être obligé d&#8217;aller reboire des bières, vous pouvez soit faire une copie de votre nouvelle image disque, soit faire toutes les manips suivantes avec l&#8217;option -snapshot de QEMU qui n&#8217;écrira pas sur la nouvelle image disque les changements, sauf si vous lui demandez (une fois que tout fonctionne me parait être à un bon moment).</p>
<p style="text-align: justify;">On démarre maintenant la nouvelle image disque avec le CD d&#8217;installation de Windows XP, le but étant de recréer le MBR et le chargeur de démarrage. Vous pouvez, soit créer une image iso de votre CD d&#8217;installation, soit utiliser directement le périphérique de cdrom de linux avec QEMU. Perso, j&#8217;avais déjà l&#8217;image iso, donc je l&#8217;ai utilisée (non, je n&#8217;ai pas lancé un nouveau dd pour la créer de manière à aller boire une autre bière !).</p>
<pre>qemu -hda disque.img -cdrom /chemin/vers/Win_XP_Pro.iso -boot d
.</pre>
<p style="text-align: justify;">Une fois le programme d&#8217;installation lancé, vous choisissez l&#8217;option &#8216;R&#8217; (pour réparer), et si tout se passe bien il va vous détecter la partition système Windows que vous allez choisir (&#8217;1&#8242;). Vous vous retrouvez alors dans une sorte de shell avec quelques commandes disponibles (faut pas rêver, c&#8217;est pas une busybox non plus, et vous ne pouvez même pas éditer un fichier).</p>
<p style="text-align: justify;">Deux commandes vous nous être utiles: FIXMBR et  FIXBOOT, vous les lancez les 2. Peu importe l&#8217;ordre, FIXMBR va écrire un nouveau MBR (master boot record, les 512 premiers octets du disque dur) et FIXBOOT va copier le chargeur de démarrage.</p>
<p style="text-align: justify;">Il ne reste plus qu&#8217;à redémarrer (ça se fait tout seul si vous tapez exit)&#8230; et là si vous êtes dans le même cas que moi (partition système Windows autre que C:), vous croyez tenir le bon bout mais le système se fige lamentablement au démarrage; ça n&#8217;est pas la peine d&#8217;attendre et d&#8217;en profiter pour aller boire des bières, ça ne va pas plus loin.</p>
<p style="text-align: justify;">Après divers tests (avec plein de dd très longs) pour arriver à faire démarrer mon Windows, j&#8217;en ai déduit qu&#8217;il fallait absolument que le partitionnement de la nouvelle image disque ressemble le plus possible à celui de la machine originale de manière à avoir la partition système Windows sur H:. J&#8217;ai essayé avec fdisk sous Linux et je ne suis pas arrivé à mes fins. Après réflexion, je pense que ça doit être possible mais j&#8217;en ai un peu marre des essais à vrai dire.</p>
<p style="text-align: justify;">J&#8217;ai donc recréé le partitionnement de l&#8217;image disque avec le CD d&#8217;installation de windows (mode réparation) à l&#8217;aide de la commande diskpart. J&#8217;ai créé la première partition en FAT16 de la même taille que sda1 sur mon portable et plusieurs petites partitions en FAT16 (de 20 Mo) jusqu&#8217;à arriver à H: où j&#8217;ai créé la grosse partition NTFS. Dans diskpart, vous ne pouvez donner que des tailles en Mo, donc pour recréer le même nombre de blocs que dans votre partitionnement original, il vous faudra peut-être tâtonner un peu.</p>
<p style="text-align: justify;">Chez moi j&#8217;obtiens ça (le partitionnement a été fait avec diskpart, mais je l&#8217;affiche ici avec fdisk ):</p>
<pre>Disk /dev/hda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         261     2096451    6  FAT16
/dev/hda2             262        1304     8377897+   f  W95 Ext'd (LBA)
/dev/hda5             262         264       24066    6  FAT16
/dev/hda6             265         267       24066    6  FAT16
/dev/hda7             268         270       24066    6  FAT16
/dev/hda8             271         273       24066    6  FAT16
/dev/hda9             274        1109     6715138+   7  HPFS/NTFS
.</pre>
<p style="text-align: justify;">Une fois que le partitionnement est bon, vous pouvez recommencer depuis le début pour copier vos partitions (j&#8217;ai mis aussi la sda1 tant que j&#8217;y étais, mais je ne sais pas si c&#8217;était utile) avec la même méthode, vous démarrez QEMU avec les images des partitions comme disque dur et vous faites des dd.</p>
<p style="text-align: justify;">Si tout va bien, une fois que vous avez reconstruit le MBR et le chargeur de démarrage, vous aurez l&#8217;immense satisfaction de voir enfin démarrer votre Windows (avec quelques toussotements et crachotements puisque le matériel émulé par QEMU n&#8217;est surement pas le même que sur votre machine originale).</p>
<p style="text-align: justify;">Pour ma part, j&#8217;ai transférere l&#8217;image sur un serveur (via une ligne ADSL). J&#8217;ai compressé l&#8217;image avant de la transférer (avec bzip2) et je suis passé de 10 Go à 3,5 Go, donc c&#8217;est faisable, faut pas être pressé et puis vous pouvez en profiter pour aller boire une bière parce que, arrivé là, vous l&#8217;aurez bien méritée.</p>
<p style="text-align: justify;">Ensuite il ne reste plus qu&#8217;à lancer QEMU sur le serveur avec l&#8217;option -vnc pour l&#8217;utiliser à distance avec vncviewer (faites quand même attention à la sécurité, tout est prévu pour, alors faites un tour dans la doc de QEMU).</p>
<p style="text-align: justify;">N&#8217;oubliez pas une fois que tout est terminé d&#8217;effacer le Windows original car je doute que la licence de Windows vous permette de faire tourner plusieurs copies en même temps (je doute même que tout ce que je décris ci-dessus soit compatible avec la licence&#8230; si ça vous amuse, lisez-là).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2009/01/25/transferer-un-os-dune-machine-vers-qemu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sauvegardes par &#171;&#160;snapshots&#160;&#187; &#8211; La puissance de rsync et des liens durs</title>
		<link>http://www.jopa.fr/index.php/2008/03/18/sauvegardes-differentielles-la-puissance-de-rsync-et-des-liens-durs/</link>
		<comments>http://www.jopa.fr/index.php/2008/03/18/sauvegardes-differentielles-la-puissance-de-rsync-et-des-liens-durs/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 22:00:42 +0000</pubDate>
		<dc:creator>Jopa</dc:creator>
				<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Disque dur]]></category>
		<category><![CDATA[Sauvegarde]]></category>

		<guid isPermaLink="false">http://www.jopa.fr/?p=23</guid>
		<description><![CDATA[Je stocke une quantité inimaginable de scripts, de bouts de codes, de documents, de photos et de projets en tout genre sur mon serveur de fichiers. Quelques Go qui représentent des années de ma vie &#171;&#160;numérique&#160;&#187;. Le temps passe, le volume des données augmente et il devient urgent de trouver un moyen de sauvegarde plus [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jopa.fr/wp-content/uploads/2008/03/sauvegardes.jpg" alt="Sauvegardes" align="left" /></p>
<p align="justify">Je stocke une quantité inimaginable de scripts, de bouts de codes, de documents, de photos et de projets en tout genre sur mon serveur de fichiers. Quelques Go qui représentent des années de ma vie &laquo;&nbsp;numérique&nbsp;&raquo;. Le temps passe, le volume des données augmente et il devient urgent de trouver un moyen de sauvegarde plus rapide, plus efficace et surtout moins fastidieux que la gravure sur DVD. <span style="color: #808080;">- Vous remarquerez au passage la photo prise en exclusivité pour l&#8217;illustration de cet article et sa superbe mise en scène réalisée sur le plan de travail de ma cuisine -</span><br />
La sauvegarde sur DAT ou DLT étant bien trop onéreuse et surtout trop lente, j&#8217;ai opté pour le montage d&#8217;un serveur de sauvegardes &laquo;&nbsp;maison&nbsp;&raquo;.</p>
<p><span id="more-23"></span></p>
<h3>Mise en place :</h3>
<p>* Côté matériel, un petit Céléron 900Mhz de récupération fera très bien l&#8217;affaire. Je le gonfle un peu en montant la ram à 384Mo et attribue le gros du budget au stockage en lui offrant deux beaux disques dur IDE de 320Go  <span style="color: #808080;">-  Ca ! C&#8217;est classe ! -<br />
</span><br />
* Côté logiciel, une distribution Debian et un petit script qui combine <em>rsync</em> pour optimiser les transferts réseaux et des liens durs pour garder un historique en limitant l&#8217;espace disque utilisé.</p>
<p align="justify">Pour simplifier les choses, nous allons appeler le serveur de fichiers &laquo;&nbsp;<em><strong>serv_file</strong></em>&nbsp;&raquo; et le serveur de sauvegardes &laquo;&nbsp;<em><strong>serv_nas</strong></em>&laquo;&nbsp;.</p>
<p align="justify">Les présentations étant faites, commençons par générer un bi-clés pour <em>ssh</em> sur <strong><em>serv_nas</em> </strong>et faire une copie de la clef publique sur <strong><em>serv_file</em></strong>, pour que mon premier puisse parler à<em> </em>mon second<em>, </em>via <em>ssh</em> et sans avoir à fournir de mot de passe. C&#8217;est quand même bien plus pratique pour automatiser le bazar !</p>
<p>Concrètement,  comment fait-on ?<br />
Sur <strong><em>serv_nas</em></strong> :</p>
<blockquote>
<pre><strong>srv_nas:~# ssh-keygen</strong>
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
2d:40:c4:09:67:06:...b:bf:06 root@srv_nas</pre>
</blockquote>
<blockquote>
<pre><strong>srv_nas:~# ssh-copy-id root@srv_file</strong>
root@srv_file's password :</pre>
</blockquote>
<p>Tout c&#8217;est bien passé ?  L&#8217;ouverture d&#8217;une session ssh de <strong><em>serv_nas</em></strong> vers <strong><em>serv_file</em></strong> devrait se faire sans mot de passe. Essayons&#8230;</p>
<blockquote>
<pre><strong>srv_nas:~# ssh srv_file</strong>
Last login: Mon Mar 17 18:10:25 2008 from 192.168.7.102
Linux srv_file 2.6.18-6-686 #1 SMP Sun Feb 10 22:11:31 UTC 2008 i686</pre>
<pre>The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.</pre>
<pre>Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.</pre>
<pre>srv_file:~#
<strong>srv_file:~# exit</strong>

srv_nas~#</pre>
</blockquote>
<p>Si ce n&#8217;est pas déjà fait, il faut maintenant installer rsync sur les deux machines :</p>
<blockquote>
<pre><strong>srv_nas:~# aptitude install rsync
srv_nas:~# ssh srv_file aptitude install rsync</strong></pre>
</blockquote>
<h3>Le script &#8211; Initialisation</h3>
<p align="justify">Allez ! Fini la rigolade, passons au script&#8230;<br />
La première chose à faire est de déclarer quelques variables&#8230;C&#8217;est quand bien plus propre et ça facilite la modification du script par la suite.</p>
<ul>
<li>le nom serveur à sauvegarder (<strong>$SERVER</strong>),</li>
<li>le répetoire local de stockage des sauvegardes (<strong>$DST</strong>),</li>
<li>le fichier de log (<strong>$LOG</strong>),</li>
<li> et une date formatée qui va être utilisée pour &laquo;&nbsp;horodater&nbsp;&raquo; la sauvegarde (<strong>$DATE</strong>).</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p23code5'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p235"><td class="code" id="p23code5"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#------Début du fichier /usr/local/scripts/snapshot.sh</span>
&nbsp;
<span style="color: #007800;">SERVEUR</span>=<span style="color: #ff0000;">&quot;srv_file&quot;</span>
<span style="color: #007800;">DST</span>=<span style="color: #ff0000;">&quot;/srv/sauvegardes&quot;</span>
<span style="color: #007800;">LOG</span>=<span style="color: #ff0000;">&quot;/var/log/snapshot-<span style="color: #007800;">$SERVEUR</span>.log&quot;</span>
<span style="color: #007800;">DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">`</span></pre></td></tr></table></div>

<h3>Le script &#8211; rsync :</h3>
<p align="justify">L&#8217;étape suivante, va consister à boucler sur les répertoires à sauvegarder (etc, home, root, data, srv et var dans l&#8217;exemple) pour en faire un miroir dans un dossier local nommé &laquo;&nbsp;<em>current</em>&nbsp;&raquo; (/srv/sauvegardes/current). Ce dernier contiendra toujours la dernière image des fichiers sauvegardés.<br />
La commande <em>rsync</em> avec les options suivantes est la plus à même de réaliser ce travail :</p>
<ul>
<li>-r  (récursif) pour inclure les sous répertoires,</li>
<li>-a  (archive) pour conserver les propriétés et les droits du fichier original,</li>
<li>&#8211;delete pour supprimer du répertoire destination tout fichier qui ne serait plus présent dans le répertoire source. Cette option est impérative pour la suite des opérations.</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p23code6'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p236"><td class="code" id="p23code6"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># SYNCHRONISATION</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Début de la sauvegarde le <span style="color: #780078;">`date +%D`</span> à <span style="color: #780078;">`date +%H:%M`</span> &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #000000; font-weight: bold;">for</span> REP <span style="color: #000000; font-weight: bold;">in</span> etc home root data srv var ;  <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;    *    Sauvegarde de  <span style="color: #007800;">$REP</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
    rsync <span style="color: #660033;">-ra</span> <span style="color: #660033;">--delete</span> <span style="color: #007800;">$SERVEUR</span>:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REP</span> <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span>current <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #000000; font-weight: bold;">done</span>;</pre></td></tr></table></div>

<p align="justify">Le grand intérêt dans l&#8217;utilisation de la commande <em>rsync</em> réside dans le fait que, contrairement à <em>scp</em>, elle ne va copier que les fichiers différents ou inexistants dans le répertoire destination et donc procurer un immense gain de bande passante et de temps.</p>
<h3>Le script &#8211; Les liens durs :</h3>
<p align="justify">La dernière étape va créer une image datée du répertoire <em>&laquo;&nbsp;current&nbsp;&raquo;</em>, avant que la prochaine synchronisation ne vienne en altérer le contenu, en optimisant l&#8217;espace disque utilisé.</p>
<p align="justify">Pour cette opération, la puissante des <em>liens dur</em>s va nous être très utile.</p>
<p align="justify"><span style="color: #800000;">Les<strong><em> liens durs </em></strong>associent deux ou plusieurs fichiers à un même espace sur le disque. Les deux fichiers restent indépendants, tout en partageant le même espace disque et donc le même inode . Toute modification de l&#8217;un, modifie l&#8217;autre, mais la suppression de l&#8217;un, casse le lien et ne supprime pas physiquement l&#8217;autre.</span></p>
<p align="justify">Dans notre cas, nous allons créer un lien dur de notre dossier &laquo;&nbsp;current&nbsp;&raquo; et de son contenu vers un dossier portant la valeur de notre variable $DATE (la date et l&#8217;heure du début de la sauvegarde).<br />
Il suffit pour cela d&#8217;utiliser la commande &laquo;&nbsp;<em>cp</em>&nbsp;&raquo;  avec les options :</p>
<ul>
<li>-l  (lien) pour la copie par lien dur,</li>
<li>-a  (archive) pour conserver les propriétés et droits des fichiers.</li>
</ul>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p23code7'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p237"><td class="code" id="p23code7"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># SNAPSHOT</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-al</span> <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span>current <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$DATE</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Fin de la sauvegarde le <span style="color: #780078;">`date +%D`</span> à <span style="color: #780078;">`date +%H:%M`</span> &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;========================================&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#------Fin du fichier /usr/local/scripts/snapshot.sh</span></pre></td></tr></table></div>

<h3>En résumé :</h3>
<p align="justify">Juste après l&#8217;exécution du script, le répertoire <em>current</em> et le répertoire &laquo;&nbsp;daté&nbsp;&raquo; sont identiques. Comme le second est créé par &laquo;&nbsp;liens durs&nbsp;&raquo;, aucun espace disque supplémentaire n&#8217;est consommé.</p>
<p align="justify">Lors de la sauvegarde suivante, la commande<em> rsync </em>va modifier le répertoire &laquo;&nbsp;<em>current&nbsp;&raquo;</em> :</p>
<ul>
<li>
<p align="justify">En effaçant les fichiers supprimés sur le serveur depuis la dernière sauvegarde &#8211; les liens durs pour ces fichiers seront cassés,</p>
</li>
<li>
<p align="justify">En ajoutant les fichiers créés sur le serveur &#8211; pas d&#8217;action sur les liens,</p>
</li>
<li>
<p align="justify">En recopiant tout fichier modifié sur le serveur, ce qui revient à supprimer l&#8217;ancienne version et créer la nouvelle &#8211; les liens portant sur les anciens fichiers seront cassés.</p>
</li>
</ul>
<p align="justify">En résumé, cette mécanique va permettre de garder un historique des fichiers du serveur, jour après  jour, en ne consommant que l&#8217;espace utilisé par les ajouts ou modifications de fichiers.</p>
<p style="text-align: center"><img src="http://www.jopa.fr/wp-content/uploads/2008/03/capture-ssh-srv_nas.png" alt="Capture" width="525" height="240" /></p>
<p style="text-align: left" align="left">
<p style="text-align: left" align="left">La notion de lien est complètement transparente pour l&#8217;utilisateur et sous chaque répertoire, nous retrouvons l&#8217;ensemble des fichiers, tels qu&#8217;ils étaient sur le serveur à la date correspondante; d&#8217;où le nom de &laquo;&nbsp;<em>snapshot</em>&nbsp;&raquo; donné à cette technique (et à mon script !)</p>
<p style="text-align: left" align="left">Pour finir, voici le petit script en un seul morceau :</p>
<p style="text-align: left" align="left">

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p23code8'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p238"><td class="code" id="p23code8"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#------Début du fichier /usr/local/scripts/snapshot.sh</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># PARAMETRE</span>
<span style="color: #007800;">SERVEUR</span>=<span style="color: #ff0000;">&quot;srv_file&quot;</span>
<span style="color: #007800;">DST</span>=<span style="color: #ff0000;">&quot;/srv/sauvegardes&quot;</span>
<span style="color: #007800;">LOG</span>=<span style="color: #ff0000;">&quot;/var/log/snapshot-<span style="color: #007800;">$SERVEUR</span>.log&quot;</span>
<span style="color: #007800;">DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d-<span style="color: #000000; font-weight: bold;">%</span>H<span style="color: #000000; font-weight: bold;">%</span>M<span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># SYNCHRONISATION</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Début de la sauvegarde le <span style="color: #780078;">`date +%D`</span> à <span style="color: #780078;">`date +%H:%M`</span> &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #000000; font-weight: bold;">for</span> REP <span style="color: #000000; font-weight: bold;">in</span> etc home root data srv var ;  <span style="color: #000000; font-weight: bold;">do</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;    *    Sauvegarde de  <span style="color: #007800;">$REP</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
    rsync <span style="color: #660033;">-ra</span> <span style="color: #660033;">--delete</span> <span style="color: #007800;">$SERVEUR</span>:<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$REP</span> <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span>current <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #000000; font-weight: bold;">done</span>;
&nbsp;
<span style="color: #666666; font-style: italic;"># SNAPSHOT</span>
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-al</span> <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span>current <span style="color: #007800;">$DST</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$DATE</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Fin de la sauvegarde le <span style="color: #780078;">`date +%D`</span> à <span style="color: #780078;">`date +%H:%M`</span> &quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;========================================&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$LOG</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#------Fin du fichier /usr/local/scripts/snapshot.sh</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jopa.fr/index.php/2008/03/18/sauvegardes-differentielles-la-puissance-de-rsync-et-des-liens-durs/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

