"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive for the ‘Récupération de données’ Category

Administration sytème: les systèmes RAID et SMART, CNIL, AFSIN

Posted by patrick sur juillet 6, 2007

Quelques définitions sur le système RAID (Redundant Array of Independent Disks, « matrice redondante de disques indépendants »). Je m’intéresse à ce sujet car le serveur GNU/Linux sur le lequel j’ai travaillé était équipé en RAID1.

http://fr.wikipedia.org/wiki/RAID_informatique (« En informatique, le mot RAID désigne une technologie permettant de stocker des données sur de multiples disques durs, en général de manière redondante, afin d’améliorer certaines caractéristiques essentielles de l’ensemble en fonction du type de RAID choisi, qu’il s’agisse de la tolérance aux pannes, de l’intégrité des données, ou des performances de l’ensemble.

RAID était à l’origine l’acronyme de Redundant Array of Inexpensive Disks, ce qui signifie « matrice redondante de disques bons marchés ». Aujourd’hui, le mot est devenu l’acronyme de Redundant Array of Independent Disks, ce qui signifie « matrice redondante de disques indépendants », car les disques durs sont bien meilleurs marchés qu’à l’époque.

Depuis son implémentation originale, la particularité principale de l’architecture RAID est sa capacité à combiner de nombreux périphériques de stockage bons marchés et d’une technologie courante dans une matrice unique, de sorte que ce groupement offre une capacité, une fiabilité et/ou des performances accrues, et ce pour un coût largement inférieur à un périphérique de stockage unique équivalent exploitant des technologies de pointe. L’architecture RAID s’oppose donc à l’architecture SLED (Single Large Expensive Disk), qui est fondée sur l’utilisation d’un seul et même disque dur de grande capacité, et donc d’un prix élevé, car il doit non seulement pouvoir stocker beaucoup d’informations, mais il doit de plus être d’excellente qualité pour en garantir au mieux l’intégrité.

En effet, dans une architecture de type SLED, la bonne conservation des données est dépendante de la moindre défaillance du disque dur. Lorsqu’une panne survient, non seulement le système est inexploitable le temps du remplacement du matériel défectueux, mais la seule manière de récupérer les données est de procéder à une restauration de la dernière sauvegarde, ce qui peut prendre plusieurs heures durant lesquelles le système est toujours inutilisable.

Si un tel temps d’inactivité est acceptable pour l’ordinateur d’un particulier, il est en revanche rédhibitoire pour le système informatique d’une entreprise, pour qui une telle panne peut avoir des conséquences non négligeables sur sa santé financière. L’utilisation d’une architecture RAID, du moins dans la plupart de ses niveaux fonctionnels, permet justement d’apporter une réponse à ces besoins car non seulement la défaillance d’un des disques de la grappe ne gêne pas le fonctionnement des autres disques, ce qui permet au système de continuer de fonctionner, mais de surcroît, une fois le disque en panne échangé, son contenu est reconstruit à partir des autres disques pendant le fonctionnement normal du système. Ainsi, l’activité de l’entreprise continue de façon ininterrompue et transparente pendant toute la durée de l’incident. »

Dans le cas de l’entreprise dans laquelle je travaillais la contrainte était plus forte puisqu’on prévoyait un crash des 2 disques en RAID1. Il fallait donc prévoir 2 autres disques RAID1 en secours.

« Miroitage (mirroring)

Le miroitage (mirroring en anglais) consiste à utiliser plusieurs unités de stockage de données et à stocker des données identiques sur chacune. Ainsi, chaque unité contient à tout moment exactement les mêmes données que les autres, on parle alors de disques miroirs, d’où l’utilisation du mot « miroitage ». Les modifications des données se font de manière simultanée sur toutes les unités de stockage, ainsi, en cas de panne d’une unité de stockage, les données sont toujours accessibles sur les unités restantes. Cette configuration pénalise légèrement les performances, mais a surtout l’inconvénient d’être particulièrement onéreuse, la fiabilité de l’ensemble étant directement proportionnelle au nombre d’unités de stockage. Lors de la défaillance de l’un des disques, le contrôleur RAID désactive, de manière transparente pour l’accès aux données, le disque incriminé. Une fois le disque défectueux remplacé, le contrôleur RAID reconstitue, soit automatiquement, soit sur intervention manuelle, le miroir. Une fois la synchronisation effectuée, le RAID retrouve son niveau initial de redondance. Mathématiquement, l’espérance de vie d’un système RAID 1 est 1,5 supérieure à celle d’un système sans RAID. »

Pour faire remonter les informations de dysfonctionnement et d’après ce que j’ai vu hier, on peut utiliser 2 utilitaires (smartctl and smartd) du package smartmontools (« The smartmontools package contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA and SCSI hard disks. In many cases, these utilities will provide advanced warning of disk degradation and failure »)

Liens

  • http://www.linuxjournal.com/article/6983 (« it’s a given that all disks eventually die, and it’s easy to see why. The platters in a modern disk drive rotate more than a hundred times per second, maintaining submicron tolerances between the disk heads and the magnetic media that store data. Often they run 24/7 in dusty, overheated environments, thrashing on heavily loaded or poorly managed machines. So, it’s not surprising that experienced users are all too familiar with the symptoms of a dying disk. Strange things start happening. Inscrutable kernel error messages cover the console and then the system becomes unstable and locks up. Often, entire days are lost repeating recent work, re-installing the OS and trying to recover data. Even if you have a recent backup, sudden disk failure is a minor catastrophe. Many users and system administrators don’t know that Self-Monitoring, Analysis and Reporting Technology systems (SMART) are built in to most modern ATA and SCSI hard disks. SMART disk drives internally monitor their own health and performance. In many cases, the disk itself provides advance warning that something is wrong, helping to avoid the scenario described above. Most implementations of SMART also allow users to perform self-tests on the disk and to monitor a number of performance and reliability attributes« )
  • http://fr.wikipedia.org/wiki/Self-Monitoring%2C_Analysis_and_Reporting_Technology (« Self-Monitoring, Analysis, and Reporting Technology, ou S.M.A.R.T., (littéralement Technologie d’Auto-surveillance, d’Analyse et de Rapport) est un système de surveillance du disque dur d’un ordinateur. Il permet de faire un diagnostic selon plusieurs indicateurs de fiabilité dans le but d’anticiper les erreurs sur le disque dur…Les pannes mécaniques, qui sont des défaillances prévisibles, représentent 60 % des pannes de disque[1]. Le but du système S.M.A.R.T. est de prévenir l’utilisateur ou l’administrateur système de l’imminence d’une panne de disque alors qu’il reste encore du temps pour agir – comme par exemple copier les données sur un disque de remplacement. Environ 30 % des défaillances peuvent être prévues par le système S.M.A.R.T… D’un point de vue légal, le terme S.M.A.R.T. ne fait référence qu’à une méthode de communication entre les capteurs électromécaniques internes d’un disque dur et l’ordinateur hôte – donc un fabriquant de disque dur peut inclure un capteur pour uniquement un attribut physique et promouvoir ensuite le produit comme compatible S.M.A.R.T. Par exemple, un fabricant peut déclarer supporter la technologie S.M.A.R.T. mais ne pas inclure de capteur de température, capteur dont le consommateur est raisonnablement en droit d’attendre la présence, étant donné que la température est un paramètre crucial dans la prévision des défaillances (la fiabilité est typiquement proportionnelle à l’inverse de la température). Il se peut que certaines cartes mères compatibles S.M.A.R.T. ou certains logiciels associés ne puissent pas communiquer avec certains disques certifiés S.M.A.R.T. en fonction du type d’interface. Peu de disques externes connectés via USB ou FireWire envoient correctement les données S.M.A.R.T. par l’intermédiaire de ces interfaces. Étant donné le grand nombre de manières de connecter un disque dur (SCSI, Fibre Channel, ATA, SATA, etc.), il est difficile de savoir à l’avance si les rapports S.M.A.R.T. fonctionneront correctement ou pas. Même avec le disque dur et l’interface supportant S.M.A.R.T., les données peuvent ne pas être transmises correctement au système d’exploitation de l’ordinateur. Certains contrôleurs de disques peuvent dupliquer toutes les opérations d’écriture sur un deuxième disque de sauvegarde en temps réel. Cette technique est connue sous le nom de RAID 1 ou RAID mirroring car le second disque est une image miroir du premier. Cependant, de nombreux programmes conçus pour analyser les changements de comportement du disque et pour transmettre les alertes S.M.A.R.T. à l’utilisateur ne fonctionnent pas quand le système est configuré en RAID, parce que, dans les conditions normales de fonctionnement de l’architecture RAID, l’ordinateur n’est pas autorisé à « voir » (ou à accéder directement) les différents disques physiques, il est seulement autorisé à « voir » les volumes logiques à travers le sous-système RAID »).
  • http://smartlinux.sourceforge.net/smart/index.php (« This site contains information about S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology) – a standard that automatically monitors a disk drive’s health and report potential problems »)
  • http://www.afsin.org/ (« Association francophone des Spécialistes de l’Investigation Numérique. Notre Association Internationale a pour objet de développer une réflexion permanente en langue française sur l’investigation numérique, en tous domaines et en toutes circonstances, ainsi que sous tous ses aspects scientifiques, techniques, philosophiques, déontologiques, méthodologiques, économiques, juridiques, évolutifs et comparatifs avec les autres pays… L’AFSIN a pour vocation d’établir un dialogue constant entre les différents participants à l’investigation numérique, tels que techniciens, enquêteurs, juristes, magistrats… La première action de l’Association est de lancer plusieurs études par l’intermédiaire de son Comité Scientifique (récupération de données sur les téléphones GSM !!, récupération des méta-données, définition et termes de francisation, façons diverses de faire une « image » de disque, outillage utilisé, etc…). »)
  • http://fr.wikipedia.org/wiki/CNIL (« La Commission nationale de l’informatique et des libertés (CNIL) est une autorité administrative indépendante française chargée de veiller à la protection des données à caractère personnel et de la vie privée. Elle a été créée par la loi n° 78-17 du 6 janvier 1978 relative à l informatique, aux fichiers et aux libertés...La CNIL a été créé en 1978, suite au scandale du projet SAFARI (Système Automatisé pour les Fichiers Administratifs et le Répertoire des Individus), qui visait à interconnecter les fichiers nominatifs de l’administration française, notamment par le biais du numéro INSEE. La révélation de ce projet, le 21 mars 1974 par le quotidien le Monde, avait entraîné une vive opposition populaire, et la création de la Commission Nationale de l’Informatique et des Libertés quelques années plus tard.)
