Linux SCSI

Da Emigar.
Jump to navigation Jump to search

Scansione BUS SCSI

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

Cancellazione LUN

    echo "scsi remove-single-device <host> <channel> <ID> <LUN> " > /proc/scsi/scsi

oppure:

    echo 1 > /sys/block/sdX/device/delete

Aggiunta forzata LUN

    echo "scsi add-single-device <host> <channel> <ID> <LUN> " > /proc/scsi/scsi

Dischi VirtIO (non scsi)

    echo 1 > /sys/bus/pci/rescan

Fibre Channel QLogic

Per connettere a caldo LUN tramite adattatori Fibre Channel qla2xxx usare il seguente comando:

#!/bin/sh

## attenzione, può essere distruttivo!
## usare ad un path alla volta!
echo "1" > /sys/class/fc_host/host0/issue_lip
sleep 30
echo "1" > /sys/class/fc_host/host1/issue_lip
sleep 30

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

## su kernel precedenti
echo "scsi-qlascan" > /proc/scsi/qla2xxx/0
echo "scsi-qlascan" > /proc/scsi/qla2xxx/1

cat /proc/scsi/qla2xxx/0
cat /proc/scsi/qla2xxx/1




successivamente utilizzare il comando

rescan-scsi-bus.sh

che si può trovare sul sito:

http://www.garloff.de/kurt/linux/scsidev/


resize disk

 echo 1 > /sys/block/sdX/device/rescan

In caso di multipath, dopo aver eseguito la resize dei path sottostanti:

 multipathd -k << EOF
 resize map mpathX
 EOF

Per controllare se ha funzionato:

 dmsetup table mpathX


Se c'è la tabella delle partizioni

Con la tabella delle partizioni, le cose si complicano. Se non c'è multipath, l'unica possibilità è un riavvio.

Se c'è multipath, si puo fare:

  • eseguire il rescan SCSI dei devices
ls -1 /sys/block/sd*/device/rescan | while read X
do
  echo 1 > ${X}
done
  • modificare la tabella delle partizioni tramite fdisk, o tramite:
sfdisk -d /dev/mapper/mpathXX > part.out
vi part.out
sfdisk /dev/mapper/mpathXX < part.out
  • forzare la rilettura della tabella delle partizioni su tutti i devices componenti:
ls -1 /dev/sd[a-z] /dev/sd[a-z][a-z] | while read X
do
 sfdisk -R ${X}
done
  • verificare se i devices componenti hanno riletto la tabella delle partizioni
ls -1 /dev/sd[a-z] /dev/sd[a-z][a-z] | while read X; do sfdisk -d ${X}; done | more
  • riconfigurare multipath
multipath -l
echo 'reconfigure' | multipathd -k
multipath -l
  • eventuale rescan delle partizioni dei multipath
ls -1 /dev/mapper/mpath* | while read X
do
 kpartx ${X}
done
  • verifica dello stato dei devices multipath:
ls -1 /dev/mapper/mpath[a-z] | while read X; do dmsetup table ${X}; done
ls -1 /dev/mapper/mpath[a-z]p[1-9] | while read X; do dmsetup table ${X}; done