Qual è il modo più semplice per ridimensionare una partizione ext4 (o qualsiasi tipo di partizione a seconda del metodo) dalla riga di comando (potenzialmente con il minor numero di comandi, ma anche il più facile da capire)?

Usare uno strumento come Gparted è ovviamente facile in una GUI, ma che dire della riga di comando? Immagino che anche le GUI basate su testo possano contare per la risposta poiché ” tecnicamente è ancora nella riga di comando. Deve solo essere facile.

Per partizione intendo una semplice partizione su un singolo disco di un personal computer (ad esempio su un laptop). Ad esempio, voglio ridimensionare /dev/sda4. Non ci sono RAID, non cè più di un disco rigido, non cè niente di complicato qui. Solo una semplice partizione su un singolo disco (/ dev / sdaX su / dev / sda).

Commenti

  • Probabilmente lo sapete, ma Gparted è uninterfaccia grafica per GNU Parted. Prima di Parted 2.4, potevate ridimensionare, ma da allora è stato rimosso. Sospetto che lunico modo sia farlo manualmente, ridimensionando la tabella delle partizioni, creando mappe dei dispositivi, quindi ridimensionando il file system.
  • Hai visto questo articolo sul ridimensionamento delle partizioni?
  • Non ho ‘ visto quello specifico, ma il succo è che elimini la partizione e ne crei una nuova la dimensione che desideri. Ma ciò che ‘ sto facendo intrinsecamente non è ” eliminare ” qualsiasi cosa, basta ridimensionare. La risposta migliore a questa domanda sarebbe probabilmente un modo per ” ridimensionare ” una partizione, non eliminarne una e crearne una nuova, ei passaggi di resize2fs sarebbero del tutto inutili e accadere in background (perché naturalmente e ovviamente lutente vuole anche utilizzare tutto lo spazio nella partizione quindi non dovrebbe ‘ t essere un passaggio aggiuntivo).

Risposta

Puoi utilizzare fdisk per modificare la tabella delle partizioni durante lesecuzione. Consulta questo link http://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/

Commenti

  • Dovresti inserire le informazioni pertinenti dal link, nella tua risposta, a causa del link rot. Inoltre, wordpress.com è attualmente bloccato dove vivo (Cina), quindi posso ‘ nemmeno vedere la ” risposta “.
  • @Thushi, output di fdisk -l paste.ubuntu. com / 24757891 . Voglio unire sda5 e sda6 come sda6. Danneggia i miei dati?
  • fdisk non sembra prendere in considerazione i dati usati / liberi, il che potrebbe portare a una potenziale perdita di dati (per quanto ne so). Non ‘ credo che dovrebbe essere elencato come ” facile ” in questo modo case.

Risposta

Se stai per aumentare la dimensione sia della partizione che del filesystem , quindi esegui prima fdisk per aumentare la dimensione della partizione, quindi esegui resize2fs per aumentare la dimensione del filesystem.

Se stai per ridurre le dimensioni di entrambi, esegui prima resize2fs e poi fdisk.

Risposta

gparted utilizza resize2fs per cambia la dimensione della partizione. Non richiede molti argomenti. Di seguito sono riportati quelli che ho trovato utili.

-M si riduce alla dimensione minima del file system.

-p mostra un indicatore di percentuale.

-P stampa la dimensione minima del file system ed esce.

Commenti

  • resize2fs ‘ non altera affatto la tabella delle partizioni, cambia la dimensione di un filesystem . Dopo averlo usato, ‘ dovrai ridimensionare la partizione in cui si trovava il filesystem di conseguenza.

Risposta

Un metodo con script, supponendo che ci sia spazio libero direttamente dopo la partizione da ridimensionare:

echo "- +" | sfdisk -N <partnum> /dev/sdX 

… seguito da resize2fs /dev/sdX<partnum>.

Il - dice a sfdisk di riutilizzare il settore start esistente e + gli dice di creare più grande possibile dato lo spazio disponibile.

Commenti

  • Anche se stranamente terrificante, questo ha fatto esattamente quello che volevo dopo dd -correndo su un filesystem da unimmagine ddrescue a una nuova unità di dimensioni maggiori. Grazie.

Risposta

