Appendice B. Dischi ISCSI

Internet Small Computer System Interface (iSCSI) è un protocollo che consente ai computer di comunicare con dispositivi di memorizzazione tramite richieste e risposte iSCSI inviate tramite TCP/IP. Siccome iSCSI si basa sul protocollo iSCSI utilizza la terminologia di SCSI. I dispositivi sul bus SCSI verso i quali vengono inviate le richieste (e che rispondono alle richieste) sono noti come target e il dispositivo che invia richieste è noto come iniziatore. In altre parole, un disco iSCSI è un target e il software equivalente iSCSI a un controller SCSI o SCSI Host Bus Adapter (HBA) viene chiamato iniziatore. Questa appendice copre solo Linux come iniziatore iSCSI: come Linux usa dischi iSCSI ma non come Linux ospita dischi iSCSI.
Linux è fornito di un iniziatore software iSCSI nel kernel che sostituisce e forma un driver HBA iSCSI e pertanto consente a linux di usare dischi iSCSI. Comunque, iSCSI è un protocollo completamente basato sulla rete. Il supporto all'iniziatore iSCSI non è solo in grado di inviare pacchetti SCSI tramite rete. Prima che Linux possa usare un target iSCSI, Linux deve trovare il target sulla rete e creare una connessione. In alcuni casi, Linux deve inviare informazioni di autenticazione tramite rete per guadagnare l'accesso al target. Linux inoltre deve rilevare eventuali errori della connessione di rete e deve stabilire una nuova connessione, incluso un nuovo accesso se necessario.
Il rilevamento, connessione e logging vengono gestiti nello spazio utente dallo strumento iscsiadm e la gestione dell'errore viene inoltre gestita da iscsid.
Sia iscsiadm e iscsid sono parte del pacchetto iscsi-initiator-utils sotto Red Hat Enterprise Linux.

B.1. dischi iSCSI in anaconda

Anaconda può scoprire (e quindi effettuare l'accesso) a dischi iSCSI in due modi:
  1. Quando si avvia anaconda, viene controllato se il BIOS o le ROM di avvio del sistema supporta iSCSI Boot Firmware Table (iBFT), una estensione BIOS per sistemi che possono avviare da iSCSI. Se il BIOS supporta iBFT, anaconda leggerà le informazioni del target iSCSI per il disco di avvio configurato dal BIOS e accederà a questo target, rendendolo disponibile come target di installazione.
  2. Se selezionate l'opzione Dispositivi di storage specializzati durante l'installazione, la schermata di selezione del dispositivo di storage presenterà all'utente il pulsante Aggiungi target avanzato. Se selezionate questo pulsante sarà possibile aggiungere le informazioni sul target iSCSI come l'indirizzo IP. Anaconda analizza l'indirizzo IP dato ed esegue il log in su tutti i target rilevati. Consultare la Sezione 9.6.1.1, «Opzioni di storage avanzate» sulle possibili informazioni da specificare per i target iSCSI.
Mentre anaconda usa iscsiadm per cercare prima ed accedere poi in un terget iSCSI, iscsiadm archivia automaticamente le informazioni sui database iscsiadm iSCSI. Anaconda quindi copia questo database sul sistema installato e marca qualsiasi target iSCSI non usato per / in modo che il sistema possa effettuare l'accesso in modo automatico al momento dell'avvio. Se / si trova su un target iSCSI, initrd effettuerà l'accesso a questo target e anaconda non includerà questo target negli script di avvio per evitare tentativi multipli di accesso nello stesso target.
Se / viene posizionato su un target iSCSI, anaconda imposta NetworkManager per ignorare interfacce di rete attive durante il processo di installazione. Queste interfacce verranno configurate da initrd quando si avvia il sistema. Se NetworkManager dovesse riconfigurare queste interfacce, il sistema potrebbe perdere la connessione verso /.