Publicités

Posted in Administration système, Récupération de données | Leave a Comment »

Admin système, récupération de données: TestDisk, Photorec, Ping (Partimage Is Not Ghost), dd, netcat (nc)…etc

Posted by patrick sur juillet 5, 2007

Comme depuis 1 an je suis confronté à des problèmes de sauvegarde et de restauration aussi bien en environnement professionnel (je ne suis pourtant pas administrateur système) que personnel( les gens qui pensent que je fais des sauvegardes toute la journée 🙂 ), je vais étudier le problème…qui est bien vaste.

Je commence par TestDisk car je viens de recevoir un courriel de la liste http://linuxfr.org qui mentionne son existence.

http://www.cgsecurity.org/wiki/TestDisk («  est un logiciel Open Source distribué sous licence GPL (GNU Public License). TestDisk est un logiciel performant de récupération de données! Il a été conçu à l’origine pour aider à la récupération des partitions perdues, la réparation des tables des partitions corrompues quand ces symptômes ont été causés par des logiciels défectueux, certains types de virus ou des erreurs humaines (tel que l’effacement accidentel de la Table des Partitions »).

http://www.cgsecurity.org/wiki/Monitoring_SMART_FR (« Self-Monitoring, Analysis and Reporting Technology system). Il est possible de contrôler et surveiller les systèmes de stockage en utilisant la technologie SMART (Self-Monitoring, Analysis and Reporting Technology system) intégré dans les disques durs ATA et SCSI.Dans le but d’anticiper les pannes, la technologie SMART surveille et informe de l’état de certains indicateurs de fiabilité comme la température, le nombre de secteurs réalloués, les erreurs de localisation des secteurs et le temps cumulé d’utilisation.

  • Utiliser un logiciel pour surveiller les informations SMART afin de détecter les problèmes physiques.
    • smartmontools — logiciel opensource pour Windows, Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Darwin, OS/2.
    • SMARTReporter — logiciel opensource pour Apple Macintosh
  • Si le disque est connecté via USB ou FireWire, les informations SMART peuvent ne pas être rapportés. Si c’est le cas, il est conseillé d’utiliser une connexion directe de type IDE, SCSI, SATA… »

http://www.cgsecurity.org/wiki/PhotoRec («  PhotoRec is file data recovery software designed to recover lost files including video, documents and archives from Hard Disks and CDRom and lost pictures (thus, its ‘Photo Recovery’ name) from digital camera memory. PhotoRec ignores the filesystem and goes after the underlying data, so it will still work even if your media’s filesystem has been severely damaged or re-formatted. PhotoRec is free, this open source multi-platform application is distributed under GNU Public License. PhotoRec is a companion program to TestDisk, an app for recovering lost partitions on a wide variety of filesystems and making non-bootable disks bootable again. You can download them from this link. PhotoRec searches known file header and because there is no data fragmentation (usually), it can recover the whole file. Photorec recognises numerous file format including ZIP, Office, PDF, HTML, JPEG and various graphics file formats. The whole list of file formats recovered by PhotoRec contains more than 80 file extensions. »)

http://www.windowsdream.com/ping/download.html (« PING (Partimage Is Not Ghost) Backup and Restore Disk Partitions. PING is a live Linux ISO, based on the excellent Linux From Scratch (LFS) documentation. It can be burnt on a CD and booted, or integrated into a PXE / RIS environment. Several tools have been added and written, so to make this ISO the perfect choice to backup and restore whole partitions, an easy way. It sounds like Symantec Ghost(tm), but has even better features, and is totally free« )

http://www.windowsdream.com/winner.html (« WINNER is a different way to set up a RIS Server. Basically, it gives you the possibility to deploy an unattended installation of Windows XP over a LAN, but has impressive specificities. Amongst them, a WINNER distribution can range from a minimalist Linux set (50 Mo) to a complete set of files (2 Go) — both of them leading to a similar, complete, Windows installation.« )

http://fr.wikipedia.org/wiki/Remote_Installation_Services (« Les Services d’installation à distance (Remote Installation Services ou RIS) est une fonctionnalité pour serveur fournit par Microsoft qui permet à des ordinateurs dont le BIOS prend en charge le Preboot eXecution Environment (PXE) d’exécuter de façon distante des variables d’environnement de démarrage…Il est possible d’installer ou booter d’autres systèmes d’exploitation grâce au RIS, par exemple une distribution GNU/Linux au travers du Linux Terminal Server Project…Le RIS a été remplacé par « Windows Deployment Services » (WDS) dans le Service Pack 2 de Windows Server 2003 et Windows Vista.« )

http://fr.wikipedia.org/wiki/Ghost_%28informatique%29 (« En informatique, Ghost (General Hardware Oriented System Transfer) est un logiciel, à l’origine produit par Binary Research, mais racheté par Symantec en 1998, pour cloner un disque dur (copie physique), ou plus spécifiquement, de cloner chaque partition d’un disque dur (copie logique). Le cryptage AES (Standard de chiffrement avancé) est aussi supporté pour préserver la confidentialité des sauvegardes. Ghost inclut aussi un Fdisk amélioré. L’image obtenue peut notamment être utilisée :

  • comme une sauvegarde pour restaurer l’état du disque au moment de la création de l’image
  • comme modèle pour réaliser un clonage de disque

Le concurrent direct de Ghost est Acronis True Image (commercial) , souvent considéré comme plus complet et simple d’utilisation.

Remarque: Depuis peu (2004) il existe PING (Partimage Is Not Ghost) qui n’est ni un produit commercial ni un logiciel open source.

Le terme « ghost » tend à se généraliser pour désigner toute image d’un support informatique ou d’un système informatique faite par un logiciel de sauvegarde. Dans le jargon informatique, le néologisme « ghoster un PC » est apparu. Il est synonyme de cloner, c’est à dire dupliquer le disque dur d’un PC. L’intérêt de ghoster un PC est de ne pas avoir besoin de réinstaller chaque logiciel un par un, ce qui est long et fastidieux pour la (ou les) personne(s) qui installe(nt) ces logiciels. Ghoster un PC est rapide et nécessite beaucoup moins de compétences; il reste cependant à personaliser la machine clonée en modifiant son nom et son adresse IP à l’issue du clonage. »

http://en.wikipedia.org/wiki/Dd_%28Unix%29 (« dd is a common UNIX program whose primary purpose is the low-level copying and conversion of files. The title of the UNIX sixth edition manual page of May 1975 was dd – convert and copy a file, and some have suggested that since « cc » was already in use as the code for the CCompiler, « dd » was used instead; in any case, DD is an acronym for « data definition » in IBM JCL (to which the command’s syntax bears a strong resemblance) and the name and syntax of the command is generally presumed to be a bit of gallows humor. » )

To create a zipped hard drive backup image:

# dd if=/dev/hda | gzip > /mnt/hdb1/system_drive_backup.img.gz