Ti rispondo se hai una situazione simile alla mia. Ho dovuto ridimensionare il FileSystem (Ext4) su un disco dinamico con Ubuntu 18.0.4 LTS come Guest. Sono riuscito a ridimensionare il disco dallHost e quindi ridimensionare il FileSystem.

Non era possibile eseguire i normali comandi. Ad esempio:

$ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) The filesystem is already 13180160 (4k) blocks long. Nothing to do! 

e fdisk era piuttosto complicato, inoltre probabilmente ho dovuto eseguire un LiveCD per lavorare sul disco non montato.

Questi due comandi hanno risolto il mio problema facilmente e velocemente:

$ growpart /dev/sda 2 CHANGED: partition=2 start=4096 old: size=105441280 end=105445376 new: size=409595871,end=409599967 $ resize2fs /dev/sda2 resize2fs 1.44.1 (24-Mar-2018) Filesystem at /dev/sda2 is mounted on /; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 25 The filesystem on /dev/sda2 is now 51199483 (4k) blocks long. 

Nota: 2 nel primo comando, che indica il numero di partizione sul dispositivo /dev/sda.

Risposta

Ridimensiona una partizione radice Linux senza riavviare

Introduzione

Un tipico server Linux distribuito da unimmagine fornita da ProfitBricks ha un unico volume di archiviazione, /dev/vda. Se diamo unocchiata a questo utilizzando fdisk vedremo che il disco è diviso in due partizioni. La prima, /dev/vda1, è la partizione di avvio in cui risiede il sistema operativo. La seconda partizione, /dev/vda2, è configurata come spazio di swap.

root@debian:~# fdisk -l /dev/vda 

Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 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 Disklabel type: dos Disk identifier: 0x0041f8a8

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 96471039 96468992 46G 83 Linux /dev/vda2 96471040 104857599 8386560 4G 82 Linux swap / Solaris

Nellesempio sopra , il volume di archiviazione totale di 50 GB è suddiviso in 46 GB di spazio utilizzabile e 4 GB per lo scambio. Cosa succede se dopo il provisioning scopriamo che 46 GB di spazio su disco non sono sufficienti ma preferiamo non aggiungere un volume di archiviazione aggiuntivo? Lobiettivo è aumentare la quantità di spazio su disco disponibile nel filesystem di root. Ciò può essere ottenuto con interruzioni minime. non è necessario riavviare il server!

Requisiti

  • Un server Linux creato da unimmagine fornita da ProfitBricks.
  • Accesso SSH o console (tramite DCD ) al server Linux.
  • Il comando partprobe. Può essere installato dal pacchetto parted sulla maggior parte delle distribuzioni Linux.
  • fdisk, , mkswap, swapon e resize2fs. Probabilmente disponibile per impostazione predefinita.
  • Unistantanea corrente o un altro backup del sistema su cui stai lavorando. Giusto per sicurezza!

Fornisci spazio aggiuntivo

Per aumentare le dimensioni del disco rigido, accedere a DCD (Data Center Designer) e aggiornare lunità.

Dopo aver aumentato la quantità di spazio su disco, fare clic su ” provisioning “per elaborare la modifica. Ci vuole circa un minuto e il tuo disco rigido è più grande.

Dobbiamo quindi disattivare lo scambio, quindi assicurati di poter vivere qualche minuto senza spazio di scambio:

root@debian:~# swapoff -a 

Una volta che lo scambio è stato disabilitato, dobbiamo riconfigurare le partizioni usando fdisk:

Elimineremo prima le due partizioni esistenti . Eseguiamo fdisk /dev/vda e quindi utilizziamo il comando d per eliminare la partizione 2, quindi eliminare la partizione 1. Segui lesempio seguente:

root@debian:~# fdisk /dev/vda 

Command (m for help): d Partition number (1,2, default 2):

Partition 2 has been deleted.

Command (m for help): d Selected partition 1 Partition 1 has been deleted.

Ora ricreamo le nostre partizioni. Nellesempio abbiamo 4 GB di spazio di swap. Quindi dobbiamo mantenere almeno quello spazio disponibile per la nuova partizione di swap.

Ricrea prima /dev/vda1. Premi n per creare una nuova partizione. Inserisci p per creare una partizione primaria. Possiamo premere Invio per accettare il valore predefinito di 2048 per il primo settore. Quindi inserisci una dimensione per la partizione. Puoi inserire un valore in GB, quindi se aumentiamo il disco a 100 GB, sottraiamo i nostri 4 GB per lo scambio e inseriamo + 96G per 96 GB.

Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-209715199, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): +96G 

Created a new partition 1 of type "Linux" and of size 96 GiB.

Ora ricreiamo la partizione di swap seguendo un processo simile. Premi n e poi p per creare una nuova partizione primaria. Premi Invio per accettare il valore predefinito per “Primo settore”. Possiamo anche premere di nuovo Invio per accettare il valore predefinito per “Ultimo settore”.

Command (m for help): n Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p Partition number (2-4, default 2): 2 First sector (201328640-209715199, default 201328640): Last sector, +sectors or +size{K,M,G,T,P} (201328640-209715199, default 209715199): 

Created a new partition 2 of type "Linux" and of size 4 GiB.

Poiché questa seconda partizione verrà utilizzata per lo spazio di swap, è necessario modificare il tipo di partizione. Questo può essere fatto premendo t al prompt fdisk. Quindi premere 2 per selezionare la seconda partizione.Se desideri visualizzare lelenco dei tipi di partizione disponibili, premi L , altrimenti inserisci 82 per selezionare “Linux swap / Solaris”.

Command (m for help): t Partition number (1,2, default 2): 2 Partition type (type L to list all types): L 

0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs f W95 Ext"d (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT 10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/ 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto 1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep 1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT Partition type (type L to list all types): 82

fdisk ci informa utilmente che abbiamo cambiato il tipo di partizione con il messaggio:

Changed type of partition "Linux" to "Linux swap / Solaris". 

Dopodiché salviamo usando il w e vengono restituiti a un prompt della shell:

Command (m for help): w 

Potresti ricevere un messaggio come questo prima della shell prompt:

The partition table has been altered. Calling ioctl() to re-read partition table. Re-reading the partition table failed.: Device or resource busy 

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

Rinunciamo al riavvio e comunichiamo invece al kernel le nuove partizioni utilizzando partprobe :

root@debian:~# partprobe 

Dovremmo tornare al prompt della shell senza output da partprobe.

Ora dobbiamo ridimensionare il nostro filesystem su /dev/vda1:

root@debian:~# resize2fs /dev/vda1 resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/vda1 is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 3 

Il filesyst em su /dev/vda1 ora è lungo 25165824 (4k) blocchi.

Inizializza la nuova posizione di scambio di /dev/vda2:

root@debian:~# mkswap /dev/vda2 Setting up swapspace version 1, size = 4193276 KiB no label, UUID=c55c25a2-a386-4653-8455-4d9030586dd2 

Infine modifichiamo /etc/fstab e sostituiamo il vecchio UUID con quello nuovo restituito nelloutput del mkswap comando. La riga da modificare non ha alcun valore per “mount point” e ha “type” impostato su swap .

# /etc/fstab: static file system information. # # Use "blkid" to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> UUID=332f8fb5-ff1f-4297-b512-f2c93a277296 / ext4 errors=remount-ro 0 1 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 UUID=c55c25a2-a386-4653-8455-4d9030586dd2 none swap sw 0 0 

Dopo aver modificato /etc/fstab, dobbiamo abilitare nuovamente lo scambio:

root@debian:~# swapon -a 

Verifica

Possiamo verificare la nuova dimensione del disco più grande utilizzando df e / o fdisk.

Device Boot Start End Sectors Size Id Type /dev/vda1 2048 201328639 201326592 96G 83 Linux /dev/vda2 201328640 209715199 8386560 4G 82 Linux swap / Solaris 

Possiamo anche confermare che il il server non è stato riavviato osservando loutput di uptime:

$ uptime 23:54:21 up 7 days, 1:15, 1 user, load average: 0.00, 0.01, 0.05 

Riepilogo

Abbiamo aumentato con successo la quantità di spazio su disco disponibile sul nostro server Linux.

Riferimento

https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

OPPURE

https: //web.archive .org / web / 20201113021238 / https://devops.ionos.com/tutorials/increase-the-size-of-a-linux-root-partition-without-rebooting/

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *