Linux part 7 – Les disques

La théorie:

Un disque dur est composé de plusieurs éléments :

disk600px-Disk-structure.svg

Structure d’un disque : (A) piste, (B) secteur géométrique, (C) secteur d’une piste, (D) bloc

FS-01

– Des plateaux: Plateaux circulaires coaxiaux entraînés en rotation par un moteur électrique et recouverts d’une couche de matériau magnétique qui permet l’enregistrement de données.
– Un cylindre : L’ensemble des données situées sur une même pistes et sur des plateaux différents.
– Des pistes (sur les 2 faces) : Données organisées en cercles concentriques, créées par un formatage bas niveau.
– Des secteurs (de 512 octets en général) : Le secteur est la plus petite unité physique de stockage sur un support de donnée. Sa capacité est au minimum de 512 octets.
– 1er secteur = MBR (primary loader) : Nom donné au premier secteur adressable d’un disque dur (cylindre 0, piste 0 et secteur 0, en adressage logique). Il contient la table des partitions.
– Des partitions primaires (4) : Les partitions primaires sont les partitions dont la description est contenue dans le MBR du disque
– Des partitions étendues (peut contenir une suite de partition logique) : Fractionnement d’une seule, des quatre partitions primaires (Il est recommandé que la partition étendue soit la dernière partition créée dans le disque.).

Caractéristique d’une partition:

FS-02

– Elle peut être primaire, étendue ou logique
– La plage de cylindres utilisée, correspond à sa taille en secteur
– Un flag indique si la partition est active

L’identificateur de partition (tag), spécifie l’utilisation de la partition

Sur un ordinateur de type PC, l’identificateur associé à chaque partition permet de connaître quel type de système de fichier elle abrite.

(83)    Système de fichier Linux
(82)    Un espace de Swap (extension de la mémoire)
(5)     Une partition étendue
(7)     Une partition NTFS
(8e)    Une partition LVM

Les commandes:

– fdisk               L’outil de partitionnement des disques
– sfdisk             Commande de partitionnement scriptable
– parted           Commande de partitionnement, permet de conserver les données
– gparted         Forme graphique de la commande précédente
– cfdisk             Commande de partitionnement en mode texte plein écran
– partprobe    Informe le système que les tables de partition ont été modifiées

Notion de FS:

Un FS est stocké dans une partition, un volume logique, un cdrom, une clef USB, en mémoire ou dans un fichier

FS – tables système:

Un FS est composé de différentes tables systèmes
– Le super-bloc qui contient les données générales (taille, monté ou non, …)
– La table des inodes qui contient la table de description et d’allocation des fichiers
Chaque inodes (fichier) est repérée par un numéro (le numéro d’inode).
– Un répertoire est une table de correspondance entre le nom de fichier et le numéro d’inodes.

Un FS est limité en blocs mais aussi en inodes.

Le nombre d’inode indique le nombre de fichier que l’on peut créer dans un FS.

Les différents types de FS:

ext2              L’ancien FS standard Linux.
ext3              Le nouveau standard, plus tolérant aux pannes
iso9660      Le FS utilisé par les cdrom et DVD
reiserfs        Le FS standard de SUSE
xfs                 FS très répandu, notamment Debian
nfs                 FS réseau standard des systèmes UNIX
smbfs           FS réseau standard des systèmes Windows
vfat, ntfs     FS des systèmes Windows

Les commandes :

– mkfs            Créer un FS (formate une partition)
– fsck              Vérifie/répare un FS
– mount         Monte un FS
– umount      Démonte un FS
– df                   Liste les FS montés, la place libre
– du                  La taille occupée par une arborescence
– lsof                Liste des fichiers ouverts, permet de connaitre les applications accédant à un FS
– e2label        Met une étiquette (label) à un FS.

Le fichier /etc/fstab:

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1             /                          ext4          defaults           1       1
LABEL=/             /                           ext4          defaults           1       1

– La partition qui abrite le FS ou son étiquette
– Le répertoire de montage
– Son type
– Les options de montage, defaults  (montage auto au démarrage en lecture/écriture)

# Listez les différents disques

p.lima@linux:~# sfdisk -s

# Listez l’ensemble des partitions

p.lima@linux:~# fdisk -l

# Listez les partitions d’un disque

p.lima@linux:~# fdisk -l /dev/sda

# Listez les FS montés et l’espace libre

p.lima@linux:~# df -Th

# A quel FS appartient un fichier

p.lima@linux:~# df fichier

# créer un FS dans un fichier

p.lima@linux:~# dd if=/dev/zero of=/root/fs_ext3.img bs=1M count=1024

p.lima@linux:~# ls -lh /root/fs_ext3.img

# On formate un fichier en ext3
# -F forcer le formatage pour un fichier
# -j demande la création du journal

p.lima@linux:~# mkfs -F -j /root/fs_ext3.img

# Monter le FS dans le répertoire /mnt/disk

p.lima@linux:~# mount -t ext3 -o loop /root/fs_ext3.img /mnt/disk

# Visualisez le nombre de blocs

p.lima@linux:~# df

# Visualisez les inodes libres sur le FS

p.lima@linux:~# df -i

# Vérifier le FS

p.lima@linux:~# fsck /root/fs_ext3.img

# Démonter le FS pour effectuer la vérification

p.lima@linux:~# umount /mnt/disk

# Vérifier le FS

p.lima@linux:~# fsck /root/fs_ext3.img

# Forcer la vérification en profondeur

p.lima@linux:~# fsck -f /root/fs_ext3.img

# Ajouter le FS à la fstab

/root/fs_ext3.img   /www    ext3    defaults,loop   0 0

# Rescan des nouveaux disques

#     « # »  numéro du bus scsi 0 à 5
echo « – – – » > /sys/class/scsi_host/host#/scan
ou
for i in /sys/class/scsi_host/*; do echo « – – – » > $i/scan; done

# Créer un FS dans une partition

# Créer une partition

p.lima@linux:~# fdisk /dev/sda

Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

Les inodes

L’inode est une structure de données contenant des informations à propos d’un fichier stocké dans le systèmes de fichiers. À chaque fichier correspond un numéro d’inode dans le système de fichiers dans lequel il réside. Les inodes peuvent, contenir des informations concernant le fichier, tel que son propriétaire, son type d’accès (lecture, écriture, exécution), etc

# Créer un lien

p.lima@linux:~# ln fichier lienfichier

# Afficher les numéros d’inodes

p.lima@linux:~# ls -lia

Le lien et le fichier on le même numéro d’inode.

# Supprimer le fichier ou le lien ne supprime pas le fichier

p.lima@linux:~# rm fichier

# Créer un lien symbolique

p.lima@linux:~# ln -s fichier liensymboliquefichier

# Afficher les numéros d’inodes

p.lima@linux:~# ls -lia

Le lien et le fichier n’ont pas le même numéro d’inode.

Si on supprime le fichier, il est impossible de reconstituer le fichier depuis le lien symbolique

# Afficher le suivi du lien symbolique

p.lima@linux:~# ls -lia

twitterlinkedin

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*