vk.com Добавление сетевого диска: настройка iSCSI Initiator в Linux (Ubuntu 22.04 / Debian 12)

Добавление сетевого диска: настройка iSCSI Initiator в Linux (Ubuntu 22.04 / Debian 12)

Настройка подключения по протоколу iSCSI с авторизацией в Ubuntu 22.04 / Debian 12. Эта инструкция подойдет для большинства deb-подобных ОС. Разбирать будем на примере Ubuntu 22.04. Инструкция будет состоять из трех частей:


Установка пакетов, необходимых для работы протокола iSCSI.

Для начала обновим информацию из репозиториев:

apt update


Затем обновим текущие пакеты в системе:

apt upgrade -y


Установим пакеты для работы с iSCSI:

apt install open-iscsi


На этом установка закончена.

Для настройки инициатора iSCSI будут нужны реквизиты для подключения (IP-адресация, логины и пароли инициаторов). Их вы получите при активации услуги.

На сервере необходимо будет настроить сетевое подключение и IP-адресацию. Выдаётся "серая" подсеть. В нашем примете будем использовать подсеть 10.10.20.0/24.

IP-адрес сервера iSCSI - 10.10.20.1.

IP-адрес инициатор iSCSI - 10.10.20.20.

Первым шагом откроем файл /etc/iscsi/iscsid.conf для редактирования глобальных настроек. Нам нужно включить автоматическое подключение всех нод при запуске системы:

nano /etc/iscsi/iscsid.conf


В этом файле нам нужно найти следующие строки и немного их поправить:

# node.startup = automatic - снять комментарий

node.startup = manual - закомментировать


После всех проделанных операций перезапускаем сервис iSCSI:

systemctl restart iscsi


Подключение к серверу iSCSI.

Теперь попробуем подключиться к серверу и получить список доступных целей:

iscsiadm --mode discovery --portal 10.10.20.1 --type sendtargets


Вывод должен быть примерно таким:

10.10.20.1:3260,1 iscsi.001-1.ru.ekacod.:second


Мы подключаемся к серверу и получаем список всех доступных нод.

После успешного выполнения данной команды в /etc/iscsi появятся две директории: nodes - которая содержит вложенные каталоги для каждого IQN и send_targets - с вложенными каталогами для каждой цели. Перейдем в nodes и провалимся в каталог с IQN нашей цели, в нем откроем еще один каталог с адресом и портом, в котором обнаружим файл default. Откроем его на редактирование:

nano /etc/iscsi/nodes/iscsi.001-1.ru.ekacod.\:second/10.10.20.1\,3260\,1/default


Проверяем, что в строке node.startup = указано значение automatic. Если нет. то меняем на automatic.

Добавляем строки для авторизации:

node.session.auth.authmethod = CHAP


node.session.auth.username = test.ubuntu

node.session.auth.password = Secret123456


Теперь можно подключиться к ноде.

Команда, которая подключит все ноды в системе:

iscsiadm -m node --login


Если нужно подключить только одну конкретную ноду, то указываем её имя:

iscsiadm -m node --targetname "iscsi.001-1.ru.ekacod.:second" --login


Команда для отключения всех нод:

iscsiadm -m node --logout


Команда для отключения одной нужной нам ноды:

iscsiadm -m node --targetname "iscsi.001-1.ru.ekacod.:second" --logout


Для просмотра всех активных сессий:

iscsiadm -m session


Для удаления ненужных целей:

iscsiadm -m discovery -p 10.10.20.1 -o delete


Для проверки подключения выполним команду:

lsblk


Вывод будет примерно таким:

sda 8:0 0 32G 0 disk

├─sda1 8:1 0 1M 0 part

├─sda2 8:2 0 2G 0 part /boot

└─sda3 8:3 0 30G 0 part

└─ubuntu--vg-ubuntu--lv 253:0 0 15G 0 lvm /

sdb 8:16 0 36.5T 0 disk


Видим, что в системе появился диск sdb размером 36,5TiB.


Разметка и монтирование диска.

Для дальнейшего использования диск нужно разметить и отформатировать.

Для начала разметим диск утилитой fdisk:

fdisk /dev/sdb


Попадаем в оболочку fdisk, управление в которой осуществляется при помощи коротких команд. Основные опции для работы в утилите:

  • 'a' - включение или выключения флага boot для раздела;
  • 'd' - удалить раздел;
  • 'F' - показать свободное место;
  • 'l' - вывести список известных типов разделов;
  • 'n' - создать новый раздел;
  • 'p' - вывести таблицу разделов;
  • 't' - изменение типа раздела;
  • 'i' - вывести информацию о разделе;
  • 'I' и 'O' - записать или загрузить разметку в файл сценария sfdisk;
  • 'w' - записать новую таблицу разделов на диск;
  • 'q' - выйти без сохранения;
  • 'g' - создать пустую таблицу разделов GPT;
  • 'o' - создать пустую таблицу разделов MBR.

Что получим при запуске утилиты:

root@file-test-ubuntu-22:/# fdisk /dev/sdb


Welcome to fdisk (util-linux 2.37.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.


Command (m for help): p

Disk /dev/sdb: 36.45 TiB, 40077198852096 bytes, 78275779008 sectors

Disk model: iSCSI Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 32768 bytes

I/O size (minimum/optimal): 32768 bytes / 32768 bytes

Disklabel type: gpt

Disk identifier: 1D501400-64E0-43D5-9C46-6F8162BFF9FF


Command (m for help): n

Partition number (1-128, default 1):

First sector (34-78275778974, default 2048):

Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-78275778974, default 78275778974):


Created a new partition 1 of type 'Linux filesystem' and of size 36.4 TiB.


Command (m for help): p

Disk /dev/sdb: 36.45 TiB, 40077198852096 bytes, 78275779008 sectors

Disk model: iSCSI Disk

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 32768 bytes

I/O size (minimum/optimal): 32768 bytes / 32768 bytes

Disklabel type: gpt

Disk identifier: 1D501400-64E0-43D5-9C46-6F8162BFF9FF


Device Start End Sectors Size Type

/dev/sdb1 2048 78275778974 78275776927 36.4T Linux filesystem


Command (m for help): w


Пояснения к выводу:

  • 'p' - вывели список разделов, на новом диске он пуст;
  • 'n' - запустили создание нового раздела;
  • далее просто нажимаем 'Enter' на все вопросы, так мы получим один раздел максимального объема;
  • 'p' - еще раз просматриваем список разделов, в нём появился /dev/sdb1 с параметром 'Size' равным 36,4TiB;
  • 'w' - после ввода этой опции данные будут записаны на диск и выход из приложения.

После выхода будет сообщение об успешной операции с диском:

The partition table has been altered.

Calling ioctl() to re-read partition table.

Syncing disks.


Далее перейдем к форматированию диска.

Стоит учесть, если диск будет использоваться из ОС Linux и из ОС Windows, то стоит внимательно отнестись к выбору файловой системы. Если предусматривается гибридное хранилище, то лучше выбрать exFAT, если парк ОС ограничен Linux дистрибутивами, то стоит обратить внимание на ext4 или выбрать подходящую для своих нужд.

В инструкции мы рассмотрим форматирование для файловой системы exFAT. Для такого форматирования понадобится установить дополнительные пакеты. Если понадобится другая ФС, то стандартные инструменты довольно богаты.

Для начала установим пакеты для работы с exFAT:

apt install exfatprogs


Далее посмотрим какие разделы появились на нашем новом диске:

lsblk /dev/sdb


Вывод будет таким:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS

sdb 8:16 0 36.5T 0 disk

└─sdb1 8:17 0 36.4T 0 part


Отформатируем раздел в нужной нам файловой системе:

mkfs.exfat /dev/sdb1


Вывод будет следующим:

exfatprogs version : 1.1.3

Creating exFAT filesystem(/dev/sdb1, cluster size=131072)


Writing volume boot record: done

Writing backup volume boot record: done

Fat table creation: done

Allocation bitmap creation: done

Upcase table creation: done

Writing root directory entry: done

Synchronizing...


exFAT format complete!


Теперь примонтируем раздел в систему. Для этого создадим директорию в папке /mnt:

mkdir /mnt/backup


И примонтируем нужный раздел в эту директорию:

mount /dev/sdb1 /mnt/backup


Для проверки монтирования можно воспользоваться командой:

df -h /mnt/backup/


Вывод будет таким:

Filesystem Size Used Avail Use% Mounted on

/dev/sdb1 37T 37M 37T 1% /mnt/backup


На этом настройка и подключение хранилище на примере ОС Ubuntu 22.04 завершена.

Наш веб-сайт использует куки-файлы, чтобы отличить Вас от других пользователей.
Понятно