systemadmin.es > Storage > SAN > Buscar discos nuevos SCSI mediante el /sys

Buscar discos nuevos SCSI mediante el /sys

En ciertos dispositivos para servidores es posible agregar discos en caliente y crear los RAIDs sin tener que reiniciar el sistema. Hoy vamos a ver como hacer el rescan de de un dispositivo SCSI genérico, típicamente una máquina virtual con VMWare.

Mediante el /proc/partitions podemos ver las particiones de los discos:

# cat /proc/partitions
major minor  #blocks  name

   8     0    8388608 sda
   8     1    8385898 sda1

Y mediante el /proc/scsi/scsi podremos listar los discos disponibles. En este caso se trata de una máquina virtual con VMWare:

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02

Para pedir al sistema que haga el rescan del bus deberemos hacer el siguiente echo al fichero /sys/class/scsi_host/host0/scan

echo - - - > /sys/class/scsi_host/host0/scan

En caso de disponer de más de un dispositivo SCSI deberemos seleccionar el host que corresponda.

En el dmesg podremos ver el nuevo disco añadido:

# dmesg
ide: failed opcode was: 0xec
  Vendor: VMware,   Model: VMware Virtual S  Rev: 1.0
  Type:   Direct-Access                      ANSI SCSI revision: 02
 target0:0:1: Beginning Domain Validation
 target0:0:1: Domain Validation skipping write tests
 target0:0:1: Ending Domain Validation
 target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 127)
SCSI device sdb: 2097152 512-byte hdwr sectors (1074 MB)
sdb: Write Protect is off
sdb: Mode Sense: 5d 00 00 00
sdb: cache data unavailable
sdb: assuming drive cache: write through
SCSI device sdb: 2097152 512-byte hdwr sectors (1074 MB)
sdb: Write Protect is off
sdb: Mode Sense: 5d 00 00 00
sdb: cache data unavailable
sdb: assuming drive cache: write through
 sdb: unknown partition table
sd 0:0:1:0: Attached scsi disk sdb
sd 0:0:1:0: Attached scsi generic sg1 type 0

Repitiendo los cat en el proc podremos ver la nueva LUN añadida:

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02

De la misma manera lo podremos ver en el /proc/partitions

# cat /proc/partitions
major minor  #blocks  name

   8     0    8388608 sda
   8     1    8385898 sda1
   8    16    1048576 sdb

Ya se ha visto anteriormente cómo hacer el rescan de los discos presentados usando una HBA qlogic

6 comments to “Buscar discos nuevos SCSI mediante el /sys”

  1. Recién conozco tu blog (vía security by default). Excelente aporte, va directo a los bookmarks 😀

    Gracias por compartir tu conocimiento!

    Martín

  2. De nada! Espero que lo que encuentres aquí te sea útil

    saludos!

  3. La verdad es que me ha venido de lujo el comando, y yo pensando que tenía que reiniciar los servidores cuando añadía un disco.
    La verdad es que este blog está estupendo

  4. Tiene tiempo este post pero lo necesite hoy…tendras mas informacion acerca de los host? en un servidor tengo mas de 4 host y quisiera saber cual es una buena practica para determinar que host esta tomando los discos y donde se define esa parte?

  5. Mediante el /proc/scsi/scsi puedes ver que host es cada uno:

    # cat /proc/scsi/scsi 
    Attached devices:
    Host: scsi0 Channel: 02 Id: 00 Lun: 00
      Vendor: DELL     Model: PERC 6/i         Rev: 1.11
      Type:   Direct-Access                    ANSI  SCSI revision: 05
    Host: scsi1 Channel: 00 Id: 00 Lun: 00
      Vendor: HL-DT-ST Model: DVD-ROM GDR-T10N Rev: 1.02
      Type:   CD-ROM                           ANSI  SCSI revision: 05
    Host: scsi4 Channel: 00 Id: 00 Lun: 00
      Vendor: EQLOGIC  Model: 100E-00          Rev: 4.3 
      Type:   Direct-Access                    ANSI  SCSI revision: 05
    Host: scsi3 Channel: 00 Id: 00 Lun: 00
      Vendor: EQLOGIC  Model: 100E-00          Rev: 4.3 
      Type:   Direct-Access                    ANSI  SCSI revision: 05
    
  6. Hola,

    Me parece un post fantastico!!!

    Una vez tengo localizada el disco como lo debería hacer para particionarlo?

    Entiendo que puedo asegurarme que es ese disco por el LUN ID, ya que no se puede repetir, no?

    MIL GRACIAS

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>