Outils pour utilisateurs

Outils du site


tech:notes_resize_disk_fs

Ceci est une ancienne révision du document !


Notes resize disk FS

Exemple

Install de growpart

apt-get install cloud-guest-utils

Création du système de fichier

Voir gdisk et parted pour GPT

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

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

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
truncate --size=$[(9181183+1)*512] myimage.img

Source : https://softwarebakery.com/shrinking-images-on-linux

Anciennes notes

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

sfdisk -d /dev/hda > /tmp/hda

Restore extended partition table

sfdisk /dev/hda < /tmp/hda

A vérifier ! (manip dangereuse)

echo ", +" | sfdisk -N 1 /dev/vda
partprobe /dev/vda
resize2fs /dev/vda1

Autres

Taille disque en Go

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
tech/notes_resize_disk_fs.1742825205.txt.gz · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki