Linux SCSI: differenze tra le versioni

Da Emigar.
Jump to navigation Jump to search
 
Riga 76: Riga 76:
==Se c'è la tabella delle partizioni==
==Se c'è la tabella delle partizioni==
Con la tabella delle partizioni, le cose si complicano.
Con la tabella delle partizioni, le cose si complicano.
Se non c'è multipath, l'unica possibilità è un riavvio.
Se non c'è <code>multipath</code>, l'unica possibilità è un riavvio.


Se c'è multipath, si puo fare:
Se c'è <code>multipath</code>, si puo fare:


*eseguire il rescan SCSI dei devices
*eseguire il rescan SCSI dei devices
Riga 100: Riga 100:
ls -1 /dev/sd[a-z] /dev/sd[a-z][a-z] | while read X; do sfdisk -d ${X}; done | more
ls -1 /dev/sd[a-z] /dev/sd[a-z][a-z] | while read X; do sfdisk -d ${X}; done | more


*riconfigurare multipath
*riconfigurare <code>multipath</code>
multipath -l
multipath -l
echo 'reconfigure' | multipathd -k
echo 'reconfigure' | multipathd -k
multipath -l
multipath -l


*eventuale rescan delle partizioni dei multipath
*eventuale rescan delle partizioni dei <code>multipath</code>
ls -1 /dev/mapper/mpath* | while read X
ls -1 /dev/mapper/mpath* | while read X
do
do
Riga 111: Riga 111:
done
done


*verifica dello stato dei devices multipath:
*verifica dello stato dei devices <code>multipath</code>:
ls -1 /dev/mapper/mpath[a-z] | while read X; do dmsetup table ${X}; done
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
ls -1 /dev/mapper/mpath[a-z]p[1-9] | while read X; do dmsetup table ${X}; done

Versione attuale delle 16:25, 22 nov 2018

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