Linux SCSI: differenze tra le versioni
Jump to navigation
Jump to search
(14 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
==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: |
Per connettere a caldo LUN tramite adattatori Fibre Channel qla2xxx usare il seguente comando: |
||
<pre> |
<pre> |
||
#!/bin/sh |
#!/bin/sh |
||
#echo "scsi add-single-device 1 2 3 4">/proc/scsi/scsi |
|||
## attenzione, può essere distruttivo! |
|||
echo "scsi-qlascan" > /proc/scsi/qla2xxx/0 |
|||
## usare ad un path alla volta! |
|||
echo "scsi-qlascan" > /proc/scsi/qla2xxx/1 |
|||
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/host0/scan |
||
echo "- - -" > /sys/class/scsi_host/host1/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/0 |
||
cat /proc/scsi/qla2xxx/1 |
cat /proc/scsi/qla2xxx/1 |
||
</pre> |
</pre> |
||
Riga 21: | Riga 58: | ||
http://www.garloff.de/kurt/linux/scsidev/ |
http://www.garloff.de/kurt/linux/scsidev/ |
||
==Cancellazione LUN== |
|||
=resize disk= |
|||
echo "scsi remove-single-device host channel ID LUN " > /proc/scsi/scsi |
|||
echo "scsi add-single-device host channel ID LUN " > /proc/scsi/scsi |
|||
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'è <code>multipath</code>, l'unica possibilità è un riavvio. |
|||
Se c'è <code>multipath</code>, 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 <code>fdisk</code>, 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 <code>multipath</code> |
|||
multipath -l |
|||
echo 'reconfigure' | multipathd -k |
|||
multipath -l |
|||
*eventuale rescan delle partizioni dei <code>multipath</code> |
|||
ls -1 /dev/mapper/mpath* | while read X |
|||
do |
|||
kpartx ${X} |
|||
done |
|||
*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]p[1-9] | while read X; do dmsetup table ${X}; done |
|||
Versione attuale delle 14: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
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