GNU/Linux >> Linux Esercitazione >  >> Linux

CentOS / RHEL :Ridimensiona (riduce) il filesystem EXT3/4 non root su un dispositivo non LVM (partizione del disco rigido)

Backup di tutti i dati sul filesystem da ridimensionare

Il ridimensionamento di un filesystem e dei dispositivi sottostanti è pericoloso e potenzialmente distruttivo se eseguito in modo errato. Il ripartizionamento dei dispositivi è altrettanto distruttivo e può comportare la perdita completa dei dati. Prima di procedere, esegui il backup del contenuto del filesystem/dispositivo da ridimensionare.

Ridimensiona (estende) del filesystem non root su una partizione del disco rigido (non LVM)

1. Esempio di configurazione
In questo esempio, il dispositivo /dev/sdb (20 Gb) contiene una singola partizione primaria (/dev/sdb1) di 20 Gb con un filesystem EXT3/4 (/data) che copre l'intera partizione. Non esiste spazio libero su disco tra la fine della partizione e la fine del dispositivo. Prima di procedere, esegui i seguenti comandi:registra l'output per un uso successivo.

# df -k /data
Filesystem          1K-blocks      Used Available Use% Mounted on
/dev/sdb1            20635700  10672240   8915224  55% /data
# cat /proc/partitions | grep sdb
   8     16  20971520 sdb
   8     17  20964793 sdb1
# fdisk -l /dev/sdb

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux

2. Smonta il filesystem da ridimensionare
Smontare il filesystem EXT3/4 da ridimensionare, ad es.:

# umount /data

3. Esegui un controllo del filesystem
Verifica il tipo di filesystem del filesystem da ridimensionare, ad esempio se EXT3, EXT4, ecc.

# blkid /dev/sdb1
/dev/sdb1: LABEL="/data" UUID="1fc0bbcd-ba86-40b6-b562-5da90fb0d7af" TYPE="ext3"

Esegui un controllo del filesystem del filesystem assicurandoti di utilizzare l'utilità di controllo del filesystem corrispondente (fsck.ext3, fsck.ext4) per il tipo di filesystem, ad esempio:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: 21/2621440 files (4.8% non-contiguous), 2750333/5241198 blocks

4. Ridimensiona (riduci) il filesystem
Utilizzare l'utilità resize2fs per ridurre il filesystem EXT3/4 in modo da utilizzare meno spazio all'interno della partizione. Esaminare l'output df registrato in precedenza per determinare quanto piccolo ridurre il filesystem. Assicurati di non ridurre il filesystem ETX3/4 a un valore inferiore alla quantità effettiva di dati contenuta all'interno.

# df -k /data
Filesystem         1K-blocks      Used Available Use% Mounted on
/dev/sdb1           20635700  10672240   8915224  55% /data
# resize2fs /dev/sdb1 11G
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/sdb1 to 2883584 (4k) blocks.
The filesystem on /dev/sdb1 is now 2883584 blocks long.
Nota :durante l'esecuzione di resize2fs, se non viene specificata alcuna dimensione, il filesystem verrà esteso per utilizzare tutto lo spazio disponibile/rimanente nella partizione.

4. Esegui un controllo del filesystem
Esegui un controllo del filesystem del filesystem EXT3/4 ridimensionato assicurandosi di utilizzare l'utilità di controllo del filesystem corrispondente (fsck.ext3, fsck.ext4) per il tipo di filesystem in uso, ad esempio:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks

5. Ridimensiona (riduci) la partizione
Dall'output di controllo del filesystem sopra, il filesystem ora ha una dimensione di 2883584 (* 4Kb) blocchi, ovvero:

# expr 2883584 \* 4096
11811160064 (bytes)

La dimensione della partizione deve rimanere maggiore della dimensione dell'utilizzo corrente del filesystem al suo interno. Pertanto, la partizione viene ridimensionata a un valore sicuro non inferiore a 12 Gb, ovvero:

# expr 1024 \* 12
12288 (Mb)

Utilizzare il comando fdisk per eliminare, quindi ricreare una partizione più piccola, assicurandosi di riutilizzare il blocco di avvio della partizione originale, ad esempio:

# fdisk /dev/sdb

The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 83 Linux

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1): [enter]
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +12288M

Command (m for help): p

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 1495 12008556 83 Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

A questo punto, lo spazio su disco tra la fine della partizione e la fine del dispositivo è disponibile per il riutilizzo.

6. Verifica il ridimensionamento della partizione
Verifica che il sistema veda la partizione appena ridimensionata, ad esempio:

# cat /proc/partitions | grep sdb
   8    16   20971520 sdb
   8    17   12008556 sdb1

Se il sistema non riesce a rilevare il nuovo dimensionamento della partizione, eseguire l'utilità partprobe sul dispositivo ridimensionato, ad esempio:

# partprobe /dev/sdb

7. Esegui un controllo del filesystem
Esegui un controllo del filesystem del filesystem EXT3/4 ridimensionato assicurandosi di utilizzare l'utilità di controllo del filesystem corrispondente (fsck.ext3, fsck.ext4) per il tipo di filesystem in uso, ad esempio:

# fsck.ext3 -fy /dev/sdb1
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
data: 21/1441792 files (4.8% non-contiguous), 2712300/2883584 blocks

8. Monta il filesystem ridimensionato
Monta il filesystem EXT3/4 appena ridimensionato, ad esempio:

# mount /data

9. Verifica il ridimensionamento del filesystem
Esaminare dmesg, log dei messaggi, output del comando df ecc. per verificare il corretto ridimensionamento del filesystem, ad es.:

# df -k /data
Filesystem          1K-blocks     Used Available Use% Mounted on
/dev/sdb1            11353328 10668192    223764  98% /data
CentOS / RHEL:ridimensiona (estende) il filesystem EXT3/4 non root su un dispositivo non LVM (partizione del disco rigido)


Linux
  1. Come eliminare il disco ASM su un dispositivo multipath in CentOS/RHEL

  2. CentOS / RHEL:come trovare l'UUID di un dispositivo o filesystem

  3. Come aggiungere un terzo disco per creare un dispositivo MD RAID1 mirror a 3 vie (CentOS/RHEL 7)

  4. Estendi la dimensione della partizione /boot sul filesystem XFS (CentOS/RHEL 7)

  5. Come estendere il disco ASM dal livello del sistema operativo in CentOS/RHEL

CentOS / RHEL:conversione di un filesystem radice esistente in una partizione LVM

CentOS / RHEL:come aggiungere volume fisico (PV) a un gruppo di volumi (VG) in LVM

Come creare un filesystem tmpfs in CentOS/RHEL

Ricerca inversa di inode/file dall'offset nel dispositivo raw su Linux ed ext3/4?

Come posso monitorare il carico del disco rigido su Linux?

Ridimensiona LVM senza perdita di dati