Iscsi: различия между версиями
Строка 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 дисков.
Установить необходимое ПО
Загрузить модуль 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 - обязательно, без них у меня не работало.
Запускаю сервис
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
Запустить сервис:
Исследовать какие устройства есть на целевой системе
Подключить: