26/02/16
Depuis l’outils de configuration, ajoutez un disque dur de 10Go avec une taille fixe et ajoutez le à l’instance virtualisée.
Le but de ce chapitre est d’ajouter et de partitionner un disque de façon à obtenir la structure suivante :
Partitionner le disque avec la commande:
“‘fdisk’”.
Par exemple,pour créer la première partition dédiée à:
“‘/data/eleves’”:
fdisk
# fdisk /dev/<disque>
Command (m for help): n // nouvelle partition
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-522, default 1): [entrer]
Last cylinder, +cylinders or +size{K,M,G} (1-522, default 522): +250M
Command (m for help): p // affiche la table des partitions
[...]
Device Boot Start End Blocks Id System
/dev/sdb1 1 33 265041 83 Linux
[...]
Command (m for help): w // enregistrer les modifications !
Formater les partitions en ext4 avec la commande :
“‘mkfs.ext4’”.
Créer les points de montage “‘/data/eleves’”, “‘/data/profs’”, “‘/data/intervenants’” et “‘/backups’”.
Monter manuellement les cinqs systèmes de fichiers avec la commande :
“‘mount’”.
Affichage
Il existe plusieurs façon d’afficher les systèmes de fichiers montés. Par exemple, exécuter et comparer :
# df -h
# mount (sans option)
# cat /etc/mtab
Gestion démarrage
Grâce au fichier “‘/etc/mtab’”, mettre à jour le fichier “‘/etc/fstab’” pour que les montages soient effectués automatiquement au boot de la machine.
Vous pouvez redémarrer la machine virtuelle pour vérifier.
Nouveau montage
Créer du contenu dans “‘/data/eleves’” (se servir, par exemple, des commandes : ‘mkdir’, ‘touch’ et ‘vim’).
La commande “‘dd’” permet de copier tout ou une partie d’un disque par blocs d’octets. La syntaxe est la suivante (regarder l’aide pour plus de détails) :
# dd if=<fichier_src> of=<fichier_dest> bs=<taille_des_blocs>
/!\ Note : Lorsque dd est utilisé sur un système de fichier, ce dernier doit être démonté (commande “umount”) !
Sauvegarde
Avec ‘dd’, effectuer une sauvegarde physique de la partition “‘/data/eleves’” dans “‘/backups/’”. A l’issue de la sauvegarde, remonter la partition.
Avec la commande “‘du -sh
Vous pouvez compresser ce fichier avec des utilitaires tels que “‘gzip’”, “‘bzip2’” ou “‘xz’”.
Opérations préalable
Supprimer l’intégralité des fichiers contenus dans la partition “/data/eleves”, et restaurer cette dernière en une seule commande.
C’est à dire que cette commande décompressera et copiera les données à la volée (en utilisant un/des pipes ‘|’ dans votre commande).
Vérifier que les fichiers créés au sont à nouveau disponibles.
Logical Volume Management (LVM)
Pré-requis : Ajouter un deuxième disque dur de 4Go. Ce disque sera utilisé dans ce chapitre.
Le but de ce chapitre est d’obtenir la structure suivante pour les répertoires personnels. Chaque classe (M1, M2, etc.) aura un volume logique qui lui sera dédié.
/home/M1
/home/M2
/home/MTN
fdisk
Avec la commande “‘fdisk’” sur le nouveau disque “‘/dev/sdc’”, créer une partition unique correspondant à la taille totale du disque. Modifier son type en “Linux LVM”.
pvcreate
Avec la commande “‘pvcreate’”, initialiser cette partition pour l’utiliser dans un groupe de volume LVM.
vgcreate
Avec la commande “‘vgcreate’”, insérer ce volume physique dans un nouveau groupe de volumes nommé “‘vg00’”. Vous pouvez vérifier la taille du nouveau groupe de volumes avec la commande “‘vgdisplay’”.
lvcreate
Avec la commande “‘lvcreate’”, découper dans ce groupe de volumes, trois volumes logiques de 1G. Vérifier le résultat avec la commande “‘vgdisplay -v’”.
Format
Formater ces partitions en ext4 et les monter dans les points de montages ‘/home/M1’, ‘/home/M2’ et ‘/home/MTN’. Mettre à jour de fichier fstab.
lvextend
Imaginons que les élèves de M2 aient besoin de 500Mo supplémentaires, agrandir le volume logique correspondant avec “‘lvextend’”.
Et étendre la partition avec “‘resize2fs’”. Vérifier la nouvelle taille avec la commande “‘df -h /home/M2’”.
Les élèves de M1 ont besoin de 1 Go supplémentaire mais il n’y a plus assez d’espace sur le groupe de volumes (il manque 500M).
Pré-requis :
Le but de ce chapitre est de mettre en oeuvre un RAID 1 logiciel. C’est à dire mettre les deux disques dur de 4 Go en “miroir”.
mdadm
Avec la commande “‘mdadm’”, créer le fichier device “‘/dev/md0’” qui sera un RAID de niveau 1, des deux disques ‘/dev/sdb’ et ‘/dev/sdc’ :
mdadm --create /dev/md0 --level 1 --raid-devices=2 /dev/sdb /dev/sdc
suivie
Suivre l’état d’avancement de la construction du RAID avec le commande :
# watch cat /proc/mdstat
Créer une partition sur le nouveau disque logique “‘/dev/md0’”, la formater et la monter dans “‘/mnt’”.
Créer des fichiers dans “‘/mnt’”.
Tester
Pour tester le RAID, simuler une panne sur le disque ‘’sdc’’ :
mdadm --manage --set-faulty /dev/md0 /dev/sdc
Vérifier l’état du RAID (et notamment l’état du disque en panne) avec la commande :
mdadm --detail /dev/md0
Suppression
Enlever du RAID le disque défectueux (et vérifier avec la commande du 4.6) :
mdadm /dev/md0 -r /dev/sdc
Après cette étape, dans un cas réel, le disque pourrait physiquement être enlevé puis remplacé sans qu’aucune donnée ne soit perdue !
Remettre le disque ‘sdc’ dans le RAID (vérifier les messages des commandes du et 4.2) :
mdadm /dev/md0 -a /dev/sdc
Votre ami(e) a malencontreusement effacé des photos de son disque dur. Heureusement, vous avez démonté le système de fichier (ext4) à temps, et fait une copie bloc à bloc de la partition concernée dans l’optique de récupérer ces données plus tard. Cette sauvegarde est disponible à l’adresse https://isen.gastier.net/sda4.img.gz.
Rapatrier ce fichier sur votre machine virtuelle :
# $wget --user="isen" --password="isen2018" https://isen.gastier.net/sda4.img.gz
Il s’agissait de photos au format PNG. Ce format a comme magic number “‘89 50 4e 47 0d 0a 1a 0a’” (cf. liens 1 et 2), en d’autres termes, cela signifie que tout fichier de ce type commence par cette séquence d’octets. Et il finit par un IEND chunk identifiable par la séquence “‘00 00 00 00 49 45 4E 44 42 60 82’” (cf. liens 3 et 4).
Préambule
Dans un premier temps, monter le fichier comme une partition (en utilisant l’option “‘-o loop’” de “‘mount’”) et vérifier que les fichiers ont bien été effacés. Quelle est la cause de l’effacement ?
Ensuite, démonter le fichier et tenter de récupérer les photos effacées. S’aider des utilitaires suivants :
* Editeur hexadecimal pour afficher le contenu d'un fichier en
hexadécimal:
# hexdump -C <fichier>
* Calculatrice hexadécimal (le résultat est en base 10 et attention aux
majuscules)
# bc
ibase=16
2B-0F
28
* Copie une partie d'un fichier dans un autre (dans l'exemple
ci-dessous, le fichier de destination contiendra les 5 octets après
l'offset de 20 octets du premier fichier) :
# dd if=<fichier_src> of=<fichier_dst> bs=1 count=5 skip=20
Propal
Proposer une technique (théorique) pour effacer un fichier de façon sécurisée, càd sans qu’il ne reste de traces sur le système de fichier.
Proposer ou écrire un utilitaire qui efface efface de façon sécurisée.