iSCSI настройка · 8 min read · Feb 07, 2026

Использование iSCSI на Fedora 10 (Инициатор и Цель)

Использование iSCSI на Fedora 10 (Инициатор и Цель)

Версия 1.0
Автор: Фалько Тимме

Этот гид объясняет, как вы можете настроить iSCSI цель и iSCSI инициатор (клиент), оба работающие на Fedora 10. Протокол iSCSI — это протокол сети хранения (SAN), который позволяет iSCSI инициаторам использовать устройства хранения на (удаленной) iSCSI цели, используя обычные Ethernet-кабели. Для iSCSI инициатора удаленное хранилище выглядит как обычный жесткий диск, подключенный локально.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Я использую два сервера Fedora 10:

  • server1.example.com (Инициатор): IP-адрес 192.168.0.100
  • server2.example.com (Цель): IP-адрес 192.168.0.101

2 Настройка Цели (server2)

server2:

Сначала мы настраиваем цель (server2). Поскольку необходимые пакеты доступны только в репозитории RPMFusion, мы должны сначала включить его:

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

Затем мы можем установить пакеты iSCSI цели:

yum install iscsitarget kmod-iscsitarget

Возможно, это также обновит ваш ядро. Если это так, пожалуйста, перезагрузите систему после этого:

reboot

Мы можем использовать неиспользуемые логические тома, файлы изображений, жесткие диски (например, /dev/sdb), разделы жестких дисков (например, /dev/sdb1) или RAID-устройства (например, /dev/md0) для хранения. В этом примере я создам логический том размером 20 ГБ с именем storage_lun1 в группе томов VolGroup00:

lvcreate -L20G -n storage_lun1 VolGroup00

(Если вы хотите использовать файл изображения, вы можете создать его следующим образом:

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

Это создаст файл изображения /storage/lun1.img размером 20 ГБ.

)

Далее мы редактируем /etc/ietd.conf…

vi /etc/ietd.conf

… и закомментируем все в этом файле. В конце мы добавляем следующий фрагмент:

| [...] 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 |

Имя цели должно быть глобально уникальным, стандарт iSCSI определяет “iSCSI Qualified Name” следующим образом: iqn.yyyy-mm.<обратное имя домена>[:идентификатор]; yyyy-mm — это дата, когда домен действителен; идентификатор выбирается произвольно. Строка IncomingUser содержит имя пользователя и пароль, чтобы только инициаторы (клиенты), которые предоставляют это имя пользователя и пароль, могли войти и использовать устройство хранения; если вам не нужна аутентификация, не указывайте имя пользователя и пароль в строке IncomingUser. В строке Lun мы должны указать полный путь к устройству хранения (например, /dev/VolGroup00/storage_lun1, /storage/lun1.img, /dev/sdb и т.д.).

Теперь мы сообщаем цели, что хотим разрешить подключения к устройству iqn.2001-04.com.example:storage.lun1 с IP-адреса 192.168.0.100 (server1.example.com):

vi /etc/initiators.allow

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

Далее мы создаем системные ссылки для запуска iscsi-target и запускаем его:

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

3 Настройка Инициатора (server1)

server1:

На server1 мы устанавливаем инициатор:

yum install iscsi-initiator-utils

Далее мы открываем /etc/iscsi/iscsid.conf…

vi /etc/iscsi/iscsid.conf

… и убеждаемся, что node.startup установлен на автоматический:

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

Теперь мы подключаемся к цели (server2) и проверяем, какие устройства хранения она предлагает:

iscsiadm -m discovery -t st -p 192.168.0.101

[root@server1 init.d]# iscsiadm -m discovery -t st -p 192.168.0.101
Starting 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]#

Настройки для устройства хранения iqn.2001-04.com.example:storage.lun1 на 192.168.0.101:3260,1 хранятся в файле /var/lib/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/default. Мы должны установить имя пользователя и пароль для цели в этом файле; вместо того чтобы редактировать этот файл вручную, мы можем использовать команду iscsiadm для этого:

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

Теперь мы можем войти:

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
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: successful
[root@server1 init.d]#

(Если вы хотите выйти, вы можете выполнить

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

)

В выводе команды

fdisk -l 

вы теперь должны найти новый жесткий диск (/dev/sdb в этом примере); это наше устройство хранения iSCSI:

[root@server1 init.d]# fdisk -l
Disk /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

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

Disk /dev/sdb doesn’t contain a valid partition table
[root@server1 init.d]#

Чтобы использовать это устройство, мы должны отформатировать его:

fdisk /dev/sdb

[root@server1 init.d]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa1870fdd.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

The number of cylinders for this disk is set to 20480.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:

  1. software that runs at boot time (e.g., old versions of LILO)
  2. booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): <– n
Command action
e extended
p primary partition (1-4)
<– p
Partition number (1-4): <– 1
First cylinder (1-20480, default 1): <– ENTER
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20480, default 20480): <– ENTER
Using default value 20480

Command (m for help): <– t
Selected partition 1
Hex code (type L to list codes): <– L

0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 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 hidden C: c7 Syrinx
5 Extended 41 PPC PReP Boot 85 Linux extended 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 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS
17 Hidden 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 Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Hex code (type L to list codes): <– 83

Command (m for help): <– w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@server1 init.d]#

После этого вывод команды

fdisk -l

должен выглядеть следующим образом:

[root@server1 init.d]# fdisk -l
Disk /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

Disk /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]#

Теперь мы создаем файловую систему на /dev/sdb1…

mkfs.ext3 /dev/sdb1

… и монтируем ее для тестирования:

mount /dev/sdb1 /mnt

Теперь вы должны увидеть новое устройство в выводах…

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 ~]#

… и

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 ~]#

Вы можете размонтировать его так:

umount /mnt

Чтобы устройство монтировалось автоматически при загрузке, например, в директории /storage, мы создаем эту директорию…

mkdir /storage

… и добавляем следующую строку в /etc/fstab:

vi /etc/fstab

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

Для тестирования вы можете теперь перезагрузить систему:

reboot

После перезагрузки устройство должно быть смонтировано:

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 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.