2.5.13 Настройка iSCSI
Скачать документ Конфигурация хранилища
Конфигурация клиента
Окружение
- Версия РЕД ОС: 7.3
- Конфигурация: Сервер графический
- Версия ПО: targetcli-2.1.53-2, iscsi-initiator-utils-6.2.1.0-2
Конфигурация хранилища
Создайте диск LVM на целевом сервере, чтобы использовать его в качестве общего хранилища для клиентов.
Проверьте доступные диски:
fdisk -l | grep -i sd Диск /dev/sda: 200 GiB, 214748364800 байт, 419430400 секторов /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 419430399 417331200 199G 8e Linux LVM Диск /dev/sdb: 35 GiB, 37580963840 байт, 73400320 секторов
Из приведенного выше примера видно, что в системе доступно 35 ГБ дискового пространства (dev/sdb). Создайте раздел нужного объёма. В примере, на указанном выше диске, будет задействовано 5 ГБ для LVM.
fdisk /dev/sdb Добро пожаловать в fdisk (util-linux 2.37.3). Изменения останутся только в памяти до тех пор, пока вы не решите записать их. Будьте внимательны, используя команду write. Устройство не содержит стандартной таблицы разделов. Создана новая метка DOS с идентификатором 0xaee65952. Команда (m для справки): n → Новый раздел Тип раздела p основной (0 primary, 0 extended, 4 free) e расширенный (контейнер для логических разделов) Выберите (по умолчанию - p):p → Основной раздел Номер раздела (1-4, default 1): 1 → Номер раздела Первый сектор (2048-73400319, default 2048): → Нажмите Enter Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-73400319, default 73400319): +5G → Задайте размер раздела Создан новый раздел 1 с типом 'Linux' и размером 5 GiB. Команда (m для справки): t → Измените метку Выбранный раздел 1 Шестнадцатеричный код (введите L для получения списка кодов): 8e → Изменить метку на LVM Тип раздела 'Linux' изменен на 'Linux LVM'. Команда (m для справки): w → Сохраните Таблица разделов была изменена. Вызывается ioctl() для перечитывания таблицы разделов. Синхронизируются диски.
Создайте LVM с разделом /dev/sdb1 (замените /dev/sdb1 на имя вашего диска):
pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
vgcreate vg_iscsi /dev/sdb1
Volume group "vg_iscsi" successfully created
lvcreate -l 100%FREE -n lv_iscsi vg_iscsi Logical volume "lv_iscsi" created.
Создание таргета iSCSI
Установите пакет targetcli:
dnf install targetcli
Добавьте службу target в автозагрузку и запустите:
systemctl enable target --now
Откройте targetcli:
targetcli targetcli shell version 2.1.53 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. />
Просмотрите структуру, в виде которой представлен таргет, командой:
/> ls 1. o- / ......................................................................... [...] 2. o- backstores .............................................................. [...] 3. | o- block .................................................. [Storage Objects: 0] 4. | o- fileio ................................................. [Storage Objects: 0] 5. | o- pscsi .................................................. [Storage Objects: 0] 6. | o- ramdisk ................................................ [Storage Objects: 0] 7. o- iscsi ............................................................ [Targets: 0] 8. o- loopback ......................................................... [Targets: 0] 9. o- vhost ............................................................ [Targets: 0]
Помощь можно вызывать в любом разделе внутри targetcli:
help
Перейдите в раздел block:
/> cd backstores/block
Создайте блочное устройство, используя ранее созданный логический том:
/backstores/block> create scsi_disk1 /dev/vg_iscsi/lv_iscsi Created block storage object scsi_disk1 using /dev/vg_iscsi/lv_iscsi.
Создайте таргет (цель):
/backstores/block> cd /iscsi /iscsi> create Created target iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260.
Просмотреть структуру таргета можно командой:
/iscsi> ls o- iscsi .............................................................. [Targets: 1] o- iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625 .............. [TPGs: 1] o- tpg1 ................................................. [no-gen-acls, no-auth] o- acls ............................................................ [ACLs: 0] o- luns ............................................................ [LUNs: 0] o- portals ...................................................... [Portals: 1] o- 0.0.0.0:3260 ....................................................... [OK]
Здесь:
iqn — имя таргета.
tpg1 (Target Portal Group) – список IP-адресов и TCP портов, которые будет слушать этот таргет.
acls – список адресов, с которых можно будет подключиться к таргету,
luns – список адресов дискового устройства в сетях хранения,
portals – список IP-адресов и портов, которые будет слушать таргет.
Создайте ACL для клиентской машины. Для этого перейдите на уровень acls, используя команду cd
и клавиши управления со стрелками «вверх» и «вниз». Затем используйте команду create
и имя инициатора, которое находится в файле /etc/iscsi/initiatorname.iscsi на клиентской машине:
/iscsi/iqn.20...625/tpg1/acls> create iqn.1994-05.com.redhat:70f2a07b2daf Created Node ACL for iqn.1994-05.com.redhat:70f2a07b2daf Created mapped LUN 0. Created mapped LUN 1.
Создайте LUN. Он должен использовать раннее созданный объект хранилища. В примере это «scsi_disk1». Перейдите на уровень «luns», используя команду cd
и клавиши управления со стрелками «вверх» и «вниз». После чего используйте команду create
:
/iscsi/iqn.20...625/tpg1/luns> create /backstores/block/scsi_disk1 Created LUN 0. Created LUN 0->0 mapping in node ACL iqn.1994-05.com.redhat:70f2a07b2daf
Проверьте конфигурацию сервера:
/iscsi/iqn.20...625/tpg1/luns> cd / /> ls o- / ......................................................................... [...] o- backstores .............................................................. [...] | o- block .................................................. [Storage Objects: 1] | | o- scsi_disk1 ......... [/dev/vg_iscsi/lv_iscsi (5.0GiB) write-thru activated] | | o- alua ................................................... [ALUA Groups: 1] | | o- default_tg_pt_gp ....................... [ALUA state: Active/optimized] | o- fileio ................................................. [Storage Objects: 0] | o- pscsi .................................................. [Storage Objects: 0] | o- ramdisk ................................................ [Storage Objects: 0] o- iscsi ............................................................ [Targets: 1] | o- iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625 ............ [TPGs: 1] | o- tpg1 ............................................... [no-gen-acls, no-auth] | o- acls .......................................................... [ACLs: 1] | | o- iqn.1994-05.com.redhat:70f2a07b2daf .................. [Mapped LUNs: 1] | | o- mapped_lun0 ............................ [lun0 block/scsi_disk1 (rw)] | o- luns .......................................................... [LUNs: 1] | | o- lun0 ... [block/scsi_disk1 (/dev/vg_iscsi/lv_iscsi) (default_tg_pt_gp)] | o- portals .................................................... [Portals: 1] | o- 0.0.0.0:3260 ..................................................... [OK] o- loopback ......................................................... [Targets: 0] o- vhost ............................................................ [Targets: 0]
Сохраните конфигурацию:
/> saveconfig Last 10 configs saved in /etc/target/backup/. Configuration saved to /etc/target/saveconfig.json
/> exit Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup/. Configuration saved to /etc/target/saveconfig.json
Перезапустите сервис таргета:
systemctl restart target
Конфигурация клиента
На клиентской машине с РЕД ОС, к которой планируется подключение хранилища iSCSI, уже установлен клиент iscsi-initiator-utils. Если его нет в системе, необходимо установить пакет и добавить его в автозагрузку:
dnf install iscsi-initiator-utils systemctl enable iscsid --now
Отредактируйте файл /etc/iscsi/initiatorname.iscsi, если хотите изменить имя инициатора:
nano /etc/iscsi/initiatorname.iscsi
измените имя инициатора:
InitiatorName=iqn.1994-05.com.redhat:70f2a07b2daf
Найдите сервер (таргет) с помощью команды:
iscsiadm -m discovery -t st -p 10.81.81.190 10.81.81.190:3260,1 iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625
Перезапустите сервис:
systemctl restart iscsid
Подключитесь к таргету (серверу):
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625 -p 10.81.81.190 -l Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625, portal: 10.81.81.190,3260] Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.ro73.x8664:sn.4a0b7ff2b625, portal: 10.81.81.190,3260] successful.
Проверить подключение диска можно командой:
fdisk -l
В выводе должно появиться подключенное iscsi-устройство:
... ... ... Диск /dev/sdb: 4,102 GiB, 5364514816 байт, 10477568 секторов Disk model: scsi_disk1 Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 33550336 байт
Создайте файловую систему на диске iscsi.
mkfs.ext4 /dev/sdb mke2fs 1.44.6 (5-Mar-2019) Creating filesystem with 1309696 4k blocks and 327680 inodes Filesystem UUID: 5be3f332-b730-4aae-baaf-6c5e8cda0a57 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done
Смонтируйте диск в систему:
mount /dev/sdb /mnt
Проверка осуществляется командой:
df -hT Файловая система Тип Размер Использовано Дост Использовано% Cмонтировано в devtmpfs devtmpfs 1,9G 0 1,9G 0% /dev tmpfs tmpfs 2,0G 0 2,0G 0% /dev/shm tmpfs tmpfs 785M 3,4M 782M 1% /run /dev/mapper/ro_redos-root ext4 26G 6,8G 18G 28% / /dev/sda1 ext4 976M 159M 750M 18% /boot tmpfs tmpfs 393M 76K 393M 1% /run/user/42 tmpfs tmpfs 393M 128K 393M 1% /run/user/1000 tmpfs tmpfs 393M 68K 393M 1% /run/user/0 /dev/sdb ext4 4,9G 20M 4,6G 1% /mnt
Настройте автоматическое монтирование хранилища. Для этого понадобится UUID диска iscsi:
blkid /dev/sdb /dev/sdb: UUID="5be3f332-b730-4aae-baaf-6c5e8cda0a57" TYPE="ext4"
Теперь необходимо отредактировать файл /etc/fstab:
nano /etc/fstab
Добавив в него запись вида:
UUID=5be3f332-b730-4aae-baaf-6c5e8cda0a57 /mnt ext4 _netdev 0 0
Теперь, при перезагрузке инициатора (клиентской машины), диск iscsi будет подключаться к системе автоматически.
Дата последнего изменения: 09.09.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.