ISCSI: различия между версиями
Vovan (обсуждение | вклад) (→Установка initiatior (т.е. клиента)) |
Vovan (обсуждение | вклад) (→Установка initiatior (т.е. клиента)) |
||
Строка 64: | Строка 64: | ||
Поэтому переходим в директорию | Поэтому переходим в директорию | ||
/etc/iscsi/nodes/iqn | /etc/iscsi/nodes/iqn | ||
+ | И удаляем ненужные конфигурации (там в имени есть ip-адрес, поэтому можно прибить ненужные исходя из здравого смысла...) | ||
+ | Затем открываем файл | ||
+ | nano /etc/iscsi/nodes/нужный_iqn/нужная_конфигурация/default | ||
+ | Находим там строчку | ||
+ | node.session.auth.authmethod = чтототам... | ||
+ | |||
+ | Заменяем эту строчку на | ||
+ | node.session.auth.authmethod = CHAP | ||
+ | node.session.auth.username = user_in | ||
+ | node.session.auth.password = user_in_pwd | ||
+ | discovery.sendtargets.auth.username = user_out | ||
+ | discovery.sendtargets.auth.password = user_out_pwd | ||
+ | |||
+ | Внимание! последних четырёх строчек изначально в файле нет, поэтому именно заменяем найденную строчку на четыре других! | ||
Версия 20:48, 17 февраля 2013
Для чего это всё
Существует два метода доступа к данным, находящимся на другом компьютере: файловый (когда у удалённого компьютера запрашивают файл) и блочный — когда у удалённого компьютера запрашивают блоки с дискового носителя. В этом случае запрашивающая сторона сама себе делает на блочном устройстве файловую систему, а сервер, отдающий блочное устройство, знать не знает про файловые системы на нём. Первый метод называют NAS (network attached storage), а второй — SAN (storage area network).
Одним из протоколов доступа к блочным устройствам является iSCSI. iSCSI — это способ соединения устройств хранения данных через сеть с использованием протокола TCP/IP. Устройства iSCSI - это дисковые накопители, накопители на магнитных лентах и другие устройства хранения, расположенные на сетевом компьютере, к которому можно подключиться.
В мире SCSI приняты следующие термины:
target — тот, кто предоставляет блочное устройство. Аналог - сервер.
initiator — клиент, тот, кто пользуется блочным устройством. Аналог клиента.
WWID — уникальный идентификатор устройства, его имя. Аналог DNS-имени.
LUN — номер «кусочка» диска, к которому идёт обращение. Ближайший аналог — раздел на жёстком диске.
Конечно, не считая сеть, основным требованием для внедрения iSCSI является организация iSCSI-сервера.
Установка target (т.е. сервера)
aptitude install iscsitarget iscsitarget-source iscsitarget-dkms
nano /etc/iet/ietd.conf
Проверяем наличие настроенных параметров (остальное - по умолчанию):
Target iqn.2101-04.ru.nnov.nntc.repo:storage.disk1 IncomingUser storage qwertyytrewq OutgoingUser storage qwertyytrewq Lun 0 Path=/dev/storage/disk1,Type=fileio
Далее..
echo "ISCSITARGET_ENABLE=true" > /etc/default/iscsitarget invoke-rc.d iscsitarget restart
Установка initiatior (т.е. клиента)
aptitude install open-iscsi
Открыть файл:
nano /etc/iscsi/iscsid.conf
Проверить настройку строки и переключить ей вот так (это для тото, чтобы сервис стартовал автоматически):
node.startup = automatic
Для проверки какие блочные устройства на target-е доступны можно выполнить команду
iscsiadm -m discovery -t st -p 192.168.10.250
или
iscsiadm -m discovery -t sendtargets -p 192.168.10.250
где 192.168.10.250 - это адрес target-сервера
В результате выполнения этой команды создадутся файлы настроек в
/etc/iscsi/nodes/iqn(тот самый, что настраивали на target-е, например, iqn.2101-04.ru.nnov.nntc.repo:storage.disk1)
Т.е., например на repo-сервере было много виртуальных ip-адресов, соответственно в данной директории создалось столько одинаковых конфигурационных файлов для сетевых блочных устройств, сколько и ip-адресов. Это не совсем то, что нужно
Поэтому переходим в директорию
/etc/iscsi/nodes/iqn
И удаляем ненужные конфигурации (там в имени есть ip-адрес, поэтому можно прибить ненужные исходя из здравого смысла...)
Затем открываем файл
nano /etc/iscsi/nodes/нужный_iqn/нужная_конфигурация/default
Находим там строчку
node.session.auth.authmethod = чтототам...
Заменяем эту строчку на
node.session.auth.authmethod = CHAP node.session.auth.username = user_in node.session.auth.password = user_in_pwd discovery.sendtargets.auth.username = user_out discovery.sendtargets.auth.password = user_out_pwd
Внимание! последних четырёх строчек изначально в файле нет, поэтому именно заменяем найденную строчку на четыре других!