GNU/Linux >> Tutoriels Linux >  >> Linux

Comment redimensionner (étendre) un système de fichiers basé sur des partitions sous Linux

Remarque :Le redimensionnement d'un système de fichiers sur une partition de disque peut être dangereux et entraîner une perte de données. Assurez-vous d'avoir effectué la sauvegarde avant de suivre les étapes décrites ci-dessous.

Mises en garde

1. Le système de fichiers que vous souhaitez redimensionner doit résider sur la dernière partition du disque. Il n'y a pas de perte de données dans ce cas car nous recréons la partition sans détruire les données réelles qu'elle contient.
2. Dans le cas où ce n'est pas la dernière partition, vous devez détruire les données et recréer une nouvelle partition avec la taille souhaitée.

Étendre le système de fichiers basé sur les partitions

1. Tout d'abord, vérifiez la taille existante du système de fichiers.

# # df -hP /data01
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme1n1p1 1014M   33M  982M   4% /data01
# mount | grep -w data01
/dev/nvme1n1p1 on /data01 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

Comme vérifié à partir de la sortie de la commande 'mount' ci-dessus, le système de fichiers sur la partition est 'xfs'.

2. Notez les détails de la partition et les détails du disque à l'aide de la commande "parted". Assurez-vous de fournir le nom du disque et non le nom de la partition dans la commande ci-dessous :

# parted /dev/nvme1n1 u s p
Model: NVMe Device (nvme)
Disk /dev/nvme1n1: 4194304s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End       Size      Type     File system  Flags
 1      2048s  2099199s  2097152s  primary  xfs

À partir de la sortie ci-dessus, vous pouvez voir que la taille de la partition (2099199s) est inférieure à la taille du disque (4194304s). Il y a donc de la place pour augmenter la partition.

3. Démontez d'abord le système de fichiers.

# umount /data01

4. Supprimez la partition ayant le système de fichiers ‘/data01’.

# parted /dev/nvme1n1p1 rm 1
Information: You may need to update /etc/fstab.

Vérifiez si la partition est supprimée. Je n'avais qu'une seule partition sur le disque, donc je ne devrais voir aucune partition maintenant.

# parted /dev/nvme1n1 u s p
Model: NVMe Device (nvme)
Disk /dev/nvme1n1: 4194304s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End  Size  Type  File system  Flags

5. Maintenant, recréons la partition avec une taille plus grande. Veuillez noter le secteur de départ de l'étape 2, c'est-à-dire 2048s. Nous allons augmenter la partition de 1 Go à 1,5 Go.

# parted -s /dev/nvme1n1 mkpart primary 2048s 1.5G

Vérifiez à nouveau la nouvelle taille de partition.

# parted /dev/nvme1n1 u s p
Model: NVMe Device (nvme)
Disk /dev/nvme1n1: 4194304s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End       Size      Type     File system  Flags
 1      2048s  2930687s  2928640s  primary

6. Nous devons exécuter fsck sur la partition nouvellement créée. Notez également que nous ne créons aucun système de fichiers ici, car il est déjà présent sur la partition. Comme nous utilisons le système de fichiers XFS, utilisez la commande "xfs_repair" au lieu de "e2fsck".

# xfs_repair /dev/nvme1n1p1
Phase 1 - find and verify superblock...
bad primary superblock - bad magic number !!!

attempting to find secondary superblock...
.................................................................................................................................................................................................................................................found candidate secondary superblock...
verified secondary superblock...
writing modified primary superblock
sb realtime bitmap inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 65
resetting superblock realtime bitmap ino pointer to 65
sb realtime summary inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 66
resetting superblock realtime summary ino pointer to 66
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
sb_icount 0, counted 64
sb_ifree 0, counted 61
sb_fdblocks 259568, counted 259560
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
Note - stripe unit (0) and width (0) were copied from a backup superblock.
Please reset with mount -o sunit=,swidth= if necessary
done

7. Étendez le système de fichiers à l'aide de la commande "xfs_growfs". De plus, avant d'exécuter cette commande, nous devons monter le système de fichiers, sinon vous obtiendrez l'erreur ci-dessous :

# xfs_growfs /dev/nvme1n1p1
xfs_growfs: /dev/nvme1n1p1 is not a mounted XFS filesystem
# mount /dev/nvme1n1p1 /data01
# xfs_growfs /dev/nvme1n1p1
meta-data=/dev/nvme1n1p1         isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 262144 to 366080

8. Vérifiez la nouvelle taille du point de montage.

# df -hP /data01
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme1n1p1  1.4G   33M  1.4G   3% /data01


Linux
  1. Comment partitionner un disque sous Linux

  2. Comment augmenter le nombre d'inodes de disque sous Linux

  3. Comment renommer un fichier sous Linux ?

  4. Comment créer et monter des systèmes de fichiers sous Linux

  5. Comment déterminer de manière fiable le type de système de fichiers sous Linux ?

Comment créer un lien symbolique vers un fichier sous Linux

Comment ajouter un nouveau périphérique au système de fichiers BTRFS sous Linux

Comment vérifier/réparer le système de fichiers Linux au démarrage

Comment vérifier et réparer un système de fichiers dans RHEL Linux

Comment réparer les erreurs du système de fichiers dans Linux Mint

Comment installer le serveur de partage de fichiers Samba sur le système Linux