пятница, 5 августа 2011 г.

Linux iSCSI target для Windows

Недавно встала задача сделать файловое хранилище для кластера Hyper-V. Для теста было решено попробовать для начала функционал на iSCSI. В качестве сервера (target) выступает Debian Squeeze, в качестве клиента (initiator) Windows.

Перед установкой ещё раз повторюсь, что это решение для тестового стенда, и я так и не решил проблему с контролем доступа, т.е. подключиться к системе хранения может любой желающий.


Начну с настройки target.

Ставим iscsitarget и собираем модуль ядра.
Нужно делать через aptitude, apt-get этого не умеет.

aptitude install iscsitarget iscsitarget-dkms

Далее включаем поддержку target. Изменяем в файле /etc/default/iscsitarget строку
ISCSITARGET_ENABLE=false
на
ISCSITARGET_ENABLE=true

Теперь решаем, что мы будем расшаривать. Расшарить можно практически всё, что кгодно, диск, раздел на диске, файл, raid-массив или даже скутора.

Значение типов
Для блочных устройств blockio
Для файлов fileio
Для секторов nullio

Мне для тестовых целей, да и не только для этого удобней всего расшарить файл.
Создадим папку и генерируем пустой файл, который будет нашим луном.
mkdir /storage
dd if=/dev/zero of=/storage/lun0.img bs=1M count=45000

Теперь создадим запись о нашем таргете в файле /etc/iet/ietd.conf
Придумываем имя согласно RFC3721.

Вообще говоря запись должна быть вот такой, но с такими настройками Windows упорно не хотел подключаться к хранилищу (Ошибки авторизации или CHAP не соответствует стандарту).
   Target iqn.2011-08.ru.doomgate:storage
      IncomingUser USER1 PASSWORD1
      OutgoingUser USER2 PASSWORD2
      Lun 0 Path=/storage/lun0.img,Type=fileio
Поэтому пришлось её максимально упростить
   Target iqn.2011-08.ru.doomgate:storage
      IncomingUser
      Lun 0 Path=/storage/lun0.img,Type=fileio

Запускаем демон:
invoke-rc.d iscsitarget start

Можем по смотреть, всё ли у нас работает корректно
cat /proc/net/iet/volume - должен показать записи о таргетах
cat /proc/net/iet/session - должен показать записи о сессиях


Этап установки пройден, и теперь попробуем подключиться

Запускаем "Инициатор iSCSI", соглашаемся с запуском службы iscsi и добавляем исключение в брандмауэр. Идём на вкладку "Обнаружение", нажимаем "Добавить портал" и указываем ip нашего target. После добавления идём на вкладку "Конечные объекты", выбираем наш target и нажимаем "Подключиться".

После этого в оснастке "управление дисками" должен появиться новый диск. Инициализируем его, форматируем, и всё готово к работе!

1 комментарий:

  1. Ошибки авторизации или CHAP не соответствует стандарту - смог побороть установив пароль длиною ровно 12 символов.

    ОтветитьУдалить