Here dd is making an image of the first harddrive, and piping it through the gzip compression program. The compressed image is then placed in a file on a separate drive. To reverse the process:

# gzip -dc /mnt/hdb1/system_drive_backup.img.gz | dd of=/dev/hda

Here, gzip is decompressing (the -d switch) the file, sending the results to stdout (the -c switch), which are piped to dd, and then written to /dev/hda.

To create an ISO image file from a CD. Insert the source cd and unmount it first if auto CD mount is enabled, this is to improve performance by preventing random access to the mounted filesystem.

dd if=/dev/cdrom of=/tmp/image.iso bs=2k

Note: The device might also be called /dev/dvd or /dev/scd0 (for a SCSI-drive).

To create an image file named floppy.img of a floppy disk in the drive whose block-device name is /dev/fd0 (as the first floppy device is on Linux), one may invoke dd in the following way:

dd if=/dev/fd0 of=floppy.img

Or to copy the img file back to a floppy:

dd if=floppy.img of=/dev/fd0 bs=16k

To create a file with name reallylargefile with the size of 1 GB, filled with random data, do this (1G = 1073741824, 1073741824 / 512 = 2097152 (the default block size is 512)):

dd if=/dev/random of=reallylargefile count=2097152

or faster but less cryptographicly secure

dd if=/dev/urandom of=reallylargefile count=2097152

To fill the file with NULL characters, use /dev/zero instead of /dev/random. This can be used to mount a filesystem if you have a FAT32 device, but need the flexibility of EXT2 – as follows to create a 10GB image:

dd if=/dev/zero of=my.new.virtual.harddisk bs=1k count=10MB
mke2fs my.new.virtual.harddisk (reply yes when it says it’s not a block device)
mkdir /mnt/virtual
mount -o loop my.new.virtual.harddisk /mnt/virtual/"

http://www.linuxquestions.org/questions/showthread.php?p=1848006#post1848006 (liste impressionnante d’utilisation de la commande ‘dd’)

http://www.softpanorama.org/Tools/dd.shtml (idem liste impressionnante d’utilisation de la commande ‘dd’:

slave% nc -l -p 9000 | dd of=/dev/sda (Replace /dev/sda with actual drive on your slave machine)

This will listen at port 9000 and whatever it gets at port 9000 will hand over to dd command and dd will simply write that to on slave harddrive (sda) bit by bit. Here I am assuming dd and netcat (nc) are available either through floppy (/mnt/floppy/nc or through /mnt/sources/mystuff/nc). In case of floppy you need to mount floppy first using command:
mount /dev/fd0 /mnt/floppy
On Master machine:
Now Login on master linux box and run following command. (It is advisable that Master Linux box should be in calm state , i.e no major jobs running on the machine). This command below will read master disk bit by bit and throw this bit stream to netcat command which is connected to netcat command at port 9000 on <slave> box.

master% dd if=/dev/sda | nc 192.168.0.254 9000

That’s it. You may have to wait for long time depending upon network speed and size of your harddrive. Typically 36GB drive may take 50 minutes over 100Mbps link. Again rather than cloning complete drive we can clone only relevant partitions and MBR only. That will make cloning much faster like we saw in above section »)

http://www.sweetnam.eu/index.php/Using_Netcat_for_Backup (« Providing you have netcat installed, on the destination machine execute the following command:

nc -l -p 6666 > filename.tar.bz2

This creates a listening socket on port 6666 with the filename specified above. We now need to setup the source machine to dump whatever directories or filesystems you want to send to the destination machine. So on the source you can issue the following command:

tar jlcvPpf - / > /dev/tcp/192.168.0.2/6666

In the example above 192.168.0.2 is the address of the destination address and the forward slash indicates that it is the entire filesystem to be backed up. You can easily change this for example to tar jlcvPpf – /var/www > /dev/tcp/192.168.0.2/6666 to backup the /var/www directory. If there is no /dev/tcp it is possible to use netcat on both ends

tar jlcPpf - / | nc 192.168.0.2 6666")

http://m.nu/program/util/netcat/netcat.html (« Netcat is a tool that every security professional should be aware of and possibly have in their ‘security tool box’. In May/June of 2000, insecure.org conducted a survey of 1200 Nmap users from the Nmap-hackers mailing list to determine their favorite security tools. Netcat was the second most popular tool, not including Nmap. A quick search on securityportal (www.securityportal.com) found 166 matches of netcat. Most of the matches describe or use netcat in some way. Netcat is a utility that is able to write and read data across TCP and UDP network connections. If you are responsible for network or system security it essential that you understand the capabilities of netcat.Netcat should not be installed unless you have authority to do so. Never install any executable unless you can trust the providor. If possible review the source and compile it yourself. To be safe only use netcat in a test environment. »..Nous voilà avertis ! Et voila des commandes bien puissantes: « 

Remote command prompt anyone?

On a Windows NT server issue the following command in the directory that contains netcat:

nc -l -p1234 -d -e cmd.exe –L

This –l puts netcat into listen mode, the -p1234 tells netcat to use port 1234, the –d allows netcat to run detached from the console, the –e cmd.exe tells netcat to execute the cmd.exe program when a connection is made, and the –L will restart Netcat with the same command line when the connection is terminated.

On the client system issue the following command:

nc destination 1234

This command causes netcat to connect to the server named destination on port 1234. Immediately you are given a console connection to the destination server. Be careful! To exit the remote console session type:

exit

You will be returned to your own console and will be able to reconnect to the destination server because netcat was started on the destination server with the –L option.

Sur GNU/Linux: (http://linuxfr.org/forums/26/16634.html)

Coté serveur:
——————
$> nc -u -l -p -e /bin/bash

Coté client:
—————
$> echo | nc -u <serveur IP> -w1

FTP & drive mapping blocked?

To receive a file named newfile on the destination system start netcat with the following command:

nc –l –p 1234 >newfile

On the source system send a file named origfile to the destination system with the following command:

nc destination 1234 <origfile

Issue a ^C on the source system and your done. Be sure to check the file to be sure it is the same size as the original. »)
Liens:

http://fr.wikipedia.org/wiki/Disques_durs (« Le disque dur ou Hard Disk Drive est une mémoire de masse magnétique. Il a remplacé efficacement les tambours (aujourd’hui obsolètes) et les bandes, qui sont utilisées de nos jours uniquement pour l’archivage et la sauvegarde. »)

http://www.cgsecurity.org/wiki/Articles

  1. PhotoRec versus Foremost: Récupération de fichiers (Juin 2006)
  2. PhotoRec: Récupération de fichiers dissimulés sur un cdrom (Juin 2007)

http://fr.wikipedia.org/wiki/Sauvegarde (« En informatique, la sauvegarde (backup en anglais) est l‘opération qui consiste à dupliquer et à mettre en sécurité les données contenues dans un système informatique. Par extension et par emprunt à l’anglais (to save), ce mot s’applique à tout enregistrement d’information sur un support permanent (par ex. l’écriture sur disque dur d’informations en mémoire vive). Dans ce sens, il est synonyme de « stockage d’information ». Mais le sens premier se rapproche de celui d’archivage, de conservation. »… »La sauvegarde s’inscrit dans une démarche plus globale qui consiste à assurer la continuité d’activité d’un système informatique ou, en cas de défaillance, son redémarrage le plus vite possible. Cette démarche est souvent formalisée dans un document qui peut porter des noms divers, par exemple le « PRA » (plan de reprise d’activité) ou le « PS » (plan de secours), et qui fait appel soit à des automatismes (ex. donner l’alerte en cas de coupure de courant ou de perte d’accès à une unité de stockage) soit à des gestes manuels (ex. remplacer des bandes magnétiques défectueuses). La tendance est à l’automatisation, réputée plus sûre dans les situations d’urgence que les opérations manuelles. »

http://fr.wikipedia.org/wiki/Master_boot_record (« Le Master Boot Record ou MBR Zone amorce« ) est le nom donné au premier secteur adressable d’un disque dur (cylindre 0, tête 0 et secteur 1, ou secteur 0 en adressage logique) dans le cadre d’un partitionnement Intel. Sa taille est de 512 octets. Le MBR contient la table des partitions (les 4 partitions primaires) du disque dur. Il contient également une routine d’amorçage dont le but est de charger le système d’exploitation (ou le boot loader/chargeur d’amorçage s’il existe) présent sur la partition active.« )

http://en.wikipedia.org/wiki/ISO_image (« An ISO image (.iso) is a disk image of an ISO 9660 file system. More loosely, it refers to any optical disc image, even a UDF image. As is typical for disc images, in addition to the data files that are contained in the ISO image, it also contains all the filesystem metadata, (boot code, structures, and attributes). All of this information is contained in a single file. These properties make it an attractive alternative to physical media for the distribution of software that requires this additional information as it is simple to retrieve over the Internet. Some of the common uses include the distribution of operating systems, such as Linux or BSD systems, and LiveCDs. »… dd (Unix)Linux/UNIX built-in command doing low-level copy, including generating ISO image from a CD.

    • ISO files can be mounted directly in Linux with the single command: mount -o loop -t iso9660 filename.iso /mnt/iso (assuming the directory /mnt/iso exists).
    • ISO images can also be made in Linux with simple commands: mkisofs -J -o filename.iso directory name. Using -J preserves the Windows Joliet) extensions, meaning the data in the directory should be readable on Windows systems. »

http://en.wikipedia.org/wiki/ISO_Master (« ISO Master is an open source application for Linux and BSD for creating and modifying ISO9660 files (ISO images).The first version was released as a working beta in August 2006 – a GTK-based GUI for the newly developed bkisofs (a library for reading and writing ISO9960 files in user space, including Joliet, RockRidge, and El Torito extensions) »

http://en.wikipedia.org/wiki/Isolinux (« The SYSLINUX Project covers a suite of lightweight bootloaders, for starting up computers in the Linux operating system. It is the work of H. Peter Anvin, and consists of several separate systems:

  • the original SYSLINUX, used for booting from FAT filesystems (usually floppy discs);
  • ISOLINUX, used for booting from CD-ROM ISO 9660 filesystems;
  • PXELINUX, used for booting from a network server using the Pre-boot eXecution Environment (PXE) system;
  • EXTLINUX, used to boot from Linux ext2/ext3 filesystems;
  • MEMDISK, used to boot older operating systems like MS-DOS from these media;
  • two separate menu systems; and
  • a development environment for additional modules.

SYSLINUX is not normally used for booting full Linux installations since Linux is not normally installed on FAT filesystems. Instead, it is often used for boot or rescue floppy discs, or other lightweight systems. ISOLINUX is generally used by Linux LiveCD and bootable install CDs. »)

http://en.wikipedia.org/wiki/Netcat (« In computing, netcat is a network utility for reading from and writing to network connections on either TCP or UDP. It is designed in a thin and simple way, which makes it easy to incorporate in larger applications. Because of its versatility, netcat is also called the « TCP/IP Swiss Army knife« .Netcat was twice voted the fourth most useful network security tool in polls conducted by insecure.org on the nmap users mailing list[1]« )

http://fr.wikipedia.org/wiki/Administrateur_syst%C3%A8me (« Un administrateur système est un informaticien responsable des serveurs d’une organisation (entreprise, association, administration). Ses tâches comprennent l’installation, le paramétrage, le maintien, la mise à jour, l’évolution, la sauvegarde, la restauration, la planification, la supervision, le conseil, le support et la veille technologique dans le périmètre technique des matériels et logiciels de type serveur, principalement les systèmes d’exploitation. Il a parfois la tâche de l’administration du réseau et/ou de l’administration des bases de données dans des organisations de petite taille. Il travaille au sein d’une DSI (Direction des Systèmes d’Information) ou d’une SSII (Société de Services en Ingénierie Informatique).
Il intervient auprès du DSI (Directeur des systèmes d’information), des DBA (Database Administrator, administrateur de bases de données), des administrateurs réseau, des webmasters et apparentés, des développeurs, des responsables bureautique (postes de travail) et enfin des usagers.
« )

http://en.wikipedia.org/wiki/System_administrator

http://guides-info.org/linux/admin/outils_sauvegarde.php (« Sauvegarder… LA tache que beaucoup repoussent… jusqu’à ce qu’une fausse manip ou une panne matérielle le leur fasse, souvent chèrement, regretter. Heureusement pour les prévoyants, il est excessivement simple de sauvegarder un (des) dossier(s), une partition ou même un disque dur complet, qu’ils soient linux, windows ou autre« )

http://www.inference.phy.cam.ac.uk/saw27/notes/backup-hard-disk-partitions.html (« It’s often useful to make an image of either an entire hard disk or an entire partition. One reason is to duplicate an installed system onto another PC (probably over a network connection); another is to make a backup of your complete hard disk including every aspect of the installed operating systems, which you can restore if you have to replace your hard disk or if you screw things up. Typically it’s useful to be able to transfer these images over the network to another machine, although you may want to save images onto a different partition or hard disk…There is a open source Linux program called partimage which is similar to Ghost, but I prefer to make backups using basic tools which I know will always be to hand, and in a pure format which I understand. My preferred solution in some situations is to use raw linux commands. The backup technique uses linux, but you don’t have to have linux installed on your computer to do this, and you can use this technique to backup partitions containing any filesystem« )

