LA CAMPANA

C’è chi ha letto questa notizia prima di te.
Iscriviti per ricevere nuovi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

Continuiamo ad analizzare il sistema operativo Windows 10 Oggi parleremo della funzione iniziatore iSCSI su un computer Windows 10 iSCSI è un protocollo di trasferimento dati progettato per stabilire l'interazione e gestire sistemi di archiviazione, server e client. Per avviare iSCSI Initiator sul tuo computer, fai clic sul pulsante Start nell'angolo inferiore sinistro dello schermo. Nella finestra che si apre, fai clic sulla scheda - Tutte le applicazioni.

Nell'elenco di tutte le applicazioni, in fondo, fai clic sulla scheda - Strumenti di amministrazione. Nell'elenco che si apre, fai clic sulla scheda - Iniziatore iSCSI.

Successivamente, nella finestra pop-up, fai clic sul pulsante SÌ, dopodiché si aprirà una finestra in cui potrai creare una connessione rapida. Nel campo Oggetto inserite l'indirizzo IP o il nome DNS dell'oggetto finale con il quale desiderate stabilire una connessione e cliccate sul pulsante – Connessione rapida. Un po' più in basso nel campo dovrebbe essere visualizzato il nome dell'oggetto e il suo stato.

È possibile connettersi utilizzando parametri aggiuntivi. Se desideri disabilitare completamente un oggetto, evidenzia il nome dell'oggetto e fai clic sul pulsante Interrompi o Disabilita. Puoi lavorare con le proprietà dell'oggetto e la configurazione della sessione. Per configurare i dispositivi associati a un oggetto di destinazione, selezionare l'oggetto e fare clic sul pulsante – Dispositivi.

La stesura di questo post è stata preceduta dalla raccolta di informazioni frammentarie e dalla spesa di molte ore alla ricerca di risorse in lingua russa e inglese su Internet alla ricerca di modi relativamente semplici per implementare l'avvio senza disco di un PC.

Il prerequisito per studiare questo problema era la presenza di un computer in rete con un'unità disco guasta. Era necessario eseguire su questo PC un sistema operativo Windows 7 a 64 bit “vero e proprio” senza utilizzare un server Linux, limitandosi solo ai sistemi Windows disponibili sulla rete locale. I prodotti software presentati in questo post sono distribuiti gratuitamente e possono essere eseguiti sia su versioni server che su versioni utente di Windows.

La conversazione riguarderà la meravigliosa tecnologia iSCSI e come possiamo utilizzarla per eseguire l'avvio su una rete locale al fine di risparmiare sui costi di acquisto di nuove apparecchiature disco. Cercherò di descrivere l'intero processo di configurazione nel linguaggio più accessibile sia agli amministratori alle prime armi che agli utenti non esperti.

Per capire cosa sta succedendo, definiamo un po’ la terminologia:

  • iSCSI (Internet Small Computer System Interface) è un protocollo basato su TCP/IP ed è progettato per stabilire l'interazione e gestire sistemi di archiviazione, server e client;
  • Target iSCSI: (Target iSCSI) - un programma o controller hardware (HBA) che emula il disco ed esegue richieste iSCSI;
  • Iniziatore iSCSI: (iniziatore iSCSI) è un programma client o un controller hardware che interagisce con iSCSI Target;
  • IQN: (nome qualificato iSCSI) - identificatore univoco (nome) della destinazione iSCSI o dell'iniziatore iSCSI;
  • LUN: (Numero unità logica) - indirizzo del dispositivo a blocchi compreso tra 0 e 127;
  • DHCP (Dynamic Host Configuration Protocol) è un protocollo di rete che consente ai computer di ottenere automaticamente un indirizzo IP e altri parametri necessari per funzionare su una rete TCP/IP;
  • TFTP (Trivial File Transfer Protocol) viene utilizzato principalmente per l'avvio iniziale di workstation senza disco.

Introduzione

I moderni sistemi operativi Windows 7, Windows Server 2008 e tutti i sistemi più vecchi possono connettersi direttamente a un target iSCSI. L'unico problema è come inizializzare il dispositivo di blocco remoto all'accensione del PC.

Ricordiamo che quasi tutte le moderne schede di rete possono avviarsi utilizzando la tecnologia PXE. Ma soprattutto solo le costose schede di rete per server, ad esempio Intel, sono compatibili con iSCSI. Tuttavia, esistono almeno due progetti open source, gPXE e iPXE, che consentono ai dispositivi iSCSI di connettersi all'avvio del PC. Quest'ultimo, tra l'altro, è un fork del primo, con un sistema di visualizzazione degli errori leggermente modificato e opzioni aggiuntive.

Esistono molti modi per eseguire l'avvio tramite gPXE e iPXE. In questo post esamineremo l'avvio utilizzando iPXE e connetteremo gli script necessari durante il processo di avvio.

La conclusione è questa: all'avvio del computer, la scheda di rete riceve le impostazioni necessarie tramite un server DHCP e carica PXELINUX. Successivamente, il bootloader PXELINUX collega lo script necessario e carica iPXE, che, a sua volta, funge da iniziatore iSCSI e trasferisce il controllo sul disco. Fino all'inizializzazione del dispositivo a blocchi, il trasferimento dei file sulla rete è assicurato dal protocollo TFTP.

Perché scarichiamo PXELINUX?

Alcuni potrebbero chiedersi: perché scaricare PXELINUX? Innanzitutto, tramite PXELINUX, il bootloader iPXE riceve lo script necessario per inizializzare la destinazione iSCSI richiesta. In secondo luogo, in modo da poter creare un menu conveniente con una scelta di diverse opzioni di caricamento. In terzo luogo, se sulla rete sono presenti diverse workstation senza disco, ciascun PC deve connettersi "al proprio" disco iSCSI e non avere accesso a dischi "estranei", il che significa che devono essere in qualche modo separati l'uno dall'altro, ad esempio tramite indirizzi MAC. Per questi scopi verrà utilizzato un avvio in due fasi utilizzando PXELINUX.


Ma prima le cose. Iniziamo installando e configurando il software necessario sul sistema Windows per implementare DHCP, TFTP e iSCSI Target. Per fare questo ho utilizzato il software gratuito Tftpd32 e StarWind Virtual SAN. Il programma Tftpd32 viene utilizzato sia come server DHCP che come server TFTP e StarWind Virtual SAN verrà quindi utilizzato come target iSCSI. Puoi scaricare questi programmi dal sito Web degli sviluppatori, i cui collegamenti sono indicati nei loro nomi. Per scaricare il programma StarWind Virtual SAN, dovrai selezionare la versione gratuita del programma sul sito e completare il processo di registrazione, indicando il tuo indirizzo postale aziendale. Una chiave di licenza e un collegamento per scaricare il programma stesso verranno inviati al tuo indirizzo email.

Configurazione del programma Tftpd32

Questo programma è abbastanza semplice e intuitivo, quindi mi limiterò a fornire screenshot delle mie impostazioni:


Nella scheda "GLOBAL", ho selezionato i servizi TFTP Server, Syslog Server e DHCP Server. Nella scheda TFTP, nel campo Directory di base, è indicato un punto, il che significa che la cartella in cui è installato il programma Tftpd32 stesso verrà utilizzata come directory principale. Nella scheda DHCP, nel campo Boot File, è indicato il nome del file scaricato, che vedremo più avanti nelle impostazioni di PXELINUX. Non sono richieste impostazioni nella scheda SYSLOG.

destinazione iSCSI. Configurazione del programma StarWind Virtual SAN

Durante l'installazione il programma non richiede alcuna impostazione; l'unica cosa che può fare è inoltre avviare l'installazione di .NET Framework 4 se non è già installato nel sistema. Dopo l'installazione, il programma avvia i suoi servizi ed è immediatamente pronto a funzionare. Sul desktop viene creato un collegamento a StarWind Management Console per la gestione.

Aprire la StarWind Management Console, fare clic sul pulsante Aggiungi server e creare un nuovo server con l'indirizzo IP 192.168.0.1. Il server predefinito con indirizzo IP 127.0.0.1 può essere eliminato.
Successivamente, seleziona il server che abbiamo creato e fai clic sul collegamento Aggiungi destinazione. Nella finestra che appare, possiamo indicare il nome IQN del nostro target attivando la casella di controllo Nome target. In particolare ho specificato iqn.2014-11.home:win7-64bit.
Successivamente, seleziona la destinazione che abbiamo creato e fai clic sul collegamento Aggiungi dispositivo.
Nella finestra che appare, seleziona Dispositivo disco rigido, quindi seleziona Disco virtuale, indica la posizione e la dimensione del disco da creare, imposta i parametri di volume e caching e crea il dispositivo disco facendo clic sul pulsante Crea.

Di conseguenza, otteniamo un target iSCSI configurato e pronto per l'uso, simile al seguente:


Se necessario, possiamo creare il numero richiesto di target iSCSI e collegare il numero richiesto di dischi iSCSI a ciascuno di essi. Inoltre, garantisci la sicurezza dell'accesso alle destinazioni iSCSI utilizzando l'autenticazione client CHAP facendo clic sul collegamento Aggiungi autorizzazione.

Configurazione di Pxelinux

PXELINUX è incluso nel pacchetto software syslinux. Andate quindi al sito www.syslinux.org/wiki/index.php/Download, cliccate sul collegamento Download e scaricate l'archivio zip con un set di caricatori syslinux. Apri il file di archivio scaricato e decomprimi i file pxelinux.0 dalla directory core e menu.c32 dalla directory com32/menu. Il file pxelinux.0 è un bootloader che viene trasferito al PC client dal server DHCP e il file menu.c32 è responsabile della creazione del menu di avvio. Posizionare i file decompressi nella cartella in cui è installato il programma Tftpd32 (dove il percorso è indicato nel campo Directory di base nelle impostazioni TFTP).

