Provisioning i SCSI per Linux - FSx per ONTAP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Provisioning i SCSI per Linux

FSxfor ONTAP supporta il SCSI protocollo i. È necessario eseguire il provisioning di i sia SCSI sul client Linux che sul file system per utilizzare il SCSI protocollo i per il trasporto di dati tra i client e il file system. Il SCSI protocollo i è disponibile su tutti i file system che hanno 6 o meno coppie ad alta disponibilità (HA).

Esistono tre passaggi principali per il processo di configurazione di i SCSI su Amazon FSx for NetApp ONTAP, che sono descritti nelle seguenti procedure:

  1. Installa e configura il SCSI client i sull'host Linux.

  2. Configura i SCSI sul file systemSVM.

    • Crea un gruppo di SCSI iniziatori i.

    • Mappa il gruppo di iniziatori su. LUN

  3. Monta un i SCSI LUN sul client Linux.

Prima di iniziare

Prima di iniziare il processo di configurazione del file system per iSCSI, è necessario completare i seguenti elementi.

  • Crea un ONTAP file system FSx for. Per ulteriori informazioni, consulta Creazione di file system.

  • Crea una i SCSI LUN sul file system. Per ulteriori informazioni, consulta Creare un i SCSI LUN.

  • Crea un'EC2istanza che esegue Amazon Linux 2 Amazon Machine Image (AMI) nello VPC stesso file system. Questo è l'host Linux su cui configurerai i SCSI e accederai ai dati dei tuoi file.

    Oltre all'ambito di queste procedure, se l'host si trova in un altroVPC, è possibile utilizzare il VPC peering o concedere AWS Transit Gateway ad altri VPCs l'accesso agli SCSI endpoint i del volume. Per ulteriori informazioni, consulta Accesso ai dati dall'esterno della distribuzione VPC.

  • Configura i gruppi di VPC sicurezza dell'host Linux per consentire il traffico in entrata e in uscita come descritto in. Controllo degli accessi ai file system con Amazon VPC

  • Ottieni le credenziali per l'ONTAPutente con fsxadmin privilegi che utilizzerai per accedere a. ONTAP CLI Per ulteriori informazioni, consulta ONTAP ruoli e utenti.

  • L'host Linux che configurerai per i SCSI e che utilizzerai per accedere al ONTAP file system FSx for si trova nella stessa VPC e. Account AWS

  • È consigliabile che l'EC2istanza si trovi nella stessa zona di disponibilità della sottorete preferita del file system, come illustrato nella figura seguente.

    Immagine che mostra un Amazon FSx for NetApp ONTAP file system con un'istanza i SCSI LUN e un'EC2istanza Amazon situate nella stessa zona di disponibilità di quella della sottorete preferita del file system.

Se la tua EC2 istanza esegue un sistema Linux AMI diverso da Amazon Linux 2, alcune delle utilità utilizzate in queste procedure ed esempi potrebbero essere già installate e potresti utilizzare comandi diversi per installare i pacchetti richiesti. Oltre all'installazione dei pacchetti, i comandi usati in questa sezione sono validi per altri EC2 sistemi LinuxAMIs.

Installalo e configuralo SCSI sull'host Linux

Per installare il SCSI client i
  1. Confermalo iscsi-initiator-utils e device-mapper-multipath sono installati sul tuo dispositivo Linux. Connect alla propria istanza Linux utilizzando un SSH client. Per ulteriori informazioni, consulta Connect to your Linux istance using SSH.

  2. Installa multipath e avvia il SCSI client i utilizzando il seguente comando. L'installazione multipath è necessaria se si desidera eseguire automaticamente il failover tra i file server.

    ~$ sudo yum install -y device-mapper-multipath iscsi-initiator-utils
  3. Per facilitare una risposta più rapida in caso di failover automatico tra file server durante l'utilizzomultipath, impostate il valore di timeout sostitutivo nel /etc/iscsi/iscsid.conf file su un valore 5 anziché su quello predefinito di. 120

    ~$ sudo sed -i 's/node.session.timeo.replacement_timeout = .*/node.session.timeo.replacement_timeout = 5/' /etc/iscsi/iscsid.conf; sudo cat /etc/iscsi/iscsid.conf | grep node.session.timeo.replacement_timeout
  4. Avviare il servizio iSCSI.

    ~$ sudo service iscsid start

    Nota che, a seconda della versione di Linux in uso, potresti dover usare invece questo comando:

    ~$ sudo systemctl start iscsid
  5. Verificate che il servizio sia in esecuzione utilizzando il comando seguente.

    ~$ sudo systemctl status iscsid.service

    Il sistema risponde con il seguente risultato:

    iscsid.service - Open-iSCSI Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-09-02 00:00:00 UTC; 1min ago Docs: man:iscsid(8) man:iscsiadm(8) Process: 14658 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS) Main PID: 14660 (iscsid) CGroup: /system.slice/iscsid.service ├─14659 /usr/sbin/iscsid └─14660 /usr/sbin/iscsid
Per configurarlo SCSI sul tuo client Linux
  1. Per consentire ai client di eseguire automaticamente il failover tra i file server, è necessario configurare multipath. Utilizza il seguente comando:

    ~$ sudo mpathconf --enable --with_multipathd y
  2. Determinate il nome dell'iniziatore del vostro host Linux utilizzando il comando seguente. La posizione del nome dell'iniziatore dipende dall'utilità i SCSI utilizzata. Se si utilizzaiscsi-initiator-utils, il nome dell'iniziatore si trova nel file. /etc/iscsi/initiatorname.iscsi

    ~$ sudo cat /etc/iscsi/initiatorname.iscsi

    Il sistema risponde con il nome dell'iniziatore.

    InitiatorName=iqn.1994-05.com.redhat:abcdef12345

Configurare i SCSI nel file system del FSx modulo ONTAP

  1. Connect al ONTAP file system NetApp ONTAP CLI on the FSx for su cui è stato creato il file i SCSI LUN utilizzando il comando seguente. Per ulteriori informazioni, consulta Utilizzo della CLI NetApp ONTAP.

    ~$ ssh fsxadmin@your_management_endpoint_ip
  2. Create il gruppo di iniziatori (igroup) utilizzando il NetApp ONTAP CLI lun igroup createcomando. Un gruppo di iniziatori esegue il mapping su i SCSI LUNs e controlla a quali iniziatori (client) hanno accesso. LUNs Sostituitelo host_initiator_name con il nome dell'iniziatore dell'host Linux recuperato nella procedura precedente.

    ::> lun igroup create -vserver svm_name -igroup igroup_name -initiator host_initiator_name -protocol iscsi -ostype linux

    Se si desidera rendere disponibile il LUNs mappato a questo igroup per più host, è possibile specificare più nomi di iniziatori separati da una virgola. Per ulteriori informazioni, consulta lun igroup create nel Documentation Center. NetApp ONTAP

  3. Conferma che igroup esiste usando il comando: lun igroup show

    ::> lun igroup show

    Il sistema risponde con il seguente risultato:

    Vserver Igroup Protocol OS Type Initiators --------- ------------ -------- -------- ------------------------------------ svm_name igroup_name iscsi linux iqn.1994-05.com.redhat:abcdef12345
  4. Questo passaggio presuppone che tu abbia già creato un i. SCSI LUN Se non lo hai fatto, consulta step-by-step le istruzioni Creare un i SCSI LUN per farlo.

    Crea una mappatura dal gruppo LUN che hai creato all'igroup che hai creato, utilizzando lun mapping create, specificando i seguenti attributi:

    • svm_name— Il nome della macchina virtuale di archiviazione che fornisce il target i. SCSI L'host utilizza questo valore per raggiungere ilLUN.

    • vol_name— Il nome del volume che ospita ilLUN.

    • lun_name— Il nome che hai assegnato aLUN.

    • igroup_name— Il nome del gruppo iniziatore.

    • lun_id— Il numero intero LUN ID è specifico della mappatura, non della mappatura stessa. LUN Viene utilizzato dagli iniziatori dell'igroup poiché il numero di unità logica utilizza questo valore per l'iniziatore quando accede allo storage.

    ::> lun mapping create -vserver svm_name -path /vol/vol_name/lun_name -igroup igroup_name -lun-id lun_id
  5. Utilizzate il lun show -pathcomando per confermare che LUN è stato creato, online e mappato.

    ::> lun show -path /vol/vol_name/lun_name -fields state,mapped,serial-hex

    Il sistema risponde con il seguente risultato:

    Vserver Path serial-hex state mapped --------- ------------------------------- ------------------------ -------- -------- svm_name /vol/vol_name/lun_name 6c5742314e5d52766e796150 online mapped

    Salva il serial_hex valore (in questo esempio lo è6c5742314e5d52766e796150), lo utilizzerai in un passaggio successivo per creare un nome descrittivo per il dispositivo a blocchi.

  6. Usa il network interface show -vservercomando per recuperare gli indirizzi delle interfacce iscsi_1 e delle iscsi_2 interfacce SVM in cui hai creato il tuo i. SCSI LUN

    ::> network interface show -vserver svm_name

    Il sistema risponde con il seguente risultato:

    Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- svm_name iscsi_1 up/up 172.31.0.143/20 FSxId0123456789abcdef8-01 e0e true iscsi_2 up/up 172.31.21.81/20 FSxId0123456789abcdef8-02 e0e true nfs_smb_management_1 up/up 198.19.250.177/20 FSxId0123456789abcdef8-01 e0e true 3 entries were displayed.

    In questo esempio, l'indirizzo IP di iscsi_1 è 172.31.0.143 ed iscsi_2 è172.31.21.81.