dd if=/dev/hda1 bs=1k conv=sync,noerror | gzip -c | ssh -c blowfish user@hostname "dd of=filename.gz bs=1k"

This instructs dd to read the contents of /dev/hda1 (the first partition). conv=sync,noerror tells dd that if it can’t read a block due to a read error, then it should at least write something to its output of the correct length. Even if your hard disk exhibits no errors, remember that dd will read every single block, including any blocks which the OS avoids using because it has marked them as bad. So don’t be too surprised if dd seems to struggle to read some blocks. (But see the next section for a better way of handling this situation).

bs=1k sets the block size to be 1k. I’m not quite sure what the optimal value is, but it needs to be no larger the the block size for the disk, otherwise a bad block may mask the contents of a good one. 1k is a safe bet.

In the above example the output of dd is piped through gzip to compress it. We then pipe the compressed data stream over an ssh connection to another linux machine (which may also be running Knoppix – see Knoppix notes below). If you wanted to write straight to a local file, you could either just add of=filename to the first dd command (to write an uncompressed image), or if you want to compress it, just redirect the output of the gzip to a filename.

Continuing with our explanation, the -c blowfish option to ssh selects blowfish encryption which is much faster (useful since we’re sending tons of data) than the default. Finally another dd command is invoked on the remote machine to read the data stream and write it to a file there. Alternatively you could pipe it through gunzip -c and write it straight to a partition on the remote machine instead of to a file.

Note that, as long as its not compressed, you should be able to mount a file containing a single partition’s image using a loopback device in linux. (With a little more jiggery-pokery to find the correct offset, you can also mount partitions within a whole-disk image; see here).

Restoring partitions

The restore procedure is fairly similar. For example, on the machine with the image on it, you might do something like:

dd if=filename.gz | ssh -c blowfish root@deadhost "gunzip -c | dd of=/dev/hda1 bs=1k". This assumes you have linux (e.g. Knoppix) running on the target machine with an ssh server running. See ‘Knoppix tips’, below. Note that you should not include conv=sync,noerror in the restore dd – doing so can, in certain situations, corrupt the data being written, since it instructs dd not to wait for more data to arrive from the network or filesystem if a whole block isn’t available.

The partition needs to already exist before you do this, and needs to be large enough to take all the data. If it’s too big, that doesn’t matter, you’ll just be wasting space at the end. You should then be able to grow the filesystem to fill that extra space. For ext2 filesystems, try using the ext2resize tool. You may also be able to persuade the partition editing tool parted to do this, since it can handle resizing most filesystems.

Alternative to ssh

If you’re on a trusted network, you might think it silly to go to trouble of encrypting and unencrypting all that data with ssh. Yet these days your machines are probably not configured to allow rsh connections. nc (a.k.a. netcat) is one option here: it just sends raw streams of data across a network. On the destination machine you could run nc -l -p 10001 > imagefile to start a process which will listen on TCP port 10001 and dump everything it receives from the first thing to connect to it to imagefile. Then on the source machine, pipe the output of dd (or gz, or whatever) to nc remote 10001 where remote is the name or IP address of the destination machine.

File-level backup techniques

Backing up entire partitions or disks is most useful when replacating systems across hard disks or when backing up partitions containing operating systems which are otherwise hard to fully backup. For more every-day backups of your data, a file-level method is more appropriate. Here are some handy tools for doing backups over a network to a remote machine in various clever ways:

http://doc.ubuntu-fr.org/tutoriel/sauvegarder_home_avec_grsync ( Sauvegarder « /home » avec Grsync, l’interface graphique de rsync)

http://doc.ubuntu-fr.org/applications/sauvegarde_d_une_partition (« Sauvegarder une partition permet de restaurer, si besoin, l’intégralité du système de fichiers qu’elle contient au moment de la sauvegarde. Ce principe est souvent utilisé pour sauvegarder l’intégralité d’un système d’exploitation ( appelé aussi backup ) . Cela ne semble pas adapté à la sauvegarde de documents personnels où l’on préférera backup-manager« )

 

Posted in Administration système, GNU/Linux, Récupération de données | 1 Comment »