h2. Agrandissement d'un disque
ici, dans cet exemple augmentation à chaud de la taille du premier disque (en général sda) (à partir du vsphere): passage de 20 Go à 30 Go.
Afin que le noyau identifie ce changement de taille, le disque sda doit être re-scanné :
echo 1>/sys/class/block/sda/device/rescan
A ce stade on a : disk sda à 30 Go mais la partition sda2 est toujours à 19.5 Go ( pour info la partition sda1 est type part et sert au /boot)
@vm-m2-mdrive-01:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 487M 0 part /boot └─sda2 8:2 0 19,5G 0 part ├─vg0-lv_root 254:0 0 2G 0 lvm / ├─vg0-lv_home 254:1 0 1,9G 0 lvm /home ├─vg0-lv_usr 254:2 0 3,8G 0 lvm /usr ├─vg0-lv_var 254:3 0 9G 0 lvm /var ├─vg0-lv_tmp 254:4 0 976M 0 lvm /tmp └─vg0-lv_swap 254:5 0 1,9G 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom
Donc, il faut supprimer et recréer la partition sda2 avec le même secteur de départ (afin de ne pas perdre les données) et en type lvm (8e) :
@vm-m2-mdrive-01:~$ sudo fdisk /dev/sda Bienvenue dans fdisk (util-linux 2.29.2). Les modifications resteront en mémoire jusqu'à écriture. Soyez prudent avant d'utiliser la commande d'écriture. Commande (m pour l'aide) : p Disque /dev/sda : 30 GiB, 32212254720 octets, 62914560 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 : dos Identifiant de disque : 0xb6ca33e9 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 999424 41940991 40941568 19,5G 8e LVM Linux Commande (m pour l'aide) : d Numéro de partition (1,2, 2 par défaut) : 2 La partition 2 a été supprimée. Commande (m pour l'aide) : n Type de partition p primaire (1 primaire, 0 étendue, 3 libre) e étendue (conteneur pour partitions logiques) Sélectionnez (p par défaut) : p Numéro de partition (2-4, 2 par défaut) : Premier secteur (999424-62914559, 999424 par défaut) : Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (999424-62914559, 62914559 par défaut) : Une nouvelle partition 2 de type « Linux » et de taille 29,5 GiB a été créée. La partition #2 contient une signature LVM2_member. Voulez-vous supprimer la signature ? [O]ui/[N]on : N Commande (m pour l'aide) : p Disque /dev/sda : 30 GiB, 32212254720 octets, 62914560 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 : dos Identifiant de disque : 0xb6ca33e9 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 999424 62914559 61915136 29,5G 83 Linux Commande (m pour l'aide) : t Numéro de partition (1,2, 2 par défaut) : 2 Type de partition (taper L pour afficher tous les types) : L 0 Vide 24 NEC DOS 81 Minix / Linux a bf Solaris 1 FAT12 27 TFS WinRE masqu 82 partition d'éch c1 DRDOS/sec (FAT- 2 root XENIX 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 usr XENIX 3c récupération Pa 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux étendue c7 Syrinx 5 Étendue 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e 2e partie QNX4. 8e LVM Linux df BootIt 9 Amorçable AIX 4f 3e partie QNX4. 93 Amoeba e1 DOS access a Gestionnaire d' 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Alignement Rufu e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f Étendue W95 (LB 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 FAT12 masquée 56 Golden Bow a8 UFS Darwin f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 FAT16 masquée < 61 SpeedStor ab Amorçage Darwin f4 SpeedStor 16 FAT16 masquée 63 GNU HURD ou Sys af HFS / HFS+ f2 DOS secondaire 17 HPFS/NTFS masqu 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 partition d'éch fc VMware VMKCORE 1b W95 FAT32 masqu 70 DiskSecure Mult bb Boot Wizard mas fd RAID Linux auto 1c W95 FAT32 masqu 75 PC/IX bc Acronis FAT32 L fe LANstep 1e W95 FAT16 masqu 80 Minix ancienne be Amorçage Solari ff BBT Type de partition (taper L pour afficher tous les types) : 8e Type de partition « Linux » modifié en « Linux LVM ». Commande (m pour l'aide) : p Disque /dev/sda : 30 GiB, 32212254720 octets, 62914560 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 : dos Identifiant de disque : 0xb6ca33e9 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 999424 62914559 61915136 29,5G 8e LVM Linux Commande (m pour l'aide) : w La table de partitions a été altérée. Appel d'ioctl() pour relire la table de partitions. Échec de relecture de la table de partitions.: Périphérique ou ressource occupé Le noyau continue à utiliser l'ancienne table. La nouvelle sera utilisée lors du prochain démarrage ou après avoir exécuté partprobe(8) ou kpartx(8).
Afin de forcer le noyau à relire la table des partitions (ce qui nous évite un reboot de la machine) si partprobe pas installé,il est dans le paquet parted :
dginhoux@srv_test_01:~$ sudo partprobe
Resultat ==> on a la partition sda2 a 29.5 Go :
dginhoux@srv_test_01:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 487M 0 part /boot └─sda2 8:2 0 29,5G 0 part ├─vg0-lv_root 254:0 0 2G 0 lvm / ├─vg0-lv_home 254:1 0 1,9G 0 lvm /home ├─vg0-lv_usr 254:2 0 3,8G 0 lvm /usr ├─vg0-lv_var 254:3 0 9G 0 lvm /var ├─vg0-lv_tmp 254:4 0 976M 0 lvm /tmp └─vg0-lv_swap 254:5 0 1,9G 0 lvm [SWAP] sr0 11:0 1 1024M 0 rom
Comme pour le disque, il faut "rescanner" aussi le PV (Physical Volume) pour que le LVM comprenne le changement :
dginhoux@srv_test_01:~$ sudo pvresize /dev/sda2 dginhoux@srv_test_01:~$ sudo pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg0 lvm2 a-- 29,52g 10,00g
Et enfin, il faut étendre le lv_var de 5Go :
dginhoux@srv_test_01:~$ sudo lvextend /dev/mapper/vg0-lv_var -L +5G Size of logical volume vg0/lv_var changed from 8,98 GiB (2300 extents) to 13,98 GiB (3580 extents). Logical volume vg0/lv_var successfully resized. dginhoux@srv_test_01:~$ sudo resize2fs /dev/mapper/vg0-lv_var resize2fs 1.43.4 (31-Jan-2017) Le système de fichiers de /dev/mapper/vg0-lv_var est monté sur /var ; le changement de taille doit être effectué en ligne old_desc_blocks = 2, new_desc_blocks = 2 Le système de fichiers sur /dev/mapper/vg0-lv_var a maintenant une taille de 3665920 blocs (4k).
Resultat final :
dginhoux@srv_test_01:~$ df -h /dev/mapper/vg0-lv_var 14G 5,8G 7,5G 44% /var