Dans cette section on présente les manipulations à effectuer
pour préparer une unité de stockage à son utilisation dans une
configuration DAS (et|ou)
SAN.
Avertissement
Les copies d'écran utilisées dans les réponses correspondent à
l'utilisation de machines virtuelles. Les unités de disques
apparaissent donc sous le nom /dev/vd[a-z]. Les unités de disques physiques d'un
système réel apparaissent sous le nom /dev/sd[a-z].
3.1. Afficher
la liste des unité de stockage
Pour commencer, il est utile de connaître la liste des unités de
stockage en mode bloc sur un système.
Q1.
Quelle est
la commande apparentée à ls qui permet d'obtenir la liste
des périphériques de stockage en mode bloc ?
Consulter la liste des outils forunis avec le paquet
util-linux.
Une fois que la commande lsblk est identifiée, on
l'utilise pour obtenir la liste voulue.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
vda 254:0 0 120G 0 disk
├─vda1 254:1 0 512M 0 part /boot/efi
├─vda2 254:2 0 118,5G 0 part /
└─vda3 254:3 0 977M 0 part [SWAP]
vdb 254:16 0 32G 0 disk
Dans le système de fichiers, c'est l'unité /dev/vdb qui doit être utilisée pour les
manipulations de cette section.
3.2. Détruire
la table des partitions
Sachant que les disques des postes de travaux pratiques
physiques sont utilisés régulièrement, il est préférable de rendre
l'unité de disque vierge de toute configuration.
Q2.
Quelle est la syntaxe d'appel de l'outil
parted qui permet de visualiser la
table de partition d'une unité de disque ?
Consulter la documentation de parted à l'adresse Using Parted.
$ sudo parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 77,3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 73,0GB 73,0GB primary ext4 boot
2 73,0GB 77,3GB 4292MB extended
5 73,0GB 77,3GB 4292MB logical linux-swap(v1)
Q3.
Quelle est la syntaxe de la commande
dd qui permet
d'effacer complètement la table des partitions d'une unité de
disque ?
Utiliser l'aide en ligne de la commande : dd --help.
La commande suivante écrit des 0 dans les 4 premiers blocs de
512 octets de l'unité de disque.
Une fois que l'on dispose d'une unité de disque vierge, on peut
passer à l'étape de création de la table des partitions. Cette
opération n'est utile que pour traiter les questions de cette
section.
La création de la table des partitions devra être reprise dans
les deux contextes suivants :
Le second disque du rôle initiator
est destiné à intégrer l'unité logique RAID1. Il faudra donc créer une table de
partition pour la nouvelle unité logique.
Le disque réseau iSCSI est
disponible une fois que la configuration du rôle target est active. Une fois la session
iSCSI établie, l'unité logique
réseau est la propriété exclusive du rôle initiator.
Q4.
Comment créer une partition unique couvrant
la totalité de l'espace de stockage de l'unité de
disque ?
Consulter la documentation de parted à l'adresse Using Parted.
$ sudo parted /dev/vdb
GNU Parted 3.4
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 34,4GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted) mklabel gpt
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 34,4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) mkpart ext4 0% 100%
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 34,4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 34,4GB 34,4GB ext4
(parted) quit
Information: You may need to update /etc/fstab.
Q5.
Quelle est la commande à utiliser pour les
opérations de formatage ? Quel est le rôle de l'option
-T de cette commande ?
Les informations utiles sont disponibles à la page Ext4 Howto. Les pages de manuels détaillent
les fonctions des options.
La commande utilisée pour le formatage d'un système de fichiers
ext4.
L'option -T définit le type
d'utilisation du système de fichiers à formater suivant sa taille.
Les paramètres par défaut sont les suivants :
floppy : 0 < taille <
3Mo
small : 3Mo < taille <
512Mo
default : 512Mo < taille
< 4To
big : 4To < taille <
16To
huge : 16To < taille
Q6.
Quelle est la syntaxe de la commande de
formatage de la partition créée lors de l'étape
précédente ?
Des exemples de syntaxe sont disponibles à la page Ext4 Howto.
$ sudo mkfs.ext4 /dev/vdb1
mke2fs 1.46.2 (28-Feb-2021)
Rejet des blocs de périphérique : complété
En train de créer un système de fichiers avec 8388096 4k blocs et 2097152 i-noeuds.
UUID de système de fichiers=7c582ccd-ce99-43ec-b145-05f043c02fc6
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
Q7.
Quelle est la syntaxe de la commande de
visualisation des attributs du système de fichiers créé lors du
formatage ?
Les informations utiles sur les attributs sont fournies à la
page Ext4 Howto.
$ sudo tune2fs -l /dev/vdb1
tune2fs 1.46.2 (28-Feb-2021)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 7c582ccd-ce99-43ec-b145-05f043c02fc6
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 2097152
Block count: 8388096
Reserved block count: 419404
Overhead clusters: 176700
Free blocks: 8211390
Free inodes: 2097141
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 1024
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Flex block group size: 16
Filesystem created: Sat Aug 21 17:14:07 2021
Last mount time: n/a
Last write time: Sat Aug 21 17:14:07 2021
Mount count: 0
Maximum mount count: -1
Last checked: Sat Aug 21 17:14:07 2021
Check interval: 0 (<none>)
Lifetime writes: 4182 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: df4bc602-36c1-4a6c-8bd0-cc7bc6809114
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0xa952ed62
3.4. Monter
manuellement un volume de stockage
Une fois qu'un volume de stockage a été partitionné et formaté,
on peut le "monter" dans
l'arborescence du système de fichiers du système de façon à pouvoir
lire et écrire des données.
Q8.
Comment obtenir l'identifiant du volume de
stockage à ajouter au système de fichiers ?
Consulter la liste des utilitaires fournis avec le paquet
util-linux. Il faut se rappeler
que la représentation fichier d'un périphérique de stockage se
distingue par son mode d'accès : le mode bloc.
La commande à utiliser est blkid. Dans l'exemple de la
partition /dev/vdb1, on obtient le
résultat suivant.
Dans quel fichier de configuration
trouve-t-on la liste des périphériques montés lors de
l'initialisation du système ?
Consulter la liste des fichiers du paquet util-linux.
Le fichier recherché est /etc/fstab. Il contient la liste des points de
montage. Dans l'exemple ci-dessous, la racine et la partition
d'échange utilisée en cas de saturation des ressources
RAM du système.
Quelle est la commande qui donne la liste
des montages en cours d'utilisation sur le système ? Quelle
est l'option qui permet de scruter les entrées du fichier recherché
dans la question précédente et de monter tous les points non encore
utilisés ?
La commande est fournie par le paquet du même nom.
Le paquet mount fournit la
commande du même nom. Cette commande liste tous les montages actifs
du système. La liste comprend les systèmes de fichiers virtuels qui
représentent l'état courant des paramètres du noyau ainsi que les
systèmes de fichiers physiques qui correspondent aux volumes de
stockage effectifs. En reprenant l'exemple utilisé auparavant et en
filtrant les systèmes de fichiers virtuels, on obtient :
$ mount | grep "/dev/vd"
/dev/vda1 on / type ext4 (rw,relatime,errors=remount-ro)
L'option de montage des entrées inutilisées du fichier
/etc/fstab est -a. Elle doit être utilisée dans la question
suivante.
Q11.
Comment monter manuellement le système de
fichiers de la partition /dev/vdb1 ?
Le répertoire de test pour les montages temporaires est
historiquement /mnt/.
Consulter les pages de manuels de la commande mount.
On dispose d'au moins deux solutions pour désigner la partition
à monter.
Utilser l'identifiant de partition unique.
$ sudo mount -U 7c582ccd-ce99-43ec-b145-05f043c02fc6 /mnt
Utiliser le nom défini par udev
dans le système de fichiers.
$ sudo mount /dev/vdb1 /mnt
Pour terminer, on liste les montages pour vérifier que la
nouvelle partition est bien présente.
$ mount | grep "/dev/vd"
/dev/vda1 on / type ext4 (rw,relatime,errors=remount-ro)
/dev/vdb1 on /mnt type ext4 (rw,relatime)
Q12.
Comment démonter manuellement le système de
fichiers de la partition /dev/vdb1 ?
Consulter les pages de manuels de la commande mount.
L'opération de démontage utilise l'arborescence du système de
fichiers pour désigner le volume de stockage.
$ sudo umount /mnt
$ mount | grep "/dev/vd"
/dev/vda1 on / type ext4 (rw,relatime,errors=remount-ro)