08-formation-niveau2-manipulation-disques - SwOnOff

Transcription

08-formation-niveau2-manipulation-disques - SwOnOff
8 Manipulation des disques
8.1 Obtention de la liste des partitions connues du système
La commande blkid retourne la liste des périphériques de type block connus par le système. Cette
liste inclut la liste des LV d'un éventuel LVM. Exemple :
[root@srv_test ~]# blkid /dev/sda1: PARTUUID="3a05da0e­ee54­4688­95ec­9e97c202536e" /dev/sda3: UUID="Ap0b61­Bf7U­y6HS­vbfo­u6R5­qau7­XwKesq" TYPE="LVM2_member" PARTUUID="152156a9­f347­4f3c­aa66­6666af0576e6" /dev/mapper/vg_srv_test­lv_swap: UUID="aa470cd5­d6b7­4df2­8108­2f9809a15c57" TYPE="swap" /dev/mapper/vg_srv_test­lv_root: LABEL="_srv_test_root" UUID="3ff01c04­58da­
4140­8246­6d42579c3fe3" TYPE="ext4" /dev/mapper/vg_srv_test­lv_home: UUID="569e9ea2­d0fd­44fc­bddd­8fed0b5541ae" TYPE="ext4" [root@srv_test ~]#
Sur la même configuration système, la commande fdisk -l liste l'ensemble des partitions de tous les
disques connus, LV compris. Exemple :
Administration d'un système linux : niveau avancé
36/82
[root@srv_test ~]# fdisk ­l Disque /dev/sda : 250.1 Go, 250059350016 octets, 488397168 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : gpt # Start End Size Type Name 1 2048 4095 1M BIOS boot parti 2 1028096 488396799 232,4G Linux LVM Disque /dev/mapper/vg_srv_test­lv_swap : 2080 Mo, 2080374784 octets, 4063232 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/vg_srv_test­lv_root : 53.7 Go, 53687091200 octets, 104857600 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/vg_srv_test­lv_home : 166.4 Go, 166429982720 octets, 325058560 secteurs Unités = secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets [root@srv_test ~]#
8.2 Interroger LVM
8.2.1 Récupération des attributs d'un Volume Group
La récupération des caractéristiques d'un Volume Group se fait par la commande vgdisplay. Sans
argument, elle retourne les caractéristiques de tous les VG. Si le nom d'un VG est passé en
paramètre, elle ne retourne que les caractéristiques du VG en question. Exemple :
Administration d'un système linux : niveau avancé
37/82
[root@wli­fred ~]# vgdisplay ­­­ Volume group ­­­ VG Name vg_srv_test
System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 232,38 GiB PE Size 32,00 MiB Total PE 7436 Alloc PE / Size 6622 / 206,94 GiB Free PE / Size 814 / 25,44 GiB VG UUID upmWk0­FsJ5­S0n5­raHQ­4ikw­Nvfo­dVXa9d [root@wli­fred ~]#
8.2.2 Récupération des attributs des Physical Volumes
La commande pvdisplay sans argument retourne les caractéristiques de l'ensemble des volumes
physiques connus. Exemple :
[root@srv­test ~]# pvdisplay ­­­ Physical volume ­­­ PV Name /dev/sda3 VG Name vg_srv_test PV Size 232,40 GiB / not usable 21,00 MiB Allocatable yes PE Size 32,00 MiB Total PE 7436 Free PE 814 Allocated PE 6622 PV UUID Ap0b61­Bf7U­y6HS­vbfo­u6R5­qau7­XwKesq [root@srv_test ~]#
8.2.3 Récupération des attributs des Logical Volumes
La commande lvdisplay, sans paramètre, retourne les caractéristiques de l'ensemble des volumes
logiques connus.
Exemple :
Administration d'un système linux : niveau avancé
38/82
[root@srv_test ~]# lvdisplay ­­­ Logical volume ­­­ LV Path /dev/vg_srv_test/lv_swap LV Name lv_swap VG Name vg_srv_test LV UUID 92W0sO­i603­cTes­JvBM­mOen­a0xb­O3uc2R LV Write Access read/write LV Creation host, time , LV Status available # open 2 LV Size 1,94 GiB Current LE 62 Segments 1 Allocation inherit Read ahead sectors auto ­ currently set to 256 Block device 253:0 ­­­ Logical volume ­­­ LV Path /dev/vg_srv_test/lv_home LV Name lv_home VG Name vg_srv_test
LV UUID cfO7yL­cOKf­a6ao­He1s­jGaj­1Gug­ZVdNbt LV Write Access read/write LV Creation host, time , LV Status available # open 1 LV Size 155,00 GiB Current LE 4960 Segments 1 Allocation inherit Read ahead sectors auto ­ currently set to 256 Block device 253:2 [root@srv_test ~]# 8.3 Ajout d'un disque physique à un LVM existant
La plus part des distribution récentes installent le système sur un LVM. Comme dit plus haut, cela a
l'avantage de permettre d'augmenter la capacité disque relativement facilement.
La première chose à faire, est de monter le disque physique. Deux cas se présente :
•
le serveur dispose d'une baie de disque hotplug et il n'y aura pas besoin de redémarrer
Administration d'un système linux : niveau avancé
39/82
•
le serveur ne dispose pas de baie hotplug, et il est alors nécessaire d'arrêter le serveur, de
monter le disque, puis de redémarrer le serveur.
Une fois le disque reconnu par le système, il est nécessaire de créer une partition de type LVM sur
ce disque. Cette opération est réalisée par l'outil fdisk. En admettant que le nouveau disque s'appelle
sdb, on lance la commande
[root@srv_test ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x3657f1c2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help) :
Le message d'erreur est normal. Il précise juste que le disque ne comporte pas de partition valide.
On créé une nouvelle partition par la commande N :
Command (m for help) :n
On choisit une partition de type primaire ;
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
On lui affecte le numéro 1, puis deux fois <ENTER> pour valider les secteurs de début et de fin par
défaut (totalité de l'espace) :
Partition number (1­4, default 1): 1
First sector (2048­41943039, default 2048): Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048­41943039, default 41943039): Using default value 41943039
Il reste à fixer le type LVM à la partition :
Command (m for help) :t
Selected partition : 1
Hex code (type L to list codes) : 8e
Changed system type of partition 1 to 8e (Linux LVM)
Administration d'un système linux : niveau avancé
40/82
On peut contrôler la bonne création de la partition par la commande p, qui liste les partitions.
La dernière opération à réaliser est d'écrire la nouvelle table de partitions sur le disque par la
commande w :
Command (m for help) :w
The partition table has been altered!
Calling ioctl() to re­read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
La partie bas niveau est terminée. Nous pouvons passer à l'ajout du nouveau disque au groupe de
volume existant.
La commande vgdisplay, comme vu plus haut, nous permet d'obtenir le nom du VG. Prenons par
exemple vg_srv_test.
Commençons par étendre le VG pour lui ajouter le nouveau disque :
[root@srv_test ~]#vgextend vg_srv_test /dev/sdb1
No physical volume label read from /dev/vdb1
Physical volume "/dev/vdb1" successfully created
Volume group "vg00" successfully extended
L'espace a été ajouté au volume groupe, ce qu'on peut vérifier par la commande vgdisplay
vg_srv_test, mais il n'est pour l'instant affecté à aucun volume logique.
Si par exemple, on veut affecter le nouvel espace disponible à la racine / du système, il est
nécessaire d'étendre le LV lv_root (On trouve le nom de ce LV par la commande lvdisplay)
[root@srv_test ~]#lvextend ­l +100%FREE /dev/vg_srv_test/lv_root
Quelques explication sur cette ligne :
•
le paramètre -l spécifie que l'on travaille en extends (unité d'allocation logique)
•
le paramètre +100%FREE précise que l'on ajoute la totalité de l'espace disponible sur le
Volum Group
•
/dev/vg_srv_test/lv_root est la cible (on aurait pu passer par /dev/mapper/)
Nous avons donc à présent une « partition » /dev/vg_srv_test/lv_root avec de l'espace disponible. Il
ne reste donc qu'à étendre le système de fichiers. Cette opération peut être réalisée à chaud :
Administration d'un système linux : niveau avancé
41/82
[root@srv_test ~]#resize2fs /dev/vg_srv_test/lv_root
Sans paramètre, la commande resize2fs redimensionne de façon à utiliser la totalité l'espace
disponible.
Administration d'un système linux : niveau avancé
42/82