Outils pour utilisateurs

Outils du site


tech:notes_resize_disk_fs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
tech:notes_resize_disk_fs [2025/11/17 15:00] Jean-Baptistetech:notes_resize_disk_fs [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon FS fdisk Virt}}
 +
 +# Notes resize disk FS
 +
 +## Exemple 
 +
 +Install de **growpart**
 +~~~bash
 +apt-get install cloud-guest-utils
 +~~~
 +
 +Création du système de fichier 
 +
 +// Voir gdisk et parted pour GPT //
 +
 +~~~bash
 +dd if=/dev/zero of=/home/disktest bs=1024k count=500
 +#fallocate -l 500M /home/disktest
 +
 +losetup /dev/loop2 /home/disktest
 +fdisk /dev/loop2
 +# The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
 +
 +# blockdev --rereadpt /dev/loop2
 +# sfdisk -R /dev/loop2 # ioctl BLKRRPART
 +# kpartx -u /dev/loop2p1
 +# hdparm -z # ioctl BLKRRPART
 +partprobe /dev/loop2 # ioctl BLKPG²
 +# udevadm settle # (systemd-udev-settle.service)
 +# Voir aussi addpart / delpart (kernel)
 +
 +mkfs.ext4 /dev/loop2p1
 +
 +mkdir /mnt/test
 +mount /dev/loop2p1 /mnt/test
 +echo plop > /mnt/test/plop.txt
 +~~~
 +
 +Augmentation de la taille du disque
 +~~~bash
 +dd if=/dev/zero bs=1024k count=500 >> /home/disktest
 +~~~
 +
 +Rafraîchissement de la taille
 +~~~
 +# lsblk | grep loop2
 +loop2                                                                                      7:2    0  500M  0 loop
 +└─loop2p1                                                                                259:0    0  499M  0 loop /mnt/test
 +# losetup /dev/loop2
 +/dev/loop2: [65028]:12 (/home/disktest)
 +# lsblk | grep loop2
 +loop2                                                                                      7:2    0  500M  0 loop
 +└─loop2p1                                                                                259:0    0  499M  0 loop /mnt/test
 +# losetup -c /dev/loop2
 +# lsblk | grep loop2
 +loop2                                                                                      7:2    0 1000M  0 loop
 +└─loop2p1                                                                                259:0    0  499M  0 loop /mnt/test
 +~~~
 +
 +Redimensionnement de la partition \\
 +extend a partition in a partition table to fill available space
 +~~~bash
 +growpart /dev/loop2 1
 +~~~
 +
 +Redimensionnement du système de fichier
 +~~~
 +# df -hP /mnt/test/
 +Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
 +/dev/loop2p1       476M    2,3M  445M   1% /mnt/test
 +
 +# resize2fs /dev/loop2p1
 +resize2fs 1.42.12 (29-Aug-2014)
 +Le système de fichiers de /dev/loop2p1 est monté sur /mnt/test ; le changement de taille doit être effectué en ligne
 +old_desc_blocks = 2, new_desc_blocks = 4
 +Le système de fichiers sur /dev/loop2p1 a maintenant une taille de 1022956 blocs (1k).
 +
 +# df -hP /mnt/test/
 +Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
 +/dev/loop2p1       960M    2,5M  909M   1% /mnt/test
 +~~~
 +
 +A l'inverse de growpart, il peut être utile de redimensionner un fichier img pour le réduire / tronquer (shrink) pour qu'il ne dépasse pas la taille de la sommes des partitions.
 +
 +~~~
 +$ fdisk -l myimage.img
 +
 +Disk myimage.img: 6144 MB, 6144000000 bytes, 12000000 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/physical): 512 bytes / 512 bytes
 +I/O size (minimum/optimal): 512 bytes / 512 bytes
 +Disk identifier: 0x000ea37d
 +
 +      Device Boot      Start         End      Blocks   Id  System
 +myimage.img1            2048     9181183     4589568    b  W95 FAT3
 +~~~
 +
 +~~~bash
 +truncate --size=$[(9181183+1)*512] myimage.img
 +~~~
 +
 +Source : https://softwarebakery.com/shrinking-images-on-linux
 +
 +## Anciennes notes
 +
 +~~~bash
 +dd if=/dev/zero bs=1024k count=1000 >> /var/lib/libvirt/images/debianwheezy.qcow2
 +dd if=/dev/zero of=filename bs=1 count=1 seek=newsize conv=notrunc
 +~~~
 +
 +Backup extended partition table
 +
 +~~~bash
 +sfdisk -d /dev/hda > /tmp/hda
 +~~~
 +
 +Restore extended partition table
 +
 +~~~bash
 +sfdisk /dev/hda < /tmp/hda
 +~~~
 +
 +A vérifier ! (manip dangereuse)
 +~~~bash
 +echo ", +" | sfdisk -N 1 /dev/vda
 +partprobe /dev/vda
 +resize2fs /dev/vda1
 +~~~
 +
 +## Autres
 +
 +Taille disque en Go
 +~~~bash
 +echo $(( $(blockdev --getsize64 /dev/sda) / 1024 / 1024 / 1024 ))
 +~~~
 +
 +## GPT parted
 +
 +Voir aussi gdisk
 +
 +Redimensionnement agrandissement d'une partition GPT
 +~~~
 +Run parted on your device: parted /dev/sdX
 +  Change display unit to sectors: unit s
 +  Print current partition table and note the start sector for your partition: p
 +  Delete your partition (won’t delete the data or filesystem): rm <number>
 +  Recreate the partition with the starting sector from above: mkpart primary <start> <end>
 +  Exit parted: quit
 +  Check the filesystem : sudo e2fsck -f /dev/sdXX
 +  Resize filesystem : sudo resize2fs /dev/sdXX
 +~~~
 +
 +~~~
 +sudo parted /dev/vda
 +#unit s
 +#unit GB
 +#unit %
 +(parted)print free
 +(parted)resizepart 2 100%
 +(parted)quit
 +~~~
 +
 +~~~
 +sudo fdisk -l /dev/vda | grep ^/dev
 +sudo parted /dev/vda
 +(parted)print free
 +(parted)resizepart 5 100%
 +(parted)quit
 +~~~
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki