iSCSI в D-Link DNS-343
Возникла необходимость увеличить дисковое пространство одного из серверов, но покупать новые диски не хотелось. В сети имелось хранилище D-Link DNS-343 с большими винчестерами, установленными в RAID1. К нему можно получить доступ по протоколам FTP и SMB, что нас не устраивало. Хотелось иметь полноценное блочное устройство.
Желаемое можно реализовать при помощи AoE (ATA over Ethernet) или iSCSI. От AoE отказались практически сразу, так как он работает только в пределах одного сегмента сети.
Поиск в интернете дал следующие полезные статьи:
Установка fun-plug
Установка iscsi target
На хранилище был установлен fun-plug и optware. Это дало нам полноценный пакетный менеджер ipkg с репозиториями полезного софта, включая компилятор gcc, файловый менеджер mc и прочие вкусности.
Попробовав собрать iscsi-target из исходников, мы обнаружили, что он требует установку модуля ядра, который собрать не получилось. Нашли другой, более простой вариант: NetBSD iscsi-target. Таким образом мы получили бинарник, положили его в /ffp/sbin и написали для него инит-скрипт, который надо положить в /ffp/start и сделать исполняемым:
#!/ffp/bin/sh
# PROVIDE: iscsi_target
# REQUIRE: LOGIN
. /ffp/etc/ffp.subr
name="iscsi_target"
command="/ffp/sbin/iscsi-target"
iscsi_target_flags="-f /ffp/etc/iscsi/targets"
required_files="/ffp/etc/iscsi/targets"
run_rc_command "$1"
Тестирование показало, что блочные устройства, предоставляемые по сети, лучше делать в виде файлов. При этом по непонятной причине скорость доступа получается чуть выше, чем если предоставлять раздел или даже целиком диск (скорость записи на «файловое» устройство в районе 20 Мбайт/с против 15 в среднем на раздел или диск). Причины устанавливать не стали, кто хочет — может попробовать.
Готовый бинарник и все прилагающееся можно взять здесь.
Огромное вам спасибо!
Решаю аналогичную проблемму.
Желаю вам крепкого здоровья!