![]() |
![]() |
#1 |
Senior Member
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 690 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Просто выложу инструкцию и работу с логами для модулей 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' Запуск программы осуществляется командой /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 - как Вам будет удобно. Последний раз редактировалось Dioptimizer; 07.10.2018 в 20:35. |
![]() |
![]() |
Метки |
iscsi, scst |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|