Ceci est une ancienne révision du document !
Table des matières
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