Monta un i SCSI LUN sul tuo client Linux

Il processo di montaggio di i SCSI LUN sul client Linux prevede tre passaggi:

  1. Scoperta del target in SCSI nodi

  2. Partizionamento di i SCSI LUN

  3. Montaggio della i SCSI LUN sul client

Queste sono trattate nelle seguenti procedure.

Per scoprire il bersaglio i SCSI nodi
  1. Sul tuo client Linux, usa il seguente comando per scoprire i SCSI nodi di destinazione utilizzando l'indirizzo IP iscsi_1 di iscsi_1_IP.

    ~$ sudo iscsiadm --mode discovery --op update --type sendtargets --portal iscsi_1_IP
    172.31.0.143:3260,1029 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3 172.31.21.81:3260,1028 iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3

    In questo esempio, iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3 corrisponde alla target_initiator forma i SCSI LUN nella zona di disponibilità preferita.

  2. (Facoltativo) Per aumentare il throughput rispetto al client EC2 singolo Amazon, pari a un massimo di 5 Gb/s (~625 MB/s) alla tua i SCSILUN, segui le procedure descritte nella sezione Larghezza di banda di rete delle EC2 istanze Amazon nella Amazon Elastic Compute Cloud User Guide for Linux Instances per stabilire sessioni aggiuntive per una maggiore velocità di trasmissione.

    Il comando seguente stabilisce 8 sessioni per iniziatore per ONTAP nodo in ogni zona di disponibilità, consentendo al client di indirizzare fino a 40 GB/s (5.000 MB/s) di throughput aggregato verso i SCSILUN.

    ~$ sudo iscsiadm --mode node -T target_initiator --op update -n node.session.nr_sessions -v 8
  3. Accedere agli iniziatori di destinazione. I tuoi i SCSI LUNs vengono presentati come dischi disponibili.

    ~$ sudo iscsiadm --mode node -T target_initiator --login
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] (multiple) Login to [iface: default, target: iqn.1992-08.com.netapp:sn.9cfa2c41207a11ecac390182c38bc256:vs.3, portal: 172.31.14.66,3260] successful.

    L'output precedente è troncato; dovresti vedere una Logging in Login successful risposta alla volta per ogni sessione su ogni file server. Nel caso di 4 sessioni per nodo, ci saranno 8 Logging in e 8 risposte. Login successful

  4. Usa il seguente comando per verificare di dm-multipath aver identificato e unito le SCSI sessioni i mostrandone una LUN con più politiche. Dovrebbe esserci un numero uguale di dispositivi elencati come active e quelli elencati comeenabled.

    ~$ sudo multipath -ll

    Nell'output, il nome del disco è formattato comedm-xyz, dove xyz è un numero intero. Se non sono presenti altri dischi multipath, questo valore è. dm-0

    3600a09806c5742314e5d52766e79614f dm-xyz NETAPP ,LUN C-Mode size=10G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='0' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 0:0:0:1 sda 8:0 active ready running | |- 1:0:0:1 sdc 8:32 active ready running | |- 3:0:0:1 sdg 8:96 active ready running | `- 4:0:0:1 sdh 8:112 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 2:0:0:1 sdb 8:16 active ready running |- 7:0:0:1 sdf 8:80 active ready running |- 6:0:0:1 sde 8:64 active ready running `- 5:0:0:1 sdd 8:48 active ready running

    Il dispositivo a blocchi è ora connesso al client Linux. Si trova sotto il percorso/dev/dm-xyz. Non dovresti usare questo percorso per scopi amministrativi; utilizza invece il link simbolico che si trova sotto il percorso/dev/mapper/wwid, dove si wwid trova un identificatore univoco per tutti LUN i dispositivi. Nel passaggio successivo, fornirai un nome wwid descrittivo per distinguerlo dagli altri dischi a percorso multiplo.

Per assegnare al dispositivo a blocchi un nome descrittivo
  1. Per assegnare al dispositivo un nome descrittivo, crea un alias nel /etc/multipath.conf file. A tale scopo, aggiungi la seguente voce al file utilizzando il tuo editor di testo preferito, sostituendo i seguenti segnaposto:

    • Sostituisci serial_hex con il valore salvato nella Configurare i SCSI nel file system del FSx modulo ONTAP procedura.

    • Aggiungete il prefisso 3600a0980 al serial_hex valore come mostrato nell'esempio. Questo è un preambolo unico per la NetApp ONTAP distribuzione utilizzata da Amazon FSx for NetApp ONTAP.

    • device_nameSostituiscilo con il nome descrittivo che desideri utilizzare per il tuo dispositivo.

    multipaths { multipath { wwid 3600a0980serial_hex alias device_name } }

    In alternativa, puoi copiare e salvare il seguente script come file bash, ad esempio. multipath_alias.sh È possibile eseguire lo script con i privilegi sudo, sostituendolo serial_hex (senza il prefisso 3600a0980) e device_name con il rispettivo numero di serie e il nome descrittivo desiderato. Questo script cerca una sezione non commentata nel file. multipaths /etc/multipath.conf Se ne esiste una, aggiunge una multipath voce a quella sezione; in caso contrario, creerà una nuova multipaths sezione con una multipath voce per il dispositivo a blocchi.

    #!/bin/bash SN=serial_hex ALIAS=device_name CONF=/etc/multipath.conf grep -q '^multipaths {' $CONF UNCOMMENTED=$? if [ $UNCOMMENTED -eq 0 ] then sed -i '/^multipaths {/a\\tmultipath {\n\t\twwid 3600a0980'"${SN}"'\n\t\talias '"${ALIAS}"'\n\t}\n' $CONF else printf "multipaths {\n\tmultipath {\n\t\twwid 3600a0980$SN\n\t\talias $ALIAS\n\t}\n}" >> $CONF fi
  2. Riavvia il multipathd servizio per /etc/multipathd.conf rendere effettive le modifiche.

    ~$ systemctl restart multipathd.service
Per partizionare il LUN

Il passaggio successivo consiste nel formattare e partizionare l'utilizzoLUN. fdisk

  1. Usa il seguente comando per verificare che il percorso del tuo device_name sia presente.

    ~$ ls /dev/mapper/device_name
    /dev/device_name
  2. Partiziona il disco usandofdisk. Inserirai un prompt interattivo. Inserisci le opzioni nell'ordine mostrato. È possibile creare più partizioni utilizzando un valore inferiore all'ultimo settore (20971519in questo esempio).

    Nota

    Il Last sector valore varierà in base alla dimensione del tuo i SCSI LUN (10 GB in questo esempio).

    ~$ sudo fdisk /dev/mapper/device_name

    Viene avviato il prompt fsdisk interattivo.

    Welcome to fdisk (util-linux 2.30.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x66595cb0. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-20971519, default 2048): 2048 Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): 20971519 Created a new partition 1 of type 'Linux' and of size 512 B. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

    Dopo l'accessow, la nuova partizione /dev/mapper/partition_name diventa disponibile. Il partition_name ha il formato <device_name><partition_number>. 1è stato utilizzato come numero di partizione utilizzato nel fdisk comando del passaggio precedente.

  3. Crea il tuo file system utilizzando /dev/mapper/partition_name come percorso.

    ~$ sudo mkfs.ext4 /dev/mapper/partition_name

    Il sistema risponde con il seguente output:

    mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=16 blocks 655360 inodes, 2621184 blocks 131059 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2151677952 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Per montarlo LUN su un client Linux
  1. Creazione di una directory directory_path come punto di montaggio per il file system.

    ~$ sudo mkdir /directory_path/mount_point
  2. Monta il file system usando il seguente comando.

    ~$ sudo mount -t ext4 /dev/mapper/partition_name /directory_path/mount_point
  3. (Facoltativo) Se desideri assegnare a un utente specifico la proprietà della directory di montaggio, sostituisci username con il nome utente del proprietario.

    ~$ sudo chown username:username /directory_path/mount_point
  4. (Facoltativo) Verificate di poter leggere e scrivere dati sul file system.

    ~$ echo "Hello world!" > /directory_path/mount_point/HelloWorld.txt ~$ cat directory_path/HelloWorld.txt Hello world!

    Hai creato e montato correttamente un i SCSI LUN sul tuo client Linux.