GNU/Linux >> Linux Esercitazione >  >> Linux

Come ridimensionare (estendere) un file system basato su partizioni in Linux

Nota :il ridimensionamento di un filesystem su una partizione del disco può essere pericoloso e può causare la perdita di dati. Assicurati di aver eseguito il backup prima di seguire i passaggi descritti di seguito.

Avvertenze

1. Il filesystem che si desidera ridimensionare deve risiedere nell'ultima partizione del disco. In questo caso non vi è alcuna perdita di dati poiché ricreiamo la partizione senza distruggere i dati effettivi su di essa.
2. Nel caso non sia l'ultima partizione, devi distruggere i dati e ricreare una nuova partizione con la dimensione desiderata.

Estensione del filesystem basato su partizioni

1. Per prima cosa, controlla la dimensione esistente del filesystem.

# # 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)

Come verificato dall'output del comando 'mount' sopra, il filesystem sulla partizione è 'xfs'.

2. Prendere nota dei dettagli della partizione e dei dettagli del disco utilizzando il comando 'parted'. Assicurati di fornire il nome del disco e non il nome della partizione nel comando seguente:

# 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

Dall'output sopra, puoi vedere che la dimensione della partizione (2099199s) è inferiore alla dimensione del disco (4194304s). Quindi c'è spazio per aumentare la partizione.

3. Smonta prima il filesystem.

# umount /data01

4. Elimina la partizione con il filesystem '/data01'.

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

Verifica se la partizione è stata eliminata. Avevo solo una partizione sul disco, quindi non dovrei vedere nessuna partizione ora.

# 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. Ora, ricrea la partizione con una dimensione maggiore. Si prega di notare il settore di partenza dal passaggio 2, ovvero 2048. Aumenteremo la partizione da 1 GB a 1,5 GB.

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

Verifica di nuovo la nuova dimensione della partizione.

# 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. Abbiamo bisogno di eseguire fsck sulla partizione appena creata. Nota anche che qui non stiamo creando alcun filesystem, poiché è già presente sulla partizione. Poiché stiamo usando il filesystem XFS, usa il comando 'xfs_repair' invece di '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. Estendi il filesystem, usando il comando 'xfs_growfs'. Inoltre, prima di eseguire questo comando, è necessario montare il filesystem, altrimenti si otterrebbe l'errore seguente:

# 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. Verifica la nuova dimensione del punto di montaggio.

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


Linux
  1. Come partizionare un disco in Linux

  2. Come aumentare il numero di inode del disco in Linux

  3. Come montare e smontare un file system in Linux

  4. Come estendere una partizione di swap LVM in Linux

  5. Come determinare il tipo di file system in modo affidabile sotto Linux?

Come collegare simbolicamente un file in Linux

Come aggiungere un nuovo dispositivo al file system BTRFS in Linux

Come controllare/riparare il file system Linux all'avvio

Come controllare e riparare un file system in RHEL Linux

Come riparare gli errori del file system in Linux Mint

Come installare il server di condivisione file Samba su un sistema Linux