Come faccio a far rileggere a Centos VM la dimensione del disco aumentata SENZA un riavvio


16

Ho una VM CentOS 5 e ho appena aumentato il disco VM da 10G a 20G, ma non riesco a ottenere fdisk per vedere la nuova dimensione del disco senza riavviare.

Ho provato echo 1 > /sys/block/sda/device/rescan, sembra indicare che può vedere la nuova dimensione, ma quando vado su fdisk per creare una nuova partizione vede ancora il disco come 10G.

Qualche idea?


A seconda della piattaforma di virtualizzazione e del metodo di archiviazione, ciò può essere o non essere possibile. I dettagli contano.
womble

Quale tipo di disco virtuale hai aggiunto: IDE o SCSI?
quanta

Quel primo comando ha funzionato per me ...
Rodo

Risposte:


11

È necessario emettere il comando rescan sul bus SCSI.

In VMware il controller SCSI potrebbe trovarsi in un posto insolito. Per prima cosa trovalo:

find /sys -iname 'scan'

Per me è tornato

/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
/sys/devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1/scan
/sys/devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2/scan

Quindi emettere semplicemente il comando rescan

echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host0/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:07.1/host0/scsi_host/host1/scan
echo "- - -" >/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host2/scan

Questo dovrebbe aiutare. :)


5
ls /sys/class/scsi_hostforse più veloce.
quanta,

11

Ho dovuto affrontare un problema simile, su un server SLES 11. LVM è stato creato con dischi non elaborati, in esecuzione su VMWare ESXi

# pvcreate /dev/sdd; vgextend ....

Dopo un po 'avevo bisogno di aumentare le dimensioni di LVM, ma non ho aggiunto un disco supplementare e quindi pvcreate + vgextend come ho fatto prima, ma ho scelto di aumentare le dimensioni di un disco esistente (/ dev / sdd in questo caso ). Dopo aver fatto l'aumento di VMWare, ho eseguito un

# rescan-scsi-bus.sh

Ma pvdisplay mostrava ancora le "vecchie" dimensioni del disco. Era necessario fare un

# echo 1 > /sys/block/sdd/device/rescan

affinché il kernel apprenda la nuova dimensione del disco di / dev / sdd


6
echo 1 > /sys/block/sda/device/rescanha lavorato per me su CentOS
Benedikt Köppel il

-bash: / sys / module / scsi_mod / parametri / scan: Autorizzazione negata, nome utente è root
Sarz

7

dopo averlo fatto per primo echo 1 > /sys/block/sda/device/rescan

pvresize /dev/sda ha fatto il trucco per me


3

Se la tabella delle partizioni è direttamente in uso (ad es. Hai montato un filesystem usando una partizione di base) il kernel continuerà a usare la vecchia tabella delle partizioni fino a quando non sarà più così. Qualcuno una volta mi ha detto che se stai usando LVM puoi aggirare questo ...


2

Aggiornamento: Centos 6 - impossibile aggiornare la tabella delle partizioni del disco attivo online, Centos 7 - è possibile estendere l'ultima partizione con growpart o creare una nuova partizione con fdisk e renderla visibile senza riavviare con partprobe . Probabilmente lo stesso su Ubuntu / Debian. - A un certo punto dopo il kernel 2.6 ha iniziato a supportare la rilettura online della tabella delle partizioni del disco attivo. Poiché la domanda è per Centos 5, direi che non c'è modo.

Se si utilizzano partizioni, è necessario riavviare per utilizzare nuovo spazio. Non ho trovato un modo per evitarlo. Se qualcuno mi ha fatto sapere.

Tuttavia, il riavvio dovrebbe essere eseguito dopo aver esteso l'ultima partizione sul disco o aver aggiunto una nuova partizione. Non ha senso riavviare prima.

La prima cosa da notare dopo che rescan è la dimensione del disco più grande in fdisk e in lsblk. Se non lo vedi devi giocare con questi comandi echo 1 ed echo - - -.

Dopo aver visto più spazio è possibile estendere / aggiungere la partizione, quindi riavviare, estendere vg, estendere lv e fs.

Se si desidera evitare il riavvio, è necessario assegnare il disco raw sda / b / c al gruppo di volumi senza partizionarlo su sda1 / 2/3. Quindi non è necessario riavviare.

Il partizionamento era necessario qualche tempo fa quando Linux non poteva avviarsi da LVM, ma ora può farlo.

Se fai lsblk vedrai partizioni o lvms a seconda se stai usando partizioni o lvm, puoi avere tutte le parti se non usi lvm o tutte le lvms se non usi le partizioni. Ecco un esempio:

root@srv4 ~ $ lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0  7.3T  0 disk
├─sda1                        8:1    0  500M  0 part /boot
└─sda2                        8:2    0  7.3T  0 part
  ├─vg_srv4-LogVol13 (dm-0) 253:0    0  7.1T  0 lvm  /
  ├─vg_srv4-LogVol05 (dm-1) 253:1    0  100G  0 lvm  /var/log
  ├─vg_srv4-LogVol04 (dm-2) 253:2    0   20G  0 lvm  /var
  ├─vg_srv4-LogVol01 (dm-5) 253:5    0   20G  0 lvm  /opt
  ├─vg_srv4-LogVol00 (dm-6) 253:6    0   20G  0 lvm  /home
  ├─vg_srv4-LogVol03 (dm-7) 253:7    0   20G  0 lvm  /usr
  └─vg_srv4-LogVol02 (dm-8) 253:8    0    8G  0 lvm  /tmp


-5

Devi riavviare, non c'è modo di evitarlo.


Che ne dici del sistema di forza per eseguire nuovamente la scansione?
quanta

Ho dovuto riavviare :-(
AndyM

Ho dovuto riavviare anche io.
ondra,

1
Questo è completamente falso. L'ho fatto più volte senza riavviare.
Duncan X Simpson,
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.