¿Cómo consigo que Centos VM vuelva a leer su tamaño de disco aumentado SIN reiniciar?

16

Tengo una VM CentOS 5 y acabo de aumentar el disco VM de 10G a 20G, pero no puedo obtener fdisk para ver el nuevo tamaño del disco sin reiniciar.

Lo he intentado echo 1 > /sys/block/sda/device/rescan, parece indicar que puede ver el nuevo tamaño, pero cuando voy a fdisk para crear una nueva partición, todavía ve el disco como 10G.

¿Algunas ideas?

AndyM
fuente
Dependiendo de su plataforma de virtualización y método de almacenamiento, esto puede o no ser posible. Los detalles importan.
womble
¿Qué tipo de disco virtual ha agregado: IDE o SCSI?
quanta
Ese primer comando funcionó para mí ...
Rodo

Respuestas:

11

Debe emitir el comando rescan a su bus SCSI.

En VMware, el controlador SCSI puede encontrarse en algún lugar inusual. Primero encuéntralo:

find /sys -iname 'scan'

Para mi que volvio

/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

Luego solo emita el 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

Eso debería ayudar. :)

Janne Pikkarainen
fuente
55
ls /sys/class/scsi_hostQuizás más rápido.
quanta
11

Tuve que lidiar con un problema similar, en un servidor SLES 11. El LVM se creó con discos sin formato, ejecutándose en VMWare ESXi

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

Después de un tiempo, necesitaba aumentar el tamaño de LVM, pero no agregué un disco suplementario y luego pvcreate + vgextend como lo hice antes, pero elegí aumentar el tamaño de un disco existente (/ dev / sdd en este caso ) Después de hacer el aumento en VMWare, ejecuté un

# rescan-scsi-bus.sh

Pero pvdisplay seguía mostrando el tamaño de disco "antiguo". Era necesario hacer un

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

para que el núcleo aprenda el nuevo tamaño de disco de / dev / sdd

enterco
fuente
66
echo 1 > /sys/block/sda/device/rescantrabajó para mí en CentOS
Benedikt Köppel el
-bash: / sys / module / scsi_mod / parameter / scan: Permiso denegado, el nombre de usuario es root
Sarz
7

después de hacer primero echo 1 > /sys/block/sda/device/rescan

pvresize /dev/sda hizo el truco para mí

kurt5
fuente
3

Si la tabla de particiones está directamente en uso (por ejemplo, si ha montado un sistema de archivos utilizando una partición base), el núcleo continuará utilizando la tabla de particiones anterior hasta que ya no sea el caso. Alguien me dijo una vez que si estás usando LVM puedes evitar esto ...

Luego
fuente
2

Actualización: Centos 6 - no es posible actualizar la tabla de particiones del disco activo en línea, Centos 7 - es posible extender la última partición con growpart o crear una nueva partición con fdisk y hacerla visible sin reiniciar con partprobe . Probablemente lo mismo en ubuntu / debian. - En algún momento después del kernel 2.6 comenzó a admitir la relectura en línea de la tabla de particiones del disco activo. Como la pregunta es para Centos 5, diría que no.

Si está utilizando particiones, debe reiniciar para usar un nuevo espacio. No encontré una manera de evitar esto. Si alguien me lo ha hecho saber.

Sin embargo, el reinicio debe hacerse después de extender la última partición en el disco o agregar una nueva partición. No tiene sentido reiniciar antes.

Lo primero que debe notar después de volver a analizar es un tamaño de disco más grande en fdisk y en lsblk. Si no lo ve, debe jugar con estos comandos echo 1 y echo - - -.

Después de ver más espacio, puede extender / agregar partición, luego reiniciar, extender vg, extender lv y fs.

Si desea evitar el reinicio, debe asignar un disco sda / b / c sin procesar al grupo de volúmenes sin particionarlo en sda1 / 2/3. Entonces no hay necesidad de reiniciar.

Particionar era necesario hace algún tiempo cuando Linux no podía arrancar desde LVM, pero ahora sí.

Si hace lsblk, verá particiones o lvms dependiendo de si está usando particiones o lvm, puede tener todas las partes si no usa lvm o todas las lvms si no usa particiones. Aquí hay un ejemplo:

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
difuminar
fuente
-5

Tienes que reiniciar, no hay forma de evitarlo.

pfo
fuente
¿Qué tal el sistema de fuerza para volver a escanear?
quanta
Tuve que reiniciar :-(
AndyM
Tuve que reiniciar también.
ondra
1
Esto es completamente falso. Lo he hecho varias veces sin reiniciar.
Duncan X Simpson