Gestion de Stockage
Gestion de Stockage
Gestion de Stockage
- Open Source-
• Avantages
• Mettre à l’abri certaines données stratégiques comme « /home »
• La défaillance du disque hdb n’entraîne pas une réinstallation totale
Rappel: points de montage
• Tant qu’ils ne sont pas effectués, le système de fichiers est
inaccessible
• Ils sont réalisés automatiquement au démarrage du système
• Seulement ceux qui figurent dans le fichier « /etc/fstab »
• Il est possible de créer un point de montage manuellement
• Pour les clés USB ou le CDROM par exemple
• En utilisant la commande « mount »
• Et « umount » pour supprimer le point de montage
Le Logical Volume Manager est un système de gestion très perfectionné des supports
de stockage. Le but est de dépasser la gestion physique des disques, et leur
organisation logique basique (les partitions) pour étendre la capacité globale des
supports, à l’aide d’une gestion entièrement logique de celle-ci.
Initiation au LVM
Le LVM regroupe les disques physiques, ou tout autre support de stockage dit
physique (disque, RAID matériel, RAID logiciel, support de stockage en provenance
d’un SAN), qu’il appelle des volumes physiques PV (Physical Volume) en un groupe de
volumes VG (Volume Group). Ce groupe VG est vu par le LVM comme une sorte de
métadisque, dans lequel vous allez créer des volumes logiques LV (Logical Volume) à
volonté.
Initiation au LVM
La configuration du LVM est située dans les fichiers et répertoires présents dans
/etc/lvm. Le fichier /etc/lvm/lvm.conf contient la configuration globale. La
configuration des différents volumes (physiques, groupes et logiques) ne se trouve
pas dans un fichier, mais dans une structure présente au sein des périphériques eux-
mêmes, dans les premiers blocs : ce sont les métadatas des volumes physiques.
Créer un volume physique
Un volume physique peut être un disque complet ou une partition classique au sein
d’un disque.
# fdisk -l /dev/sdb
Créer un volume physique
Une fois les partitions créées, utilisez la commande pvcreate sur une première
partition (plusieurs partitions peuvent être précisées) :
# pvcreate /dev/sdb2
# pvdisplay /dev/sdb2
...
PE Physical Extend
Pour créer un groupe de volumes, vous devez disposer d’au moins un volume
physique. Vous pouvez créer un groupe de volumes avec la commande vgcreate. Un
groupe de volumes porte un nom, celui que vous voulez. C’est le premier argument
de la commande. Vous passez ensuite comme argument la liste des volumes
physiques composant le groupe de volumes, ici un seul, /dev/sdb2.
# vgdisplay vg01
...
Créer un volume logique
• il est possible d’agrandir un LV tant qu’il reste des PE de libres dans le VG.
• il est possible de réduire un LV, ce qui libérera des PE dans le VG, utilisables pour
créer de nouveaux LV ou pour les agrandir.
Créer un volume logique
Vous créez un volume logique avec la commande lvcreate. Un volume logique porte
un nom, dispose d’une taille exprimée soit en extensions logiques LE (Logical
Extension) qui sont la représentation des PE au sein d’un LV, soit en Ko, Mo, Go… La
commande suivante crée un volume logique appelé data01 au sein du VG vg01, d’une
taille de 6 Go. Le -L précise que l’unité est en Mo (m), Go (g), To (Teraoctet, t), Po
(Petaoctet), ou Eo (Exaoctet). Pour préciser un nombre de PE, utilisez « -l ».
Les propriétés d’un volume logique sont accessibles par la commande lvdisplay
# lvdisplay /dev/vg01/data01
La commande lvextend autorise les paramètres -l (nombre d’extensions logiques LE) ou -L comme
pour lvcreate. Vous précisez ensuite la nouvelle taille du LV ou, si vous rajoutez un + en préfixe, la
taille additionnelle souhaitée. Vous pouvez aussi préciser, en dernier argument, le nom du PV sur
lequel forcer l’extension du LV (c’est aussi possible avec lvcreate). Ca ne marchera que si le ou les
PV précisés disposent d’assez de PE.
La commande suivante rajoute 1536 LE (4x1536=6144 Mo soit 6 Go) dans data01 :
# lvextend -l +1536 /dev/vg01/data01
Extending logical volume data01 to 12,00 GB
Logical volume data01 successfully resized
Agrandissements et réductions
La commande resize2fs peut être utilisée à chaud, c’est-à-dire système de fichiers monté,
pour les agrandissements. Il faudra par contre démonter le système de fichiers pour le
réduire.
# resize2fs /dev/vg01/data01
Agrandissements et réductions
Réduire un volume logique
Pour réduire la taille d’un volume logique, vous devez procéder dans cet ordre :
Le système de fichiers ne peut être réduit que s’il n’est pas monté démontez-le :
# umount /mnt/data01
Réduire un volume logique
# fsck -f /dev/vg01/data01
Réduire un volume logique
# resize2fs /dev/vg01/data01 4G
Réduire un volume logique
# umount /data01
# umount /data02
Supprimer un volume logique
# vgreduce -a vg01
Can’t remove final physical volume "/dev/sdb2" from volume group "vg01"
Vous pouvez détruire les informations contenues dans le volume avec la commande
pvremove. Cependant, si vous détruisez la partition via fdisk ou que vous créez un
système de fichiers dessus, l’effet est le même.
Partitionnement avancé RAID
RAID-5 : RAID avec bande de parité redistribuée. C’est le mode le plus utilisé
car c’est celui qui offre le meilleur compromis entre le nombre de disques,
l’espace disponible et la redondance. Il faut au moins trois disques avec
d’éventuels disques de secours. La parité est présente sur chacun des
disques. La taille finale est celle de N-1 disques. Le RAID-5 survit à une
panne de disque. Dans ce cas, si un disque de secours est présent, il sera
automatiquement reconstruit. Les performances en lecture sont équivalentes
à celles du RAID-0 tandis qu’en écriture, elles dépendent de l’algorithme
employé et de la mémoire de la machine.
Périphériques RAID
Une matrice RAID est reconnue par le système comme un périphérique de type
bloc, comme n’importe quel disque physique. Ainsi, un RAID peut être constitué
avec des disques, des partitions (généralement, on crée une unique partition sur
chaque disque). Le bus n’a aucune importance : vous pouvez construire une
matrice RAID avec des disques SCSI et IDE mélangés. De même, on peut construire
du RAID sur d’autres matrices RAID. Les périphériques RAID sont sous la forme :
• /dev/md0
• /dev/md1
RAID avec mdadm
/dev/sdb1 /dev/sdc1
C’est le même principe. Vous allez cette fois rajouter une partition de
secours /dev/sdd1.
RAID-0+1
Il faut au moins quatre partitions. Vous devez créer deux matrices RAID-1 que vous
allez regrouper en une matrice RAID-0.
Les quotas permettent de poser des limites à l’utilisation de systèmes de fichiers. Ces
limites sont de deux types :
Les quotas sont implémentés par système de fichiers individuel et pas pour
l’ensemble des systèmes de fichiers. Chaque utilisateur peut être géré de manière
totalement indépendante. Il en est de même pour les groupes. Pour chaque utilisation
(inode ou bloc), vous pouvez mettre en place deux limites dans le temps :
Les quotas disques
Limite dure (hard) : quantité maximale d’inodes ou de blocs utilisés que l’utilisateur
ou le groupe ne peuvent absolument pas dépasser. Dans ce cas, plus rien ne sera
possible (création de fichier ou fichier dont la taille dépasse la limite).
Les quotas disques
Limite douce (soft) : quantité maximale d’inodes ou de blocs utilisés que l’utilisateur
ou le groupe peuvent temporairement dépasser. Dans ce cas, les créations et
modifications seront possibles jusqu’à un certain point : limite dure et délai de grâce.
Les quotas disques
Un délai de grâce est mis en place. Durant ce temps, l’utilisateur peut continuer à
travailler sur le système de fichiers. Le but est qu’il revienne à terme sous la limite
douce. Le délai dépassé, la limite douce devient la limite dure. Quoi qu’il arrive,
l’utilisateur ne pourra jamais dépasser la limite dure.
Les quotas disques
Mise en place
Vous allez mettre en place les quotas sur la partition /home en respectant les étapes
suivantes :
Les quotas disques
Modifiez les options de partition dans /etc/fstab. On rajoute dans les options
usrquota (utilisateur) ou grpquota (groupe), ou les deux.
Créez les fichiers contenant les informations de quota (base de données de quotas).
# cd /home
# quotacheck -c /home
Les quotas disques
Démarrez (ou arrêter) les quotas. Cette opération n’est pas nécessaire après un
redémarrage de Linux car la mise en place des quotas est comprise dans les scripts de
démarrage. La commande quotaon démarre les quotas pour le système de fichiers
indiqué (-a pour tous). La commande quotaoff stoppe les quotas.
#quotaon /home
Les quotas disques
Éditez les quotas pour les utilisateurs ou les groupes. La commande edquota est
utilisée. En pratique, si tous les utilisateurs doivent avoir les mêmes quotas ou avec
quelques variantes, on crée un utilisateur lambda dont on recopiera les propriétés.
Les quotas disques
# edquota -u Ahmed
Les quotas disques
# edquota -t
Les quotas disques
Vérifiez les quotas. Les utilisateurs peuvent vérifier l’état de leurs quotas avec la
commande quota. L’administrateur peut générer un rapport avec repquota. Enfin la
commande warnquota qui peut être exécutée via cron peut envoyer un mail aux
utilisateurs pour les prévenir en cas de dépassement.
Les quotas disques
# quotacheck -avug
Access control lists (ACLs) Linux
Les droits standards et les droits étendus sont des fonctionnalités intéressantes mais
qui ne s'applique que pour un seul utilisateur ou un seul groupe. Comment définir
des permissions spécifiques, voire différents, pour d'autres utilisateurs ou groupes
que les propriétaires ? Les ACLs offrent une réponse à cette question.
Access control lists (ACLs) Linux
Visualiser les permissions ACLs
# mkdir /opt/partage
# ls -ld /opt/partage
drwxr-xr-x. 2 root root 6 23 fév 20:16 /opt/partage
# getfacl /opt/partage
file: /opt/partage
owner: root
group: root
user::rwx
group::r-x
other::r-x
Access control lists (ACLs) Linux
Ajouter un ACLs à un répertoire¶
# setfacl -m g:omega:rx /opt/partage
# setfacl -m u:alfa:rwx /opt/partage
# getfacl /opt/partage
file: /opt/partage
owner: root
group: root
user::rwx
user:alfa:rwx
group::r-x
group:omega:r-x
other::r-x
TP