Partizionamento del computer

[root@localhost montamat]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sat Feb 14 18:06:00 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/fedora-root /                       ext4    defaults        1 1
UUID=9b71b481-12c3-4abe-8877-c93243a004a4 /boot                   ext4    defaults        1 2
/dev/mapper/fedora-home /home                   ext4    defaults        1 2
/dev/mapper/fedora-swap swap                    swap    defaults        0 0
[root@localhost montamat]# du -ks / | sort -n
du: impossibile accedere a '/run/user/1000/gvfs': Permesso negato
du: impossibile accedere a '/proc/4470/task/4495/fdinfo/115': File o directory non esistente
du: impossibile accedere a '/proc/14636/task/14636/fd/3': File o directory non esistente
du: impossibile accedere a '/proc/14636/task/14636/fdinfo/3': File o directory non esistente
du: impossibile accedere a '/proc/14636/fd/4': File o directory non esistente
du: impossibile accedere a '/proc/14636/fdinfo/4': File o directory non esistente
261332068	/

l’ho occupato con tanti programmi e librerie: solo per fare un esempio Matlab pesa 13 giga , le librerie di kicad sono altri 5 giga, ecc… poi non so se alcune sono ridondanti però tant’è… :man_shrugging:

nessun disco sa aggiungere: voglio solo diminuire la home e aumentare la root

Guarda la riduzione del file system è un’operazione molto delicata. Personalmente la sconsiglio perchè prima di procedere dovresti eseguire un backup “full” della partizione su cui andrai a lavorare e nel momento in cui dovessero generare problemi dovresti aver una buona dimestichezza ed esperienza per poter eseguire le operazioni di ripristino.

Essendo un file system ext4 l’operazione è fattibile. Dopo aver eseguito i backup la cosa che potresti provare a fare e tentare le operazioni di riduzione con programmi live tipo GParted. Magari documentati in rete e poi possiamo anche valutare insieme alla community come procedere.

