iSCSI Fedora · 5 min read · Feb 07, 2026

Utilizzare iSCSI su Fedora 10 (Inizializzatore e Destinazione)

Utilizzare iSCSI su Fedora 10 (Inizializzatore e Destinazione)

Versione 1.0
Autore: Falko Timme

Questa guida spiega come puoi configurare una destinazione iSCSI e un inizializzatore iSCSI (client), entrambi in esecuzione su Fedora 10. Il protocollo iSCSI è un protocollo di rete di archiviazione (SAN) che consente agli inizializzatori iSCSI di utilizzare dispositivi di archiviazione sulla destinazione iSCSI (remota) utilizzando normali cavi ethernet. Per l’inizializzatore iSCSI, l’archiviazione remota appare come un normale disco rigido collegato localmente.

Non fornisco alcuna garanzia che questo funzionerà per te!

1 Nota Preliminare

Sto utilizzando due server Fedora 10 qui:

  • server1.example.com (Inizializzatore): indirizzo IP 192.168.0.100
  • server2.example.com (Destinazione): indirizzo IP 192.168.0.101

2 Configurazione della Destinazione (server2)

server2:

Prima configuriamo la destinazione (server2). Poiché i pacchetti necessari sono disponibili solo nel repository RPMFusion, dobbiamo abilitarlo prima:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Poi possiamo installare i pacchetti della destinazione iSCSI:

yum install iscsitarget kmod-iscsitarget

È possibile che questo aggiorni anche il tuo kernel. Se è così, riavvia il sistema dopo:

reboot

Possiamo utilizzare volumi logici non utilizzati, file immagine, dischi rigidi (ad es. /dev/sdb), partizioni di dischi rigidi (ad es. /dev/sdb1) o dispositivi RAID (ad es. /dev/md0) per l’archiviazione. In questo esempio creerò un volume logico di 20GB chiamato storage_lun1 nel gruppo di volumi VolGroup00:

lvcreate -L20G -n storage_lun1 VolGroup00

(Se vuoi utilizzare un file immagine, puoi crearlo come segue:

mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000

Questo crea il file immagine /storage/lun1.img con una dimensione di 20GB.

)

Successivamente modifichiamo /etc/ietd.conf…

vi /etc/ietd.conf

… e commentiamo tutto in quel file. Alla fine aggiungiamo il seguente brano:

| [...] Target iqn.2001-04.com.example:storage.lun1 IncomingUser someuser secret OutgoingUser Lun 0 Path=/dev/VolGroup00/storage_lun1,Type=fileio Alias LUN1 #MaxConnections 6 |

Il nome della destinazione deve essere un nome globalmente unico, lo standard iSCSI definisce il “Nome Qualificato iSCSI” come segue: iqn.yyyy-mm.[:identificatore]; yyyy-mm è la data in cui il dominio è valido; l’identificatore è liberamente selezionabile. La riga IncomingUser contiene un nome utente e una password in modo che solo gli inizializzatori (client) che forniscono questo nome utente e password possano accedere e utilizzare il dispositivo di archiviazione; se non hai bisogno di autenticazione, non specificare un nome utente e una password nella riga IncomingUser. Nella riga Lun, dobbiamo specificare il percorso completo del dispositivo di archiviazione (ad es. /dev/VolGroup00/storage_lun1, /storage/lun1.img, /dev/sdb, ecc.).

Ora diciamo alla destinazione che vogliamo consentire connessioni al dispositivo iqn.2001-04.com.example:storage.lun1 dall’indirizzo IP 192.168.0.100 (server1.example.com):

vi /etc/initiators.allow

| [...] iqn.2001-04.com.example:storage.lun1 192.168.0.100 |

Successivamente creiamo i collegamenti di avvio del sistema per iscsi-target e lo avviamo:

chkconfig –levels 235 iscsi-target on
/etc/init.d/iscsi-target start

3 Configurazione dell’Inizializzatore (server1)

server1:

Su server1, installiamo l’inizializzatore:

yum install iscsi-initiator-utils

Successivamente apriamo /etc/iscsi/iscsid.conf…

vi /etc/iscsi/iscsid.conf

… e assicuriamoci che node.startup sia impostato su automatico:

| [...] node.startup = automatic [...] |

Ora ci connettiamo alla destinazione (server2) e controlliamo quali dispositivi di archiviazione ha da offrire:

iscsiadm -m discovery -t st -p 192.168.0.101

[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Avvio di iscsid:                                           [  OK  ]
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#

iscsiadm -m node

[root@server1 init.d]# iscsiadm -m node
192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1
[root@server1 init.d]#

Le impostazioni per il dispositivo di archiviazione iqn.2001-04.com.example:storage.lun1 su 192.168.0.101:3260,1 sono memorizzate nel file /var/lib/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/default. Dobbiamo impostare il nome utente e la password per la destinazione in quel file; invece di modificare manualmente quel file, possiamo utilizzare il comando iscsiadm per farlo per noi:

iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.authmethod –value=CHAP
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.username –value=someuser
iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –op=update –name node.session.auth.password –value=secret

Ora possiamo effettuare il login:

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login

[root@server1 init.d]# iscsiadm -m node –targetname “iqn.2001-04.com.example:storage.lun1” –portal “192.168.0.101:3260” –login
Accesso a [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Accesso a [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: riuscito
[root@server1 init.d]#

(Se vuoi disconnetterti, puoi eseguire

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout

)

Nell’output di

fdisk -l 

dovresti ora trovare un nuovo disco rigido (/dev/sdb in questo esempio); questo è il nostro dispositivo di archiviazione iSCSI:

[root@server1 init.d]# fdisk -l

Disco /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26        3916    31254457+  8e  Linux LVM

Disco /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x00000000

Disco /dev/sdb non contiene una tabella di partizione valida
[root@server1 init.d]#

Per utilizzare quel dispositivo, dobbiamo formattarlo:

fdisk /dev/sdb

[root@server1 init.d]# fdisk /dev/sdb
Il dispositivo non contiene né una tabella di partizione DOS valida, né Sun, SGI o OSF disklabel
Creazione di una nuova etichetta del disco DOS con l’identificatore del disco 0xa1870fdd.
Le modifiche rimarranno in memoria solo, fino a quando non decidi di scriverle.
Dopo di ciò, ovviamente, il contenuto precedente non sarà recuperabile.

Il numero di cilindri per questo disco è impostato su 20480.
Non c’è niente di sbagliato in questo, ma questo è maggiore di 1024,
e potrebbe in alcune configurazioni causare problemi con:
1) software che gira al momento dell’avvio (e.g., vecchie versioni di LILO)
2) software di avvio e partizionamento da altri OS
(e.g., DOS FDISK, OS/2 FDISK)
Attenzione: flag non valido 0x0000 della tabella di partizione 4 verrà corretto da w(rite)

Comando (m per aiuto): <– n
Azione del comando
e   esteso
p   partizione primaria (1-4)
<– p
Numero di partizione (1-4): <– 1
Primo cilindro (1-20480, default 1): <– ENTER
Utilizzando il valore predefinito 1
Ultimo cilindro, +cylinders o +size{K,M,G} (1-20480, default 20480): <– ENTER
Utilizzando il valore predefinito 20480

Comando (m per aiuto): <– t
Partizione selezionata 1
Codice esadecimale (tipo L per elencare i codici): <– L

0  Vuoto           1e  Nascosto W95 FAT1 80  Vecchio Minix       bf  Solaris
1  FAT12           24  NEC DOS         81  Minix / vecchio Lin c1  DRDOS/sec (FAT-
2  XENIX root      39  Piano 9          82  Linux swap / So c4  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
4  FAT16 <32M      40  Venix 80286     84  OS/2 nascosto C:  c7  Syrinx
5  Esteso        41  PPC PReP Boot   85  Linux esteso  da  Non-FS data
6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility
8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt
9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access
a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O
b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor
c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  GPT
f  W95 Ext’d (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
11  Nascosto FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor
12  Diagnostico Compaq 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor
14  Nascosto FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondario
16  Nascosto FAT16    63  GNU HURD o Sys ab  Darwin boot     fb  VMware VMFS
17  Nascosto HPFS/NTF 64  Novell Netware  b7  BSDI fs          fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Nascosto W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep
1c  Nascosto W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT
Codice esadecimale (tipo L per elencare i codici): <– 83

Comando (m per aiuto): <– w
La tabella di partizione è stata modificata!

Chiamando ioctl() per rileggere la tabella di partizione.
Sincronizzazione dischi.
[root@server1 init.d]#

Dopo, l’output di

fdisk -l

dovrebbe apparire come segue:

[root@server1 init.d]# fdisk -l

Disco /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5f46

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      200781   83  Linux
/dev/sda2              26        3916    31254457+  8e  Linux LVM

Disco /dev/sdb: 21.4 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0xa1870fdd

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       20480    20971504   83  Linux
[root@server1 init.d]#

Ora creiamo un filesystem su /dev/sdb1…

mkfs.ext3 /dev/sdb1

… e montiamolo per scopi di test:

mount /dev/sdb1 /mnt

Dovresti ora vedere il nuovo dispositivo negli output di…

mount

[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt type ext3 (rw)
[root@server1 ~]#

… e

df -h

[root@server1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G  2.2G   25G   9% /
/dev/sda1             190M   13M  168M   8% /boot
tmpfs                 251M     0  251M   0% /dev/shm
/dev/sdb1              20G  173M   19G   1% /mnt
[root@server1 ~]#

Puoi smontarlo in questo modo:

umount /mnt

Per avere il dispositivo montato automaticamente all’avvio, ad esempio nella directory /storage, creiamo quella directory…

mkdir /storage

… e aggiungiamo la seguente riga a /etc/fstab:

vi /etc/fstab

| [...] /dev/sdb1 /storage ext3 defaults,auto,_netdev 0 0 |

Per scopi di test, puoi ora riavviare il sistema:

reboot

Dopo il riavvio, il dispositivo dovrebbe essere montato:

mount

[root@server1 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
/proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /storage type ext3 (rw,_netdev)
[root@server1 ~]#

df -h

[root@server1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
29G  2.2G   25G   9% /
/dev/sda1             190M   13M  168M   8% /boot
tmpfs                 251M     0  251M   0% /dev/shm
/dev/sdb1              20G  173M   19G   1% /storage
[root@server1 ~]#

4 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.