Come estendere la partizione CentOS 5 su VMware?


15

Ho una macchina virtuale CentOS 5 e ho aggiunto 20 GB in più alla dimensione del disco. Come posso inizializzare ed estendere lo spazio disponibile?

Ho provato a caricare anche GParted, ma l'unità è bloccata; come lo sblocco?

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Risposte:


25

Non sarai in grado di usare GParted perché il filesystem è su LVM e GParted non lo supporta.

Per prima cosa, FARE UN BACKUP DELLA VM. Quindi eseguire quanto segue come "root" da una riga di comando.

  1. Sembra che tu abbia già riavviato ma, nel caso, assicurati che il kernel riconosca il disco più grande

    echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
    
  2. Ridimensiona la seconda partizione con fdisk

    fdisk /dev/sda
    p     # print current
    d     # delete
    - 2
    n     # create
    - p   # primary partition
    2     # partition number
    - default first/last cylinders
    t     # change partition id
    - 2
    - 8e (hex code)
    p     # print the current again to verify it's expanded
    w     # write changes
    
  3. Riavvia la macchina virtuale

    shutdown -r now
    
  4. Una volta eseguito il backup, ridimensiona il volume fisico LVM

    pvresize /dev/sda2
    
  5. Ora ridimensiona il volume logico LVM ( NOTA: non riesco a decifrare quale sia il nome del tuo volume logico basato sugli screenshot e quindi sto assumendo LogVol00. Puoi determinarlo eseguendo lvdisplay.)

    lvresize -l +100%FREE /dev/VolGroup00/LogVol00
    
  6. Infine, consente di ridimensionare il filesystem

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. Verifica che il filesystem sia più grande

    df -h
    
  8. Fatto


Nessun riavvio necessario dopo fdisk. Usa partprobelì. SCSI-rescan è interessante: funziona su un disco in uso?
Nils,

1
In ritardo alla festa: p ho avuto problemi con partprobe non rileggere le partizioni in uso, quindi finisco per riavviare in quasi tutti i casi. La scansione SCSI funziona perfettamente con i dischi in uso. Puoi eseguire dmesgper confermare che il disco è visto come la nuova dimensione
TheDude

triste che non vi sia nulla di simile a uno scsi-rescan per i dischi xen-pv. Ma questo è un altro argomento ...
Nils,

1
Grazie mille, le tue istruzioni hanno funzionato perfettamente!
Chris Haas,

Cosa dovrei cercare dopo il passaggio 1 (echo & rescan)? Come posso sapere se il kernel riconosce lo spazio extra o no?
Jeff

4

I passaggi seguenti hanno esteso la mia partizione da 12G a 26GB su un VMWare EXSi 5.5 con Centos 6 EXT4 VPS.

1) Identificare il nome del dispositivo, che è di default / dev / sda, e confermare la nuova dimensione eseguendo il comando:

# fdisk -l

2) Ottieni l'elenco delle partizioni per il dispositivo / dev / sda:

# ls -al /dev/sda*

brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2

3) Crea una nuova partizione primaria

# fdisk /dev/sda

Then type:
  n (enter) [create new partition]
  p (enter) [primary partition]
  3 (enter) [next available number from listed /dev/sda partitions in 2)
  (enter)   [start cylinder]
  (enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
  t (enter) [change partition type]
  3 (enter) [selecting /dev/sda3 partition]
  8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types] 
  w (enter)

  The partition table has been altered!

4) Riavviare Centos 6.X, quindi accedere nuovamente con i privilegi di root

# reboot

5) Verifica che la nuova partizione sia pronta e digita "8e":

# fdisk -l

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        3916    14678054   8e  Linux LVM

6) Crea volume fisico:

# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

7) Scopri il nome del gruppo di volumi:

# vgdisplay

--- Volume group ---
VG Name               vg_app1
...

8) Estendi il volume fisico:

# vgextend vg_app1 /dev/sda3

Volume group "vg_app1" successfully extended

9) Estendi il gruppo di volumi esistente al nuovo volume fisico (+ 100% LIBERO può essere modificato alla dimensione desiderata). Poiché stiamo estendendo la partizione di root, puntando quindi a lv_root nel gruppo di volumi vg_app1.

# lvextend -l +100%FREE /dev/vg_app1/lv_root

Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized

10) Ridimensiona il volume della radice logica:

# resize2fs /dev/vg_app1/lv_root

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.

Nota: utilizzare ext2online anziché resize2fs se si tratta di una macchina virtuale Red Hat.

11) Controlla lo spazio disponibile:

# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
                      26G   10G   14G  42% /
tmpfs                 9.8G     0  9.8G   0% /dev/shm
/dev/sda1             477M   88M  364M  20% /boot

2

Facile. Entra nella tua VM come root. Digita "fdisk -l" - se vedi già le dimensioni del nuovo disco - buono.

In caso contrario - prova partprobe- se ancora non vedi la nuova dimensione del disco - riavvia.

Adesso fdisk /dev/sda

  1. Annota il cilindro di partenza per la seconda partizione.
  2. "Elimina" il secondo partiton
  3. Ricrea il secondo partitone, lo stesso cilindro di partenza, l'ultimo cilindro per la fine
  4. imposta il tipo di partizione ricreata su 8e (LVM)
  5. scrivere le modifiche ed uscire da fdisk
  6. partprobe
  7. pvresize /dev/sda2

Ora il tuo VG VolGroup00 ha 20 GB di spazio in più. Fai quello che ti piace. Proprio come faresti su un sistema fisico (ridimensionare LV, ad esempio ridimensionare FS).


echo 1> / sys / class / scsi_disk / 0 \: 0 \: 0 \: 0 / device / rescan esegue la scansione magica senza riavvio
andrej

@andrej Anche se il disco è in uso?
Nils,

Sì, è magia di basso livello sul lato controller, quindi funzionerà anche su dischi montati. Devi solo essere sicuro di aver ingrandito l'unità, non di sottrarre spazio da essa.
Andrej

2

Scarica il CD ISO live di Gparted . Quindi collegare ISO a CentOS e avviare da cd live (andare alle impostazioni della macchina virtuale, selezionare “CD / DVD” e selezionare “Usa ISO” dal pannello di destra). Quindi selezionare la partizione che si desidera ridimensionare. Fai clic sul menu delle partizioni (barra dei menu in alto), quindi fai clic su "Ridimensiona". Quindi selezionare "Applica tutte le operazioni" dal menu "Modifica".


Ho caricato, ma l'unità ha l'icona di blocco .. Ho allegato l'immagine
Andrew


Grazie! +1 per questo suggerimento di applicazione simile alla magia delle particelle.
jstuardo,

0

Qui sto prendendo una partizione di esempio per espandere il disco da 5 GB a 7 GB senza perdere dati. Puoi cambiare in base al tuo spazio libero disponibile.

Prima di aumentare il disco, ho preso i seguenti dettagli dalla macchina virtuale Linux:

# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1               1         652     5237158+  83  Linux

Spegni ora la VM.

Ora ho intenzione di aumentare il disco virtuale esistente (/dev/sdb ) da VMware al prompt dei comandi. Nota: questa attività deve essere eseguita solo quando la VM è spenta.

Vai alla posizione della posizione del disco virtuale.

# vmware-vdiskmanager -x  7Gb RedHatEnterprise_Linux_4-0.vmdk

Ora farà crescere il disco virtuale a 7Gb

Ora devi accendere la VM. Accedere alla VM usando PuTTY o la console come utente root.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test

Mostra ancora le vecchie dimensioni. Smonta la partizione che intendi aumentare.

# umount /dev/sdb1

Esegui la riparazione del file system sul disco

# fsck -n /dev/sdb1

Ora sono in procinto di rimuovere il journal dal disco per trasformarlo in un filesystem ext2.

# tune2fs -O ^has_journal /dev/sdb1

Ora inizia il partizionamento /dev/sdbper assegnare lo spazio maggiore a /dev/sdb1. Nota: non preoccuparti, non perderai i dati qui.

Sto rimuovendo quello esistente /dev/sdb1e ricreando insieme allo spazio libero disponibile.

# fdisk /dev/sdb
Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+  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-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         913     7333641   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Ora riavvia la macchina Linux per rendere effettiva la partizione (possiamo anche usare partprobe, si consiglia vivamente di riavviare la macchina).

# shutdown now -r

Ora controlla ancora una volta il file system esteso, se salti questo passaggio, il resize2fscomando ti consiglierà di eseguirlo.

# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
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
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks

Ora ridimensiona il file system.

# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.

Ora controlla il file system.

# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks

Ora ricrea la partizione con il formato ext3.

# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Riavvia il computer Linux una volta per utilizzare in modo efficace il filesystem ext3.

# shutdown -r now

Ancora una volta accedi al box Linux usando i privilegi di root. Ora puoi trovare la partizione aumentata a 7 GB.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.8G  2.1G  4.5G  32% /
/dev/sda1              99M   12M   83M  13% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sdb1             6.9G   39M  6.7G   1% /mnt/test

Perché rimuovi e ripristini il diario? Questo non è necessario, un filesystem ext3 può essere esteso come pure un filesystem ext2. Inoltre, ti manca un grosso pezzo del puzzle: la partizione da estendere è su LVM.
Gilles 'SO- smetti di essere malvagio' il

0

L'ho appena fatto, in VMware, con CentOS 6.4. La risposta numero 1 è corretta, ma manca un passaggio, che ho scoperto.

In Gparted, la mia aveva anche l'icona di blocco.

Sulla riga con la partizione, che ha l'icona di blocco, fare clic con il tasto destro e selezionare "disattiva". Questo fa scomparire la serratura.

Quindi è possibile fare clic con il tasto destro e modificare la dimensione della partizione.

Quindi applicare la modifica.

Quindi fare clic con il tasto destro e selezionare "attiva".


0

È possibile eseguire i passaggi 5 e 6 aggiungendo l' -ropzione a lvresize. Ciò verrà lvresizeeseguito resize2fsautomaticamente con i parametri richiesti:

lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00

Benvenuto in * nix StackExchange!

0

Per CentOS 6.6 su VMWare, ho fatto quanto segue per aumentare da 30 GB a 40 GB (nota che non stavo usando LVM, solo normali partizioni Linux native (Id 83)):

NOTA: eseguire prima un backup della VM in caso di perdita di dati. Non dovresti perdere i dati se tutto va bene.

  1. VMWare mi ha fornito una GUI quando ho modificato la mia VM prima di avviarla per ridimensionare la quantità disponibile per la VM. L'ho usato e l'ho esteso a 40 GB.
  2. Ho quindi avviato CentOS ed eseguito 'fdisk -l' come root. Ho potuto vedere il nuovo spazio. Ho quindi eseguito 'df -h' per verificare che la mia vecchia partizione fosse ancora lì.
  3. Ho quindi eseguito 'cfdisk / dev / sda' e ho ottenuto una GUI testuale che mostrava le mie partizioni. Nel mio caso la partizione che volevo ridimensionare era / dev / sda3 ed era l'ultima partizione.
  4. Ho quindi usato cfdisk per eliminare la partizione, quindi crearne una nuova con tutto lo spazio disponibile. Ho scritto le mie modifiche e ho lasciato.
  5. Ho quindi riavviato la VM (arresto ora -r).
  6. Dopo il riavvio, ho usato 'resize2fs / dev / sda3', dove / dev / sda3 è la partizione che ho ricreato. Questo ha completato automaticamente il ridimensionamento per me.
  7. Ora con 'df -h' vedo la nuova dimensione intera.

Informazioni trovate da una combinazione di risposte in questa pagina e su http://positon.org/resize-an-ext3-ext4-partition


0

Un altro approccio è quello di creare un LVM con spanning su un disco intero anziché su una partizione.

In questo caso puoi aggiungere un disco a caldo usando il seguente metodo

blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE

0

A volte devi farlo

echo "- - -" >  /sys/class/scsi_host/host<n>/scan

Dipende dal fatto che tu stia creando un nuovo disco o ne estenda uno esistente su quale tipo di scansione sia richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.