Iscsi: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 58: Строка 58:
 
==iSCSI initiator==
 
==iSCSI initiator==
 
Установить open-iscsi
 
Установить open-iscsi
{{root|<nowiki>echo "sys-block/open-iscsi" >> /etc/portage/package.keywords</nowiki>}}
+
{{root|<nowiki>#echo "sys-block/open-iscsi" >> /etc/portage/package.keywords</nowiki>}}
{{root|<nowiki>emerge sys-block/open-iscsi</nowiki>}}
+
{{root|<nowiki>#emerge sys-block/open-iscsi</nowiki>}}
   
 
Запустить сервис:
 
Запустить сервис:
 
{{root|<nowiki>/etc/init.d/iscsid start</nowiki>}}
 
{{root|<nowiki>/etc/init.d/iscsid start</nowiki>}}
   
Исследовать
+
Исследовать какие устройства есть на целевой системе
{{root|<nowiki>iscsiadm -m discovery -t st -p 172.16.49.9
+
{{root|<nowiki>#iscsiadm -m discovery -t st -p 172.16.49.9
 
172.16.49.9:3260,1 iqn.2009-09.ab.mordred:iSCSI.aradia.disk1</nowiki>}}
 
172.16.49.9:3260,1 iqn.2009-09.ab.mordred:iSCSI.aradia.disk1</nowiki>}}
  +
  +
Подключить:
  +
{{root|<nowiki>#iscsiadm -m node -T iqn.2009-09.ab.mordred:iSCSI.aradia.disk1 -p 172.16.49.9:3260 -l</nowiki>}}

Версия 22:40, 24 сентября 2009

Постановка задачи

Задача: Есть сервер, на котром утилизация дисковой подсистемы близка к 100%. нужно максимально разгрузить дисковую подсистему, распараллелив задачи на несколько потоков.

Утилизация диска:

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00    85.00    0.00  175.00     0.00   964.00    11.02   108.41  686.58   5.71 100.00
sdb               0.00   223.00    1.00  225.00     4.00  1804.00    16.00     1.82    8.07   1.36  30.80
sdc               0.00   224.00    0.00  223.00     0.00  1804.00    16.18     2.47   11.06   1.57  35.00

Насколько я могу судить, в моем случае диск (относительно старый) был нагружен множеством мелких запросов, поток данных (в Мб/с) относительно небольшой. Диск используется как хранилище rrd-файлов для cacti.

Подготовка iSCSI-таргета

Создать файл, который будет использован как "диск". В моем случае так удорбнее, файл лежит на быстром массиве из 15К-rpm дисков.

dd if=/dev/zero of=/var/iscsi/aradia bs=1024 count=6M

Установить необходимое ПО

emerge iscsitarget

Загрузить модуль crc32

modprobe crc32

Вношу изменения в файл /etc/ietd.conf (остальные стрки закоментарены)

Target iqn.2009-09.ab.mordred:iSCSI.aradia.disk1
        Lun 0 Path=/var/iscsi/aradia,Type=fileio
        MaxConnections          1
        IncomingUser
        OutgoingUser
        Alias                   Aradia_Drive

Обратить внимание, пустые IncomingUser и OutgoingUser - обязательно, без них у меня не работало.

Запускаю сервис

/etc/init.d/ietd start
dmesg
<skipped>
[12789475.395944] Loading iSCSI transport class v2.0-724.
[12790177.495567] iSCSI Enterprise Target Software - version 0.4.17
[12790177.495633] iscsi_trgt: Registered io type fileio
[12790177.495635] iscsi_trgt: Registered io type blockio
[12790177.495637] iscsi_trgt: Registered io type nullio

Посде старта соответвенно, откут порт и запущен соответвующий процесс.

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN     1814/ietd

iSCSI initiator

Установить open-iscsi

#echo "sys-block/open-iscsi" >> /etc/portage/package.keywords
#emerge sys-block/open-iscsi

Запустить сервис:

/etc/init.d/iscsid start

Исследовать какие устройства есть на целевой системе

#iscsiadm -m discovery -t st -p 172.16.49.9 172.16.49.9:3260,1 iqn.2009-09.ab.mordred:iSCSI.aradia.disk1

Подключить:

#iscsiadm -m node -T iqn.2009-09.ab.mordred:iSCSI.aradia.disk1 -p 172.16.49.9:3260 -l