Ciao montamat,
prima di tutto, per piacere formatta il codice che posti usando tre backticks ``` una riga prima e una dopo il codice, oppure seleziona il codice e clicca sul bottone “Testo preformattato”. Per ora i tuoi messaggi precedenti li ho sistemati io.

Per quanto riguarda la riduzione dello spazio di un fs ext4, purtroppo non e’ un operazione facile da fare.
Come mostrato in questo blog, ci sono diversi passaggi da fare: http://linux-bsd-sharing.blogspot.com/2012/06/howto-shrink-size-of-ext4-lvm-logical.html

  1. Smontare la partizione, se possibile, altrimenti girare da live.
  2. Controllare stato del fs prima della riduzione.
  3. Ridurre il fs con resize2fs.
  4. Ridurre il LV.
  5. Ricontrollare lo stato del fs dopo la riduzione.

In ogni caso, come suggerito da Palir, consiglio vivamente di fare un backup di tutti i dati nella tua partizione home prima di fare qualunque operazione di “riduzione”.

In questo momento pero’ noto l’output di vgs:

[root@localhost montamat]# vgs
  VG     #PV #LV #SN Attr   VSize    VFree  
  fedora   1   3   0 wz--n- <465,27g <36,52g

Come puoi vedere dall’ultima colonna, dice che ci sono 36 GB liberi sul Volume Group fedora.
Non so quale sia la tua conoscenza di LVM, ma alla fine della fiera si puo’ ridurre a 3 elementi: ci sono Physical Volumes (PV, dischi fisici) che vengono semplicemente “formattati” per contenere partizioni LVM, Volume Groups (VG) che permettono di aggregare insieme piu’ volumi per formare un singolo “mega-volume”, e infine Logical Volumes (LV) ritagliati da un VG, che diventano le partizioni/spazi su cui poi creare un filesystem (ext4, xfs, btrfs, etc).

A questo punto, se per risolvere il tuo problema di spazio bastano quei 36 GB liberi, ti bastera’ fare:

# lvextend -l+100%FREE -r /dev/fedora/root

dove:

  • -l+100%FREE indica di estendere la dimensione del LV aggiungendo tutto quello che c’e’ di libero.
  • -r serve per fare il resize anche del filesystem, dopo aver allargato il LV.

Non e’ necessario fare l’operazione da una live, in quanto l’aumento di dimensione e’ molto ben supportato da Linux (ho allargato partizioni da svariati Terabytes con sopra database che hanno continuato a macinare).

Una volta finito, dai un lvs e dovresti vedere la nuova dimensione del LV, e con fdisk -l vedrai la nuova dimensione aggiornata del fs all’interno dell’LV allargato, che dovrebbe essere confermata anche da df -h.

1 Mi Piace

intanto grazie mille. giovedì sono a casa e provo a farlo (36 giga sono una manna dal cielo anche solo per gli aggiornamenti visto che ero arrivato al punto che non me li faceva nemmeno fare).
Devo smontare il file system o lo faccio a “caldo”?
In ogni caso credo che la soluzione finale sarà ad agosto che mi compro un bel ssd da 1Tera (ne ho visti su Amazon a 80 euro) poi faccio il clone e successivamente allargo le due partizioni…

domanda scema : quel
lvextend -l+100%FREE -r /dev/fedora/root
non è un alias che hai letto da qualche parte… nel mio caso diventa
lvextend -l +100%FREE -r /dev/mapper/fedora-root
oppure no? :thinking:

Ciao,
si l’attività può essere eseguita a caldo e “vedrai” subito il nuovo spazio assegnato senza eseguire il riavvio.

Si il comando corretto è:

lvextend -l +100%FREE -r /dev/mapper/fedora-root

Dovresti poterlo fare anche a caldo, il resizing online e’ supportato da ext4.

Mmm occhio con il clone… se cloni tutto il disco originale cosi’ com’e’ adesso ti troverai con un blocco di partizioni appiccicate come sono nel disco “piccolo”.
A quel punto ti converra’ forse estendere il VG al resto del disco, e andare poi ad estendere i LV che ti stanno stretti usando il nuovo spazio del VG.
Ma casomai ne riparleremo quando avrai bisogno di migrare.

Entrambi i comandi sono identici, perche’ entrambi i percorsi sono dei link simbolici. Ad es sul mio trattore:

$ ll /dev/mapper/fedora-root 
lrwxrwxrwx ... /dev/mapper/fedora-root -> ../dm-1

$ ll /dev/fedora/root 
lrwxrwxrwx ... /dev/fedora/root -> ../dm-1

E anche lo spazio prima o dopo il -l e’ indifferente.

grazie a tutti per l’aiuto

tutto liscio come l’olio

[root@localhost montamat]# lvs
  LV   VG      Attr     LSize    Pool Origin Data%  Meta%  Mov  Log  Cpy%Sync  Convert
 
 home fedora -wi-ao----  325,00g                                                    
  root fedora -wi-ao---- <136,52g                                                    
  swap fedora -wi-ao----    3,75g 

grazie di nuovo a tutti

In Fedora 33 ci sarà Btrfs di default con spazio unico per home e root, su due volumi separati, il ché dovrebbe rendere l’assegnamento di quote differenti molto più facile.
Inoltre mi permetto di suggerire GNU Octave al posto del pesante e proprietario Matlab, oppure valutare una alternativa Python tipo SciPy e amici - ormai pure dalle università c’è un fuggi fuggi generale da Matlab.

Ottimo! Apri pure un nuovo thread qualora volessi provare il clone del disco in futuro.

ho sia Octave che Scilab. il problema di Octave è purtroppo l’assenza di un clone di Simulink, se no sarebbe perfetto…

Buonasera a tutti e buon anno (sperando che sia migliore del passato): come da programma ho approfittato delle vacanze di Natale per clonare il mio disco fisso da 500 e portarlo in uno da un tera: a questo punto se volessi rimappare /root 250 giga e /home a 750 posso farlo con lvextend? qualche post sopra qualcuno diceva che è pericoloso
Grazie a tutti

[root@localhost montamat]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0             7:0    0  97,9M  1 loop /var/lib/snapd/snap/core/10444
loop1             7:1    0  97,8M  1 loop /var/lib/snapd/snap/core/10185
loop2             7:2    0   173M  1 loop /var/lib/snapd/snap/spotify/43
loop3             7:3    0  23,2M  1 loop /var/lib/snapd/snap/snow-on-me/14
loop4             7:4    0  55,3M  1 loop /var/lib/snapd/snap/core18/1885
loop5             7:5    0 163,7M  1 loop /var/lib/snapd/snap/spotify/41
loop6             7:6    0  55,4M  1 loop /var/lib/snapd/snap/core18/1932
sda               8:0    0 953,9G  0 disk 
├─sda1            8:1    0   500M  0 part /boot
└─sda2            8:2    0 465,3G  0 part 
  ├─fedora-swap 253:0    0   3,8G  0 lvm  [SWAP]
  ├─fedora-root 253:1    0 136,5G  0 lvm  /
  └─fedora-home 253:2    0   325G  0 lvm  /home
sr0              11:0    1  1024M  0 rom  

Prima di usare lvextend dovresti espandere il volume group. Perché al momento, se non sbaglio, dovrebbe essere 465,3G, ovvero se tu guardassi con gparted, GNOME dischi ecc. al momento dovresti avere metà del disco non partizionato.

Cosa dice questo comando?
sudo vgdisplay

questo. Comunque posso fare anche dei tentativi e dei guai perché nel caso ho sempre il vecchio ssd che l’ho clonato ieri quindi anche se questo dovesse per qualche motivo rovinarsi ho sempre la riserva

[root@localhost montamat]# vgdisplay
  --- Volume group ---
  VG Name               fedora
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <465,27 GiB
  PE Size               4,00 MiB
  Total PE              119109
  Alloc PE / Size       119109 / <465,27 GiB
  Free  PE / Size       0 / 0   
  VG UUID               c4CA6h-9NYN-kklc-40b0-4RfE-mmfs-Jgf236

Ci saranno altri modi, ma secondo me questa è la via più semplice, usando anche le funzionalità proprie di LVM.

Prima di tutto devi creare una nuova partizione, sda3. Usando per esempio

sudo fdisk /dev/sda.

La sequenza dei comandi usati dentro fdisk sarà questa:
p stampa lo schema delle partizioni
n nuova partizione
invio per il tipo di partizione (di default sarà partizione primaria p)
invio per Partition number (sarà 3)
invio per First sector
invio per Last sector
p stampa il nuovo schema delle partizioni
w scrivi le modifiche

Esempio di quello che vedrai (in questo caso c’è vda, nel tuo sarà sda):

Welcome to fdisk (util-linux 2.36).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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: 0x682c9d55

Device     Boot   Start      End  Sectors Size Id Type
/dev/vda1  *       2048  2099199  2097152   1G 83 Linux
/dev/vda2       2099200 41943039 39843840  19G 8e Linux LVM

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

Created a new partition 3 of type 'Linux' and of size 20 GiB.

Command (m for help): p
Disk /dev/vda: 40 GiB, 42949672960 bytes, 83886080 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: 0x682c9d55

Device     Boot    Start      End  Sectors Size Id Type
/dev/vda1  *        2048  2099199  2097152   1G 83 Linux
/dev/vda2        2099200 41943039 39843840  19G 8e Linux LVM
/dev/vda3       41943040 83886079 41943040  20G 83 Linux

Command (m for help): w
The partition table has been altered.
Syncing disks.

Dopo aver creato la partizione, dovrai definire un nuovo Physical Volume LVM (PV).

sudo pvcreate /dev/sda3

Con sudo pvdisplay vedrai il nuovo PV.

Quindi espandiamo il Volume Group (VG).

sudo vgextend fedora /dev/vda3

Con sudo vgdisplay vedrai ora che la voce Free PE / Size non sarà più 0/0

Ora possiamo espandere i logical volume fedora-root e fedora-home.

Per esempio assegniamo 10GB alla root /:

sudo lvextend -L+10G /dev/fedora/root

Quindi espandiamo effettivamente il file system:

sudo resize2fs /dev/fedora/root

Con df -h o con lsblk vedrai che / avrà una nuova dimensione. Con sudo vgdisplay vedrai che quei Free PE saranno un po’ diminuiti.

1 Mi Piace

Grazie mille: ha funzionato. L’unica cosa purtroppo è che ora ho due partizioni LVM e prima ne avevo una sola (è un po’ più disordinato) , però l’importante è che ci sia riuscito senza fare danni.

Ma LVM è fatto a posta per questo. Per non stare a maneggiare con il ridimensionamento delle partizioni, operazione che a volte richiede tempo ed è sicuramente più rischiosa.
Scusami. Purtroppo realizzo solo ora che era anche possibile usare, per esempio, gparted da Live ed estendere la partizione esistente sda2 e procedere poi con lvextend… In quel modo avresti avuto un unico Physical Volume, un’unica partizione LVM. Comunque a livello pratico non credo che cambi molto avere una o due partizioni.

ho rifatto da capo con Gparted come da tuo suggerimento. Ora è davvero tutto perfetto :heart: :heart: :heart:

[root@localhost montamat]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0             7:0    0  97,9M  1 loop /var/lib/snapd/snap/core/10444
loop1             7:1    0   173M  1 loop /var/lib/snapd/snap/spotify/43
loop2             7:2    0  23,2M  1 loop /var/lib/snapd/snap/snow-on-me/14
loop3             7:3    0  55,3M  1 loop /var/lib/snapd/snap/core18/1885
loop4             7:4    0 163,7M  1 loop /var/lib/snapd/snap/spotify/41
loop5             7:5    0  55,4M  1 loop /var/lib/snapd/snap/core18/1932
loop6             7:6    0  97,8M  1 loop /var/lib/snapd/snap/core/10185
sda               8:0    0 953,9G  0 disk 
├─sda1            8:1    0   500M  0 part /boot
└─sda2            8:2    0 940,2G  0 part 
  ├─fedora-swap 253:0    0   3,8G  0 lvm  [SWAP]
  ├─fedora-root 253:1    0 236,5G  0 lvm  /
  └─fedora-home 253:2    0   675G  0 lvm  /home
sr0              11:0    1  1024M  0 rom 
1 Mi Piace