Internet Small Computer System Interface (iSCSI) è uno standard basato su IP per la connessione di dispositivi di archiviazione. iSCSI utilizza reti IP per incapsulare i comandi SCSI, consentendo il trasferimento dei dati su lunghe distanze. iSCSI fornisce storage condiviso tra diversi sistemi client. I dispositivi di archiviazione sono collegati ai server (target). I sistemi client (iniziatori) accedono ai dispositivi di archiviazione remoti su reti IP. Ai sistemi client, i dispositivi di archiviazione sembrano essere collegati localmente. iSCSI utilizza l'infrastruttura IP esistente e non richiede alcun cablaggio aggiuntivo, come nel caso delle reti di archiviazione Fibre Channel (FC).
Il post descrive come risolvere il problema di iSCSI utilizzando tcpdump.
Comandi utili
Di seguito sono riportati alcuni comandi utili per raccogliere informazioni sulla configurazione iSCSI corrente che potresti avere.
1. Per ottenere l'elenco degli obiettivi, eseguire:
# iscsiadm -m discovery
2. Per ottenere l'elenco dei nodi, eseguire:
# iscsiadm -m node
3. Il demone iscside apre una sessione TCP con il target . Per controllare la sessione aperta, esegui:
# iscsiadm -m session
o
# netstat -tpan | grep iscsid
oppure controlla /sys/class/iscsi_session
4. Trova a quale sessione appartiene un disco:
# iscsiadm -m session
L'output includerà sessioni attive e dischi SCSI collegati.
Debug dei problemi di iSCSI
1. Disconnettersi dalle connessioni iSCSI con il comando:
# iscsiadm --mode node --targetname [target_name(iqn)] --portal [target_IP:port_number] --logout
2. Arresta il demone iscsid:
# service iscsid stop ### RHEL 6 # systemctl iscsid stop ### RHEL 7
3. Avviare l'acquisizione dei pacchetti sull'interfaccia di rete:
# tcpdump -s0 -i [interface] -w /var/tmp/[interface]-dump.pcap
4. Avvia iscsid in modalità debug e scrivi tutti gli output nel file /tmp/iscsid.log :
# iscsid -d 8 -c /etc/iscsi/iscsid.conf -i /etc/iscsi/initiatorname.iscsi -f &> /tmp/iscsid.log
5. Dopodiché, accedi di nuovo alla destinazione:
# iscsiadm --mode node --targetname [target_name] --portal [target_IP:port_number] --login
Aspetta di avere errori nei log. Quindi interrompere sia il programma tcpdump che quello iscsid da rivedere (*.pcap e iscsid.log).
NOTA :L'aggiunta del parametro "-d 8" allo script init.d non aggiungerà alcun registro di debug in /var/log/messages. Come configurare iSCSI Initiator (client) in CentOS / RHEL 6Come configurare la destinazione iSCSI utilizzando targetcli in CentOS/RHEL 7
Come configurare iSCSI Initiator (client) in CentOS/RHEL 7
CentOS/RHEL 6,7 :Come eliminare una destinazione iSCSI sull'iniziatore (client iSCSI )