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à.
Montaggio di LUN iSCSI su un client Linux
Gli esempi presentati in queste procedure utilizzano la seguente configurazione:
Il LUN iSCSI che viene montato sull'host Linux è già stato creato. Per ulteriori informazioni, consulta Creazione di un LUN iSCSI.
L'host Linux che sta montando il LUN iSCSI è un'istanza Amazon EC2 che esegue Amazon Linux 2 Amazon Machine Image (AMI). Dispone di gruppi di sicurezza VPC configurati per consentire il traffico in entrata e in uscita come descritto in. Controllo degli accessi ai file system con Amazon VPC
L'host Linux e il file system FSx for ONTAP si trovano nello stesso VPC e. Account AWS Se l'host si trova in un altro VPC, è possibile utilizzare il peering VPC o concedere AWS Transit Gateway ad altri VPC l'accesso agli endpoint iSCSI del volume. Per ulteriori informazioni, consulta Accesso ai dati dall'esterno del VPC di implementazione.
Se utilizzi un'istanza EC2 che esegue un'AMI Linux diversa, alcune delle utilità che vengono installate sull'host potrebbero essere preinstallate e potresti utilizzare comandi diversi per installare i pacchetti richiesti. Oltre all'installazione dei pacchetti, i comandi utilizzati in questa sezione sono validi per altre AMI Linux EC2.
Consigliamo che l'istanza EC2 si trovi nella stessa zona di disponibilità della sottorete preferita del file system, come mostrato nella figura seguente.
![Immagine che mostra un file system Amazon FSx for NetApp ONTAP con un LUN iSCSI e un'istanza Amazon EC2 situata nella stessa zona di disponibilità della sottorete preferita del file system.](images/fsx-ontap-iscsi-mnt-client.png)
Argomenti
Installare e configurare iSCSI sul client Linux
Per installare il client iSCSI
-
Confermalo
iscsi-initiator-utils
edevice-mapper-multipath
sono installati sul tuo dispositivo Linux. Connect alla propria istanza Linux utilizzando un client SSH. Per ulteriori informazioni, vedi Connect alla tua istanza Linux usando SSH. Installa
multipath
e installa il client iSCSI utilizzando il seguente comando. L'installazionemultipath
è necessaria se si desidera eseguire automaticamente il failover tra i file server.~$
sudo yum install -y device-mapper-multipath iscsi-initiator-utils-
Per facilitare una risposta più rapida in caso di failover automatico tra file server durante l'utilizzo
multipath
, impostate il valore di timeout sostitutivo nel/etc/iscsi/iscsid.conf
file su un valore5
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 Avviare il servizio iSCSI.
~$
sudo service iscsid startTieni presente che, a seconda della versione di Linux in uso, potrebbe essere necessario utilizzare invece questo comando:
~$
sudo systemctl start iscsid-
Verificate che il servizio sia in esecuzione utilizzando il comando seguente.
~$
sudo systemctl status iscsid.serviceIl 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 configurare iSCSI sul tuo client Linux
-
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 -
Determinate il nome dell'iniziatore del vostro host Linux utilizzando il comando seguente. La posizione del nome dell'iniziatore dipende dall'utilità iSCSI in uso. Se si utilizza
iscsi-initiator-utils
, il nome dell'iniziatore si trova nel file./etc/iscsi/initiatorname.iscsi
~$
sudo cat /etc/iscsi/initiatorname.iscsiIl sistema risponde con il nome dell'iniziatore.
InitiatorName=iqn.1994-05.com.redhat:abcdef12345
Configurare iSCSI sul file system FSx for ONTAP
-
Connect alla CLI NetApp ONTAP sul file system FSx for ONTAP su cui è stato creato il LUN iSCSI utilizzando il comando seguente. Per ulteriori informazioni, consulta Utilizzo della CLI NetApp ONTAP.
~$
ssh fsxadmin@your_management_endpoint_ip
-
Crea il gruppo di iniziatori (
igroup
) utilizzando il comando NetApp ONTAP CLI. lun igroup createUn gruppo di iniziatori esegue il mapping sulle LUN iSCSI e controlla quali iniziatori (client) hanno accesso alle LUN. Sostituirlo host_initiator_name
con il nome dell'iniziatore dell'host Linux recuperato nella procedura precedente.::>
lun igroup create -vserver
-igroupsvm_name
igroup_name
-initiatorhost_initiator_name
-protocol iscsi -ostype linuxSe si desidera rendere le LUN mappate su questo igroup disponibili a più host, è possibile specificare più nomi di iniziatori separati da una virgola. Per ulteriori informazioni, consulta lun igroup
create nel Centro documentazione ONTAP. NetApp -
Conferma che
igroup
esiste usando il comando: lun igroup show::>
lun igroup showIl sistema risponde con il seguente risultato:
Vserver Igroup Protocol OS Type Initiators --------- ------------ -------- -------- ------------------------------------
svm_name
igroup_name
iscsi linux iqn.1994-05.com.redhat:abcdef12345 -
Questo passaggio presuppone che sia già stato creato un LUN iSCSI. In caso contrario, consulta Creazione di un LUN iSCSI le step-by-step istruzioni in merito.
Create una mappatura dal LUN creato all'igroup creato, utilizzando lun mapping create
, specificando i seguenti attributi: -
— Il nome della macchina virtuale di archiviazione che fornisce la destinazione iSCSI. L'host utilizza questo valore per raggiungere il LUN.svm_name
-
— Il nome del volume che ospita il LUN.vol_name
-
— Il nome assegnato al LUN.lun_name
-
— Il nome del gruppo iniziatore.igroup_name
-
— Il numero intero dell'ID LUN è specifico della mappatura, non del LUN stesso. Viene utilizzato dagli iniziatori dell'igroup poiché il numero di unità logica utilizza questo valore per l'iniziatore quando accede allo storage.lun_id
::>
lun mapping create -vserversvm_name
-path /vol/vol_name
/lun_name
-igroupigroup_name
-lun-idlun_id
-
-
Utilizzate il
lun show -path
comando per confermare che il LUN è stato creato, online e mappato. ::>
lun show -path /vol/vol_name
/lun_name
-fields state,mapped,serial-hexIl sistema risponde con il seguente output:
Vserver Path serial-hex state mapped --------- ------------------------------- ------------------------ -------- --------
svm_name
/vol/vol_name
/lun_name
6c5742314e5d52766e796150 online mappedSalva 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. -
Utilizzate il
network interface show -vserver
comando per recuperare gli indirizzi iscsi_1
e leiscsi_2
interfacce per l'SVM in cui avete creato il LUN iSCSI.::>
network interface show -vserversvm_name
Il sistema risponde con il seguente output:
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
ediscsi_2
è172.31.21.81
.
Montare un LUN iSCSI sul client Linux
Sul client Linux, utilizzare il comando seguente per individuare i nodi iSCSI di destinazione utilizzando l'indirizzo IP
iscsi_1
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 altarget_initiator
LUN iSCSI nella zona di disponibilità preferita.-
(Facoltativo) È possibile stabilire sessioni aggiuntive con.
target_initiator
Amazon EC2 ha un limite di larghezza di banda di 5 Gb/s (~625 MB/s) per il traffico a flusso singolo, ma puoi creare più sessioni per aumentare i livelli di throughput del tuo file system da un singolo client. Per ulteriori informazioni, consulta la larghezza di banda di rete delle istanze Amazon EC2 nella Guida per l'utente di Amazon Elastic Compute Cloud per istanze Linux.Il comando seguente stabilisce 8 sessioni per iniziatore per nodo ONTAP in ogni zona di disponibilità, consentendo al client di gestire fino a 40 GB/s (5.000 MB/s) di throughput aggregato verso il LUN iSCSI.
~$
sudo iscsiadm --mode node -T
target_initiator
--op update -n node.session.nr_sessions -v 8 Accedere agli iniziatori di destinazione. Le LUN iSCSI vengono presentate come dischi disponibili.
~$
sudo iscsiadm --mode node -T
target_initiator
--loginLogging 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; dovrebbe essere visualizzata una
Logging in
Login successful
risposta per ogni sessione su ciascun file server. Nel caso di 4 sessioni per nodo, ci saranno 8Logging in
e 8 risposte.Login successful
Utilizzare il comando seguente per verificare di aver
dm-multipath
identificato e unito le sessioni iSCSI mostrando un singolo LUN con più policy. Dovrebbe esserci un numero uguale di dispositivi elencati comeactive
e quelli elencati come.enabled
~$
sudo multipath -ll
Nell'output, il nome del disco è formattato come
dm-xyz
, dovexyz
è 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 runningIl dispositivo a blocchi è ora connesso al client Linux. Si trova sotto il percorso
/dev/
. Non è consigliabile utilizzare questo percorso per scopi amministrativi, ma utilizzare il collegamento simbolico che si trova sotto il percorsodm-xyz
/dev/mapper/
, dove siwwid
trova un identificatore univoco per il LUN coerente tra i dispositivi. Nel passaggio successivo, fornirai un nomewwid
descrittivo per distinguerlo dagli altri dischi a percorso multiplo.wwid
Per assegnare al dispositivo a blocchi un nome descrittivo
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 iSCSI sul file system FSx for ONTAP procedura.Aggiungete il prefisso
3600a0980
alserial_hex
valore come mostrato nell'esempio. Questo è un preambolo unico per la distribuzione NetApp ONTAP utilizzata da Amazon FSx for ONTAP. NetAppdevice_name
Sostituiscilo con il nome descrittivo che desideri utilizzare per il tuo dispositivo.
multipaths { multipath { wwid 3600a0980
serial_hex
aliasdevice_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
(senza il prefisso 3600a0980) eserial_hex
con il rispettivo numero di serie e il nome descrittivo desiderato. Questo script cerca una sezione non commentata nel file.device_name
multipaths
/etc/multipath.conf
Se ne esiste una, aggiunge unamultipath
voce a quella sezione; in caso contrario, creerà una nuovamultipaths
sezione con unamultipath
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
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 il LUN utilizzando. fdisk
-
Utilizzate il seguente comando per verificare che il percorso del vostro
device_name
sia presente.~$
ls /dev/mapper/
device_name
/dev/
device_name
Partiziona il disco usando
fdisk
. Inserirai un prompt interattivo. Inserisci le opzioni nell'ordine mostrato. Si noti che ilLast sector
valore varia in base alla dimensione del LUN iSCSI (10 GB in questo esempio). È possibile creare più partizioni utilizzando un valore inferiore all'ultimo settore (20971519
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'accesso
w
, la nuova partizione/dev/mapper/
diventa disponibile. <device_name><partition_number>Ilpartition_name
partition_name
ha il formato.1
è stato utilizzato come numero di partizione utilizzato nelfdisk
comando nel passaggio precedente.-
Crea il tuo file system utilizzando
/dev/mapper/
come percorso.partition_name
~$
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 montare il LUN sul client Linux
-
Create una directory
directory_path
come punto di montaggio per il file system.~$
sudo mkdir /
directory_path
/mount_point
-
Monta il file system usando il seguente comando.
~$
sudo mount -t ext4 /dev/mapper/
partition_name
/directory_path
/mount_point
-
(Facoltativo) È possibile modificare la proprietà della directory di montaggio per l'utente.
Sostituiscila con il tuo nome utente.username
~$
sudo chown
username
:username
/directory_path
/mount_point
-
(Facoltativo) Verifica di poter leggere e scrivere dati sul file system.
~$
echo "Hello world!" > /
directory_path
/mount_point
/HelloWorld.txt~$
cat
directory_path
/HelloWorld.txtHello world!
È stato creato e montato correttamente un LUN iSCSI sul client Linux.