Nella cartella del programma Tftpd32, crea una sottocartella pxelinux.cfg e in essa crea un file predefinito con il seguente contenuto:
menu predefinito.c32
gfxmenu /erdpxe
sollecitare 0

TITOLO MENU Menu di avvio (seleziona il sistema operativo da avviare)
MENU AUTOBOOT Windows 7 64bit in # secondi
TEMPO SCADUTO 50
TEMPO TOTALE 3000

ETICHETTA Windows 7 64bit
MENU PREDEFINITO
KERNEL IPXE.KRN
INITRD win7.ipxe

Credo che non sia necessario scrivere un commento dettagliato su questo file, consideriamo solo le ultime due righe:
KERNEL IPXE.KRN - indica il kernel iPXE da caricare.
INITRD win7.ipxe: punta a un file di script con parametri iPXE

Le impostazioni PXELINUX specificate sono sufficienti per utilizzare la configurazione predefinita ed è possibile procedere all'ulteriore configurazione di iPXE, quindi ho deciso di rimuovere la parte rimanente del testo come spoiler.

Creazione di un menu di avvio separato per ciascun PC

Se sulla rete sono presenti più workstation diskless e vogliamo che ogni PC abbia accesso solo al proprio disco iSCSI e non ai dischi di altre persone, allora dovremo creare diversi file con un menu di avvio per ciascun PC.

Quando riceve un file di configurazione da un server TFTP, il client ne cerca uno adatto a sé nel seguente ordine:
pxelinux.cfg/01-88-99-aa-bb-cc-dd
pxelinux.cfg/C0A800FE
pxelinux.cfg/C0A800F
pxelinux.cfg/C0A800
pxelinux.cfg/C0A80
pxelinux.cfg/C0A8
pxelinux.cfg/C0A
pixelinux.cfg/C0
pixelinux.cfg/C
E se non c'è niente di adatto -
pxelinux.cfg/default

Qui pxelinux.cfg è la cartella stessa con i file di configurazione.
01-88-99-aa-bb-cc-dd - un file denominato indirizzo MAC del client, in minuscolo, separato da un trattino, con il prefisso 01-.

Di conseguenza, per ogni workstation diskless dobbiamo scrivere il “nostro” menu di avvio e inserirlo nella cartella pxelinux.cfg con il nome del file 01-indirizzo-mac cliente, in minuscolo. Il contenuto di questi file può differire, ad esempio, solo nell'ultima riga INITRD win7.ipxe.

Iniziatore iSCSI. Configurazione di iPXE

Quindi, andiamo quindi al sito web ipxe.org/download e scarichiamo l'immagine ISO del caricatore iPXE. Dall'immagine ISO scaricata, estrai il file IPXE.KRN e salvalo nella cartella del programma Tftpd32.

Nella stessa cartella creiamo un file win7.ipxe con il seguente contenuto:
#!ipx
DHCP rete0
imposta keep-san 1
#login
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit

La riga DHCP net0 di questo script indica che è necessario ottenere le impostazioni tramite un server DHCP sulla rete.

La riga impostata keep-san 1 indica che la connessione all'iSCSI Target deve essere mantenuta anche se l'avvio da questo dispositivo non riesce (questo parametro è necessario quando è necessario installare il sistema operativo da unità CD/DVD).

Se l'autenticazione del client CHAP è configurata in iSCSI Target, è necessario rimuovere il commento dalla riga #login, che visualizzerà un modulo per l'immissione di nome utente e password.

L'ultima riga collega direttamente l'iSCSI Target specificato, inizializza il disco remoto e trasferisce l'ulteriore processo di avvio a questo dispositivo. La sintassi della connessione sarà come questa iscsi:<Айпи iSCSI target>:::::.

Aggiunta di ulteriori elementi al menu di avvio

Se vogliamo aggiungere un ulteriore elemento al menu di avvio, ad esempio per avviare il sistema operativo Windws 8.1, creiamo un nuovo Target in StarWind Virtual SAN indicando il target IQN iqn.2014-11.home:windows8.1, aggiungiamo un nuovo dispositivo disco iSCSI, quindi nel file pxelinux.cfg/default aggiungiamo, ad esempio, le seguenti righe:
ETICHETTA Windows 8.1
KERNEL IPXE.KRN
INITRD win8.1.ipxe

Installazione del sistema operativo Windows 7

Prima di iniziare l'installazione di Windows 7 su una stazione diskless, aprire il suo BIOS e configurare l'ordine di polling dei dispositivi di avvio come segue:
1) Disco rigido
2) Rete
3)CD/DVD
4) altri dispositivi

Se sul tuo PC è installato un disco rigido, è consigliabile disabilitarlo durante l'installazione di Windows in modo che il computer non tenti di avviarsi da esso.

La prima cosa che dovremmo vedere è che si avvia l'avvio PXE. Se ciò non accade, accedi nuovamente al BIOS e consenti l'avvio del computer tramite l'adattatore di rete.

Successivamente, sullo schermo verrà visualizzato il menu di avvio PXELINUX. Se ciò non accade, controlla se il programma Tftpd32 è in esecuzione sull'altro computer, se è configurato correttamente e se firewall, antivirus o altri programmi ne bloccano il funzionamento.

Dopo aver selezionato la voce del menu di avvio PXELINUX richiesta, dovremmo vedere l'avvio di iPXE.
Durante il processo di inizializzazione iPXE, i seguenti messaggi dovrebbero lampeggiare:
Registrato come unità BIOS 0x80
Avvio dall'unità BIOS 0x80
Ciò significa che il PC si è connesso correttamente al disco iSCSi.

Vedremo quindi un errore di avvio tramite il disco iSCSi, dopodiché il computer procederà a interrogare il dispositivo di avvio successivo e inizierà a installare Windows 7 dall'unità CD/DVD. In questo caso, la connessione al disco iSCSi rimarrà attiva: la riga set keep-san 1 specificata nello script ne è responsabile.

Per coloro che non possono installare Windows da un'unità CD/DVD

Il BIOS di alcuni computer, dopo un tentativo non riuscito di avvio da iPXE, interrompe il processo di avvio. Di conseguenza il programma di installazione di Windows non verrà caricato ulteriormente dall'unità CD/DVD. Questo comportamento è stato osservato, ad esempio, sui laptop Hewlett-Packard. In questi casi, l'avvio tramite gPXE aiuta. Per fare questo:
1) aprire la pagina del sito rom-o-matic.net/gpxe/gpxe-git/gpxe.git/contrib/rom-o-matic/build.php,
2) nel campo Scegli un formato di output, seleziona la voce keep (.kpxe) del caricatore bootstrap PXE,
3) nel campo Script incorporato più in basso, inserisci tre righe del nostro script:
DHCP rete0
imposta keep-san 1
sanboot iscsi:192.168.0.1::::iqn.2014-11.home:win7-64bit
4) salva il bootloader gPXE nella cartella del programma Tftpd32 e inserisci il nome del file sul server DHCP nel campo Boot File,
5) installare il sistema operativo Windows e riscrivere il nome del file pxelinux.0 sul server DHCP nel campo Boot File.



Durante il processo di installazione di Windows, nella fase di selezione del dispositivo disco, dovremmo vedere il disco iSCSi che abbiamo collegato. Se il disco iSCSi non è nell'elenco, significa che il programma di installazione di Windows non è riuscito a installare automaticamente i driver necessari per la scheda di rete. In questo caso, scarica i driver necessari della scheda di rete dal sito Web dello sviluppatore e collegali al programma di installazione di Windows. Successivamente, il disco iSCSi dovrebbe apparire nell'elenco.

Se ricevi un messaggio che informa che Windows non può essere installato sull'unità selezionata

A volte, nella fase di selezione del dispositivo disco, potresti ricevere un messaggio sull'impossibilità di installare Windows sul disco selezionato e una richiesta per verificare se il controller di questo disco è incluso nel BIOS.

In questo caso, controllare innanzitutto l'ordine di polling del dispositivo di avvio nel BIOS. Il disco rigido deve essere nella prima posizione, anche se sul computer non è installata alcuna unità disco fisico.
Se il problema persiste, provare ad accendere/spegnere il controller SATA nel BIOS, a modificare la modalità operativa IDE, ACHI o a collegare un disco reale durante l'installazione, ma installando su un disco iSCSI.



Dopo aver selezionato il dispositivo disco, inizierà l'installazione di Windows 7. Non dovrebbero sorgere ulteriori difficoltà. Dopo l'installazione, otteniamo un sistema operativo Windows 7 "completo" in esecuzione su un disco iSCSI.

Installazione del sistema operativo Windows (metodo alternativo)

Non conosco nessuno, ma personalmente non trovo conveniente masterizzare un disco DVD per ogni immagine di installazione di Windows.
Preferisco decomprimere il contenuto del disco di installazione ed eseguire l'installazione di Windows dal disco rigido. Inoltre, il sistema operativo viene installato più velocemente da un disco rigido.

Fornirò un esempio utilizzando il boot loader bootmgr standard, disponibile in qualsiasi distribuzione di installazione di Windows.
Questo metodo è adatto anche per l'installazione di Windows da dischi rigidi locali.

In breve, creiamo una piccola partizione "attiva" su un disco iSCSI, copiamo lì il contenuto del disco di installazione di Windows e quindi configuriamo l'MBR per l'avvio dal disco di installazione di Windows. Dettagli sotto lo spoiler.

Metodo alternativo per l'installazione del sistema operativo Windows

Quindi, apriamo Pannello di controllo - Amministrazione - Iniziatore iSCSI su un sistema Windows funzionante.
Viene visualizzata la finestra "Proprietà: Iniziatore iSCSI".

Andare alla scheda “Rilevazione” e fare clic sul pulsante “Rileva portale...”.
Nella finestra che si apre, inserisci l'indirizzo IP del nostro target iSCSI - 192.168.0.1 e fai clic su OK.
Successivamente, torna alla scheda "Oggetti finali" e visualizza tutti i target con identificatori IQN.
Selezionare la destinazione desiderata dall'elenco e fare clic sul pulsante "Connetti".
Si aprirà un'altra finestra che richiede la nostra conferma, dove facciamo anche clic su OK.
Se lasci la casella di controllo "Aggiungi questa connessione all'elenco delle destinazioni preferite" nella finestra che si apre, la destinazione specificata si connetterà automaticamente al sistema ogni volta che si avvia.

Apri lo snap-in Gestione computer e vai alla scheda Gestione disco. Qui vedremo che nel nostro sistema è apparso un altro dispositivo disco. Creiamo una "partizione principale" su questo disco, specificando la dimensione del disco leggermente più grande della dimensione della nostra immagine di installazione. Successivamente, lo formattiamo per il file system NTFS, colleghiamo qualsiasi lettera di unità e rendiamo la partizione "attiva".

Apri l'immagine del disco di installazione richiesta utilizzando UltraISO o WinRar e decomprimi il contenuto dell'immagine nella partizione del disco creata nel passaggio precedente. È importante che dopo il disimballaggio siano rimasti almeno 100 MB di spazio libero sul disco (per Windows 8 si consigliano 350 MB di spazio libero). Se lo spazio libero non è sufficiente, espandere la partizione selezionata nello snap-in Gestione disco.

Quindi scarichiamo il programma BOOTICE da Internet e lo lanciamo (non fornirò collegamenti, puoi trovarlo tu stesso senza difficoltà).
Nel programma, seleziona il disco di cui abbiamo bisogno dall'elenco a discesa. Nel mio caso HD6:

In questa finestra selezionare l'ultima voce “Windows NT 5.x / 6.x MBR” e fare clic sul pulsante “Installa/Config”.
Il disco avrà un MBR configurato che carica il boot loader bootmgr standard dalla partizione del disco attivo.

Ma consideriamo un altro punto. Se vogliamo rendere questa sezione nascosta agli utenti e inaccessibile al sistema operativo, avviamo la riga di comando come amministratore e digitiamo i seguenti comandi:

Parte disco
Elenco disco
Sel disco x (al posto di x sostituiamo il numero del disco richiesto, il cui elenco viene visualizzato dal comando precedente)
Sel parte 1 (se necessario è possibile visualizzare la lista delle partizioni utilizzando il comando Lista parte)
Rimuovere
Imposta ID=27

Successivamente, questa partizione del disco diventerà tecnologica e nascosta. Non è più possibile assegnare una lettera di unità a questa partizione e montarla su un sistema in esecuzione, ma è possibile installare Windows da questa partizione senza problemi.
Otterrai qualcosa come una partizione di ripristino)


Spero che questo articolo ti sarà utile. Buona fortuna a tutti!

Utilizzo abbastanza spesso l'hypervisor gratuito hyper-v di Microsoft. L'edizione gratuita è basata sulla versione core del server. Ciò causa alcuni inconvenienti nella risoluzione di attività standard a cui non si pensa nemmeno quando si lavora su una versione completa del server con un'interfaccia grafica. Una di queste attività era l'aggiunta di un disco tramite iSCSI.

Corso online di Data Engineer– per sviluppatori, amministratori DBMS e chiunque cerchi di migliorare il proprio livello professionale, padroneggiare nuovi strumenti e impegnarsi in compiti interessanti nel campo del lavoro con i big data. Il corso non è per principianti: è necessario superarlo.

Nella versione GUI standard del server, ciò avviene semplicemente tramite il pannello di controllo. C'è una sezione separata per questo.

Ci sono anche attrezzature per gli stessi scopi nella sezione amministrativa. Cosa succede se non hai una GUI? La soluzione c'è ed è abbastanza semplice.

Prima di tutto dobbiamo avviare il servizio Servizio iniziatore iSCSI Microsoft e imposta il tipo di avvio su “Automatico”

Questa operazione viene eseguita da un computer su cui sono configurati gli snap-in di gestione Hyper-V. Maggiori informazioni su questo argomento negli articoli:

Il principio di impostazione è lo stesso in entrambi i casi. Successivamente, connettiti all'hypervisor tramite rdp ed esegui dalla riga di comando:

Iscsicpl

Si apre lo snap-in di gestione Iniziatore iSCSI.

Quindi colleghi la sorgente in modo standard e lavori con essa. Per inizializzare un disco montato, è necessario utilizzare Gestione disco. Lo esegui dallo stesso computer su cui sono installati gli snap-in di gestione Hyper-V.

Corso online "Pratiche e strumenti DevOps"

Se desideri imparare a costruire e mantenere sistemi altamente disponibili e affidabili, apprendere la distribuzione continua di software, monitorare e registrare applicazioni web, ti consiglio di familiarizzare con corso online “Pratiche e strumenti DevOps” nell'OTUS. Il corso non è per principianti; per iscriversi è necessaria una conoscenza base delle reti e dell'installazione di Linux su una macchina virtuale. La formazione dura 5 mesi, al termine dei quali i diplomati del corso con successo potranno sostenere colloqui con i partner. Mettiti alla prova con il test d'ingresso e consulta il programma per maggiori dettagli.

Abstract: come funziona open-iscsi (iniziatore ISCSI in Linux), come configurarlo e qualcosa sul protocollo ISCSI stesso.

Testi: ci sono molti articoli su Internet che spiegano abbastanza bene come configurare un target ISCSI, tuttavia, per qualche motivo, non ci sono praticamente articoli su come lavorare con l'iniziatore. Nonostante il fatto che l'obiettivo sia tecnicamente più complesso, c'è più confusione amministrativa con l'iniziatore: ci sono concetti più confusi e principi operativi non molto ovvi.

ISCSI

Prima di parlare di ISCSI, qualche parola sui diversi tipi di accesso remoto alle informazioni nelle reti moderne.

NAS contro SAN

Esistono due metodi per accedere ai dati che si trovano su un altro computer: file (quando un file viene richiesto da un computer remoto e a nessuno importa quale file system viene eseguito), rappresentanti tipici di NFS, CIFS (SMB); e blocco - quando i blocchi dal supporto disco vengono richiesti da un computer remoto (in modo simile a come vengono letti da un disco rigido). In questo caso il richiedente crea per sé un file system sul dispositivo a blocchi e il server che fornisce il dispositivo a blocchi non conosce i file system su di esso. Il primo metodo si chiama NAS (network attached storage), mentre il secondo si chiama SAN (storage area network). I nomi generalmente indicano segni diversi (SAN implica una rete dedicata allo storage), ma accade che i NAS siano file e le SAN siano dispositivi a blocchi su una rete. E sebbene tutti (?) capiscano che questi sono nomi errati, più vanno avanti, più diventano fissi.

scsi su tcp

Uno dei protocolli per accedere ai dispositivi a blocchi è iscsi. La lettera "i" nel nome non si riferisce ai prodotti Apple, ma a Internet Explorer. Fondamentalmente è "scsi su tcp". Il protocollo SCSI stesso (senza la lettera "i") è un progetto molto complesso, poiché può funzionare attraverso diversi supporti fisici (ad esempio, UWSCSI - bus parallelo, SAS - seriale - ma hanno lo stesso protocollo). Questo protocollo ti consente di fare molto di più che semplicemente "collegare dischi al computer" (come è stato inventato in SATA), ad esempio supporta i nomi dei dispositivi, la presenza di più collegamenti tra un dispositivo a blocchi e un consumatore, il supporto di commutazione (sì , uno switch SAS, anche se esistente in natura), che collega più consumatori ad un dispositivo a blocco, ecc. In altre parole, si chiedeva semplicemente che questo protocollo fungesse da base per un dispositivo di blocco della rete.

Terminologia

Nel mondo SCSI sono accettati i seguenti termini:
bersaglio- colui che fornisce il dispositivo di blocco. L'analogo più vicino al mondo dei computer ordinari è un server.
iniziatore- client, colui che utilizza il dispositivo a blocchi. Analogo del cliente.
WWID- identificatore univoco del dispositivo, il suo nome. Analogo a un nome DNS.
LUN- il numero del “pezzo” del disco a cui si accede. L'analogo più vicino è una partizione su un disco rigido.

ISCSI apporta le seguenti modifiche: WWID scompare e al suo posto arriva il concetto di IQN (iSCSI Qualified Name), ovvero un nome puro, confondibilmente simile al DNS (con piccole differenze). Ecco un esempio di IQN: iqn.2011-09.test:nome.

IETD e open-iscsi (server e client per Linux) portano un altro concetto molto importante che molto spesso non è scritto nei manuali iscsi: il portale. Il portale è, in parole povere, diversi target pubblicizzati da un server. Non c'è analogia con www, ma se a un server web potesse essere chiesto di elencare tutti i suoi host virtuali, allora questo sarebbe il portale che specifica un elenco di target e disponibili IP a cui è possibile accedere (sì, iscsi supporta più percorsi dall'iniziatore alla destinazione).

bersaglio

Questo articolo non riguarda target, quindi fornirò una breve descrizione di ciò che fa target. Prende un dispositivo a blocchi, ci inserisce un nome e un LUN e lo pubblica sul suo portale, dopodiché consente a tutti (autorizzazione a seconda dei gusti) di accedervi.

Ecco un esempio di un semplice file di configurazione, penso che chiarirà cosa fa il target (file di configurazione utilizzando IET come esempio):

Destinazione iqn.2011-09.example:data Nome utente IncomingUser Pa$$w0rd Lun 0 Percorso=/dev/md1

(il complesso differisce dal semplice solo nelle opzioni di esportazione). Pertanto, se abbiamo un obiettivo, vogliamo collegarlo. E qui le cose si complicano, perché l'iniziatore ha una sua logica, non è per niente simile al banale mount per nfs.

Iniziatore

Open-iscsi viene utilizzato come iniziatore. Quindi, la cosa più importante è che lo abbia fatto modalità operative E stato. Se diamo un comando nella modalità sbagliata o non teniamo conto dello stato, il risultato sarà estremamente scoraggiante.

Quindi, modalità operative:

  • Ricerca di obiettivi (scoperta)
  • Connessione al bersaglio
  • Lavorare con un target connesso
Da questo elenco, il ciclo di vita è abbastanza chiaro: prima trova, quindi connetti, quindi disconnetti, quindi connetti di nuovo. Open-iscsi mantiene aperta la sessione anche se il dispositivo a blocchi non è in uso. Inoltre, mantiene aperta la sessione (entro certi limiti, ovviamente), anche se il server viene riavviato. Una sessione iscsi non è la stessa cosa di una connessione TCP aperta; iscsi può riconnettersi in modo trasparente al target. La disconnessione/connessione sono operazioni controllate "dall'esterno" (da altro software o manualmente).

Un po 'sulla condizione. Dopo la scoperta open-iscsi ricorda tutti i target trovati (sono memorizzati in /etc/iscsi/), in altre parole, il rilevamento è un'operazione costante, NON corrispondente affatto, ad esempio, alla risoluzione dei DNS I target trovati possono essere eliminati manualmente (a proposito, a un errore comune è quando open-iscsi, come risultato di esperimenti e configurazioni, un gruppo di target trovati, quando si tenta di accedere, si insinuano molti errori a causa del fatto che metà dei target sono vecchie righe di configurazione che non esistono più sul server per molto tempo, ma vengono ricordati da open-iscsi) Inoltre, open-iscsi ti consente di modificare le impostazioni del target ricordato - e questa "memoria" influisce sull'ulteriore lavoro con i target anche dopo aver riavviato/riavviato il demone .

Blocca dispositivo

La seconda domanda che inizialmente preoccupa molti è: dove va a finire dopo la connessione? open-iscsi crea, sebbene sia un dispositivo di rete, ma un dispositivo di classe SCSI BLOCK (non per niente è "io dico"), cioè riceve una lettera nella famiglia /dev/sd, ad esempio, /dev/sdc. Viene utilizzata la prima lettera libera, perché per il resto del sistema, questo dispositivo a blocchi è un tipico disco rigido, non diverso da quello collegato tramite usb-sata o semplicemente direttamente a sata.

Ciò spesso provoca il panico: "come posso scoprire il nome del dispositivo a blocchi?" Appare nell'output dettagliato di iscsiadm (# iscsiadm -m session -P 3).

Autorizzazione

A differenza di SAS/UWSCSI, ISCSI è disponibile per chiunque possa connettersi. Per proteggersi da ciò, ci sono login e password (cap), e il loro trasferimento a iscsiadm è un altro grattacapo per gli utenti inesperti. Può essere fatto in due modi: modificando le proprietà del target trovato in precedenza e scrivendo login/password il file di configurazione open-iscsi.
La ragione di tali difficoltà è che la password e il processo di accesso non sono attributi dell'utente, ma del sistema. ISCSI è una versione economica dell'infrastruttura FC e il concetto di "utente" nel contesto di una persona alla tastiera non si applica qui. Se il tuo database SQL si trova su un dispositivo a blocchi iscsi, ovviamente vorrai che il server SQL si avvii da solo e non dopo un minuto di attenzione personale da parte dell'operatore.

File di configurazione

Questo è un file molto importante, perché oltre al login/password, descrive anche il comportamento di open-iscsi quando trova errori. Potrebbe non restituire l'errore immediatamente, ma dopo una certa pausa (ad esempio, circa cinque minuti, sufficienti per riavviare il server con i dati). Controlla anche il processo di accesso (quante volte provare, quanto tempo attendere tra un tentativo e l'altro) e qualsiasi messa a punto del processo di lavoro stesso. Tieni presente che questi parametri sono abbastanza importanti per il funzionamento e devi capire come si comporterà il tuo iscsi se rimuovi il cavo di alimentazione per 10-20 secondi, ad esempio.

Riferimento rapido

Non mi piace citare manas e linee facilmente reperibili, quindi fornirò uno scenario tipico per l'utilizzo di iscsi:

Per prima cosa troviamo le destinazioni di cui abbiamo bisogno, per questo dobbiamo conoscere il nome IP/dns dell'iniziatore: iscsiadm -m discovery -t st -p 192.168.0.1 -t st è il comando di invio destinazioni.

Iscsiadm -m nodo (elenco dei trovati per il login)
iscsiadm -m node -l -T iqn.2011-09.example:data (accedi, ovvero connettiti e crea un dispositivo a blocchi).
iscsiadm -m session (elenca ciò a cui ti sei connesso)
iscsiadm -m session -P3 (stampa lo stesso, ma in modo più dettagliato - alla fine dell'output verrà indicato quale dispositivo a blocchi appartiene a quale destinazione).
iscsiadm - m session -u -T iqn.2011-09.example:data (disconnettersi da uno specifico)
iscsiadm -m node -l (accedi a tutti i target rilevati)
iscsiadm -m node -u (disconnettersi da tutte le destinazioni)
iscsiadm -m node --op delete -T iqn.2011-09.example:data (rimuove la destinazione da quelle rilevate).

mulitpath

Un'altra questione importante nelle decisioni serie è il supporto di più percorsi verso la fonte. Il bello di iscsi sta nell'uso di un IP normale, che può essere elaborato nel solito modo, come qualsiasi altro traffico (anche se in pratica di solito non viene instradato, ma solo commutato: il carico è troppo grande). Quindi, iscsi supporta il multipath nella modalità “non resistere”. Di per sé, open-iscsi non può connettersi a più IP di un target. Se è connesso a più IP di un target, ciò porterà alla comparsa di diversi dispositivi a blocchi.

Tuttavia, esiste una soluzione: multipathd, che trova i dischi con lo stesso identificatore e li elabora come previsto in multipath, con policy personalizzabili. Questo articolo non riguarda il multipath, quindi non spiegherò il mistero del processo in dettaglio, tuttavia, ecco alcuni punti importanti:

  1. Quando si utilizza multipath, è necessario impostare timeout brevi: il passaggio da un percorso errato all'altro dovrebbe avvenire abbastanza rapidamente
  2. In condizioni di canale più o meno veloce (10G e superiori, in molti casi gigabit), è opportuno evitare il parallelismo di carico, poiché si perde la capacità di utilizzare il bio coalesing, che in alcuni tipi di carico può avere un impatto spiacevole sul target .

Ciao a tutti, oggi vi dirò come installare un server ISCSI in Windows Server 2008 R2. Per impostazione predefinita, questo servizio non è incluso in Windows Server 2008 R2 e viene scaricato separatamente come componente. Il server ISCSI stesso è costituito da finestre di destinazione iscsi, che fungeranno da destinazione a cui si connetterà l'iniziatore iscsi del componente Windows integrato e con l'aiuto di esse verrà configurato l'archiviazione iSCSI.

Lascia che ti ricordi cos'è il protocollo ISCSI (Internet Small Computer System Interface): un protocollo basato su TCP/IP ed è progettato per stabilire l'interazione e gestire sistemi di archiviazione dati, server e client. iSCSI descrive: Un protocollo di trasporto per SCSI che viene eseguito su TCP. Grazie ad esso, puoi creare spazio di archiviazione su disco utilizzando Windows e collegarlo tramite la tua rete ethernet locale, la velocità ovviamente dipenderà maggiormente dalla tua flotta di rete, ma non dovrai spendere soldi per costosi switch FC e, se hai Switch ISCSI da 10 o più gigabit quindi In generale, tutto andrà alla grande, poiché hanno già poco da perdere da FC, inoltre sono più facili da implementare nell'infrastruttura esistente.

Affinché il nostro server iscsi funzioni, scarica Microsoft iSCSI Software Target 3.3. Avvia la distribuzione scaricata

Utilizzando Sfoglia, indichiamo dove vogliamo caricare il file di installazione

Vediamo che Microsoft iSCSI Software Target 3.3 è stato estratto con successo.

Andiamo nella directory dove sono stati estratti i file, a noi interesserà la cartella x64, esegui iscsitaget_public

Si aprirà la procedura guidata di installazione, fare clic su Avanti.

Accettiamo il contratto di licenza

Se lo si desidera, è possibile modificare la directory di installazione

inizierà l'installazione

LA CAMPANA

C’è chi ha letto questa notizia prima di te.
Iscriviti per ricevere nuovi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam