Search Suggest

Añadir discos a un Linux que corra sobre VMWare

Cómo añadir un disco a un sistema Linux que corre sobre VMWare sin reiniciar la máquina.



Con la llegada de los entornos virtuales llegaron nuevos desafíos, como por ejemplo, cómo añadir un disco a una máquina virtual encendida y hacer que esta lo detecte sin tener que reiniciar la máquina.

Para añadr un disco a una máquina virtual Linux que corra sobre VMware, lo primero que debemos hacer es añadir un disco a dicha máquina desde el hipervisor.

Al añadir un disco en caliente, Linux no se dará cuenta de que se le ha conectado nuevo hardware hasta que se lo indiquemos. Para ello, debemos usar sysfs para decirle al kernel que rescanee los buses (o channels, en terminología SCSI) con el fin de que el sistema operativo pueda ver el nuevo disco.


Método manual



Con el comando lsscsi, listamos todos los dispositivos SCSi detectados por el sistema:

HOST# lsscsi [1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda

Entre corchetes, encontraremos 4 números representados como [ <H> <C> <T> <L> ]

- <H> es el host adapter
- <C> es el channel (bus) en el host adapter.
- <T> es el target ID.
- <L> es el Logical Unit Number.

A continuación, buscaremos a qué host adapter está conectado el disco que acabamos de añadir:

HOST# grep mpt /sys/class/scsi_host/host?/proc_name /sys/class/scsi_host/host2/proc_name:mptspi

Con el comando anterior, hemos visto que el disco está conectado al host2. Ahora le diremos al kernel que reescanee todos los controladores de ese host adapter:

HOST# echo "- - -" > /sys/class/scsi_host/host2/scan

Los tres valores "- – -" representan:

- Channel (bus)
- SCSI target ID
- LUN

Los guiones son comodines que significan "reescanea todo".

Después del escaneo, comprobamos que el sistema operativo ya ve el disco:

HOST# lsscsi [1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda [2:0:1:0] disk VMware, VMware Virtual S 1.0 /dev/sdb


Alternativa: rescan-scsi-bus.sh



Alternativamente, podemos reescanear los adaptadores SCSI con el comando rescan-scsi-bus.sh del paquete sg3_utils. Este script hace todo el proceso anterior automáticamente:

HOST# rescan-scsi-bus.sh -a

Alguna gente es crítica con este script, quejándose de que a veces falla. Personalmente, debo decir que siempre que lo he usado me ha funcionado la mar de bien.


Fuentes:

http://systemadmin.es/2017/06/hacer-un-rescan-de-discos-iscsi
https://ssh.guru/adding-and-removing-disks-from-linux-guest/
https://blog.fpmurphy.com/2017/05/adding-and-removing-disks-from-vmware-rhel7-guests...

Đăng nhận xét