Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.04.2018, 15:07   #1
Dioptimizer
Senior Member
 
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689
Dioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond reputeDioptimizer has a reputation beyond repute
По умолчанию Превращаем роутер в iSCSI target

Просто выложу инструкцию и работу с логами для модулей SCSI в среде OpenWRT/LEDE.
Для большинства задач оно годится(file или disk), но если нужны какие-то специализированные носители информации, то придется компилировать еще под те нужды.
Основа взята отсюда, но т.к. ссылки в Makefile уже не актуальны, пришлось его подправить под свежую 3.3.x версию или можно даже установить trunk версию из репозитория.
Также добавлены зависимости от интегрированных модулей kmod-lib-crc-t10dif и kmod-lib-crc32c в ядро, т.к. например, отдельного модуля kmod-lib-crc-t10dif уже не существует и его необходимо интегрировать в ядро как часть системы через KCONFIG.
Раньше требовалось патчить ядро Linux для нормальной производительности и работы программы, но теперь, разработчики пишут, что в новых версиях этого уже не требуется.

Установка

Код:
BusyBox v1.28.3 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r6755-d089a5d
 -----------------------------------------------------
root@Openwrt:~# opkg install /tmp/*.ipk
Installing kmod-iscsi-scst (4.9.91+trunk-1) to root...
Installing kmod-scsi-core (4.9.91-1) to root...
Installing kmod-scst (4.9.91+trunk-1) to root...
Package kmod-scsi-core (4.9.91-1) installed in root is up to date.
Installing kmod-scst-vdisk (4.9.91+trunk-1) to root...
Package kmod-scst (4.9.91+trunk-1) installed in root is up to date.
Installing kmod-usb-storage (4.9.91-1) to root...
Installing scst (trunk-1) to root...
Configuring kmod-scsi-core.
Configuring kmod-usb-storage.
Configuring kmod-scst.
Configuring kmod-iscsi-scst.
Configuring kmod-scst-vdisk.
Configuring scst.
root@Openwrt:~#
root@Openwrt:~# rm /tmp/*.ipk
root@Openwrt:~#
root@Openwrt:~# free
             total       used       free     shared    buffers     cached
Mem:         27248      22736       4512         84       2596       7588
-/+ buffers/cache:      12552      14696
Swap:            0          0          0
root@Openwrt:~#
root@Openwrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.0M      2.0M         0 100% /rom
tmpfs                    13.3M     84.0K     13.2M   1% /tmp
/dev/mmcblk0p1           11.8M      2.7M      8.4M  25% /overlay
overlayfs:/overlay       11.8M      2.7M      8.4M  25% /
tmpfs                   512.0K         0    512.0K   0% /dev
root@Openwrt:~#
[свернуть]


Для запуска и работы программы используются kernel модули с которыми, в свою очередь, нужно работать через sysfs.
Если мы например будем компилировать/использовать scst в Ubuntu или Debian - то управление scst модулями производится специальной утилитой у которой совершенно другой формат конфигурационных файлов, но по существу в основе принцип тот же - kernel модули и sysfs.
Управление модулями через sysfs выполняется с помощью скрипта /etc/init.d/scst - который в свою очередь работает с конфигурационным файлом /etc/config/scst. Описания этого конфигурационного файла на git'е отсутствовало и пришлось разбираться самому, и вот содержимое /etc/config/scst:
Код:
config global
	option id 'iqn.2018-04.net.vlnb'

config target
	option name 'tgt'
	option lun 'disk1'
	
########Incoming User Authorization (default 0)
	option auth_in '0'
	option id_in 'username'
	option secret_in 'pwd'
########Outgoing User Authorization (default 0)
	option auth_out '0'
	option id_out 'username'
	option secret_out 'pwd'
	
config device
	option name 'disk1'
	option type 'file'
	option path '/mnt/sda1/disk1.bin'
#	option blocksize '4096'
#	option scsisn 'userserialnumber'

#config device
#	option name 'disk2'
#	option type 'block'
#	option path '/dev/sda'
#	option blocksize '4096'
#	option scsisn 'userserialnumber'
(имейте ввиду, что параметр option lun может содержать несколько значений, в этом случае значения должны отделятся переносом строки. Также следует учитывать, что если blocksize не указан, то он будет равняться 512 байтам по умолчанию)

Запуск программы осуществляется командой /etc/init.d/scst start.

Загрузка модулей и конфигурация на лету


Код:
...
[   88.749257] scst: Attached to scsi0, channel 0, id 0, lun 0, type 0
[   88.755676] scst: User interface thread started
[   88.766681] scst: Init thread started
[   88.770470] scst: Task management thread started
[   88.775569] scst: Target template copy_manager registered successfully
[   88.782437] scst: Target copy_manager_tgt for template copy_manager registered successfully
[   88.790860] scst: Using security group "copy_manager_tgt" for initiator "copy_manager_sess" (target copy_manager_tgt)
[   88.801753] scst: SCST version 3.4.0-pre1 loaded successfully (global max mem for commands ignored, per device 2MB)
[   88.813205] scst: Management thread started
[   89.065343] scst: Virtual device handler vdisk_fileio for type 0 registered successfully
[   89.073620] scst: Virtual device handler vdisk_blockio for type 0 registered successfully
[   89.081878] scst: Virtual device handler vdisk_nullio for type 0 registered successfully
[   89.090079] scst: Virtual device handler vcdrom for type 5 registered successfully
[   89.229194] iscsi-scst: iSCSI SCST Target - version 3.4.0-pre1
[   89.235180] iscsi-scst: Registered iSCSI transport: iSCSI-TCP
[   89.243083] scst: Target template iscsi registered successfully
[   89.250765] iscsi-scst: Read thread for pool 80a44000 started
[   89.257027] iscsi-scst: Read thread for pool 80a44000 started
[   89.263164] iscsi-scst: Write thread for pool 80a44000 started
[   89.270330] iscsi-scst: Write thread for pool 80a44000 started
[   89.288346] scst: Target iqn.2018-04.net.vlnb:tgt for template iscsi registered successfully
[   89.297632] scst: Using autogenerated relative target id 1 for target iqn.2018-04.net.vlnb:tgt
[   89.348960] dev_vdisk: Registering virtual vdisk_fileio device disk1 (ROTATIONAL)
[   89.357094] dev_vdisk: Attached SCSI target virtual disk disk1 (file="/mnt/sda1/disk1.bin", fs=9096MB, bs=512, nblocks=18629016, cyln=9096)
[   89.372174] scst: Added device disk1 to group copy_manager_tgt (LUN 0, flags 0x4) to target copy_manager_tgt
[   89.382188] scst: Attached to virtual device disk1 (id 1)
[   89.389452] scst: Changed cmd threads num to 2
[   89.398876] scst: Added device disk1 to group iqn.2018-04.net.vlnb:tgt (LUN 0, flags 0x2) to target iqn.2018-04.net.vlnb:tgt
root@Openwrt:~# dmesg | tail
[свернуть]


Как работать с iSCSI диском(и) и/или грузить с него операционную систему(например через iPXE) - это уже другой разговор и другая тема, если будут вопросы - обращайтесь.

Во вложении scst и luci-app-scst пакет, который в свою очередь необходимо положить по пути "package\network\utils\" вашей OpenWRT/LEDE сборки.
В Makefile переменная PKG_VERSION может принимать значение trunk или 3.3.x - как Вам будет удобно.
Вложения
Тип файла: zip scst.zip (4.9 Кб, 95 просмотров)
Тип файла: zip luci-app-scst.zip (9.8 Кб, 76 просмотров)

Последний раз редактировалось Dioptimizer; 07.10.2018 в 20:35.
Dioptimizer вне форума   Ответить с цитированием
 

Метки
iscsi, scst


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:17. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика