Схд своими руками linux

Записки IT специалиста

Протокол iSCSI получил широкое распространение как простой и недорогой способ организации сетей хранения данных (SAN) поверх обычных Ethernet-сетей. iSCSI не требует приобретения дополнительного оборудования и существенного изменения инфраструктуры, тем не менее позволяя более эффективно использовать пространство в хранилищах и увеличить надежность хранения данных. В данном материале мы рассмотрим создание iSCSI-хранилища в среде современных ОС семейства Debain или Ubuntu, включая многочисленные их производные.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Начиная с Debian 9 Stretch и Ubuntu 18.04 LTS пакет iSCSI Enterprise Target (iscsitarget) был удален и ему на смену пришел Linux SCSI target (tgt), работу с которым мы и будем рассматривать. Все указанные ниже команды следует вводить с правами суперпользователя или используя sudo. В нашем случае использовалась OC Debian 10, но все сказанное будет справедливо для любого основанного на нем дистрибутива, а с некоторыми поправками для любых Linux-систем.

Прежде всего установим Linux SCSI target, не забыв перед этим обновить список пакетов:

apt update
apt install tgt

Серверная часть в iSCSI называется порталом, который содержит цели (таргет, Target), каждая из которых предоставляет клиенту — инициатору (Initiator) доступ к одному или нескольким блочным устройствам. В качестве блочных устройств могут использоваться физические диски, логические тома, файлы (виртуальные диски) и т.д. и т.п. В нашем примере мы будем использовать файл. На наш взгляд это наиболее удобно, так как позволяет достаточно гибко управлять системой хранения — файлы виртуальных дисков можно легко перемещать между серверами или физическими дисками, а также управлять их размерами.

Читайте также:  Man date in linux

Виртуальные диски могут иметь фиксированный размер или быть динамическими. Диск фиксированного размера сразу занимает все выделенное пространство, но при этом обеспечивает наиболее высокое быстродействие и практически не подвержен фрагментации. Динамический диск увеличивает свой размер по мере записи на него данных, файл диска при этом может фрагментироваться, особенно если активная запись ведется сразу в несколько таких дисков.

Какой же тип выбрать? Здесь все зависит от решаемых задач, если вы заранее знаете объем хранимых данных, и он не будет существенно изменяться — то выбирайте диск фиксированного размера, в иных случаях более предпочтителен динамический диск, как позволяющий более оптимально использовать дисковое пространство.

Для хранения файлов виртуальных дисков мы будем условно использовать директорию /storage, поэтому вам потребуется откорректировать пути в соответствии с реальным расположением данных.

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

dd if=/dev/zero of=/storage/lun0.img bs=1M count=2048

Она создаст файл размером 2 ГБ, так как мы указали размер блока — bs — равным 1 MБ и количество таких блоков — count — 2048.

Для создания динамического диска:

dd if=/dev/zero of=/storage/lun0.img bs=1 count=0 seek=200G

Данная команда создает разреженный файл с максимальным размером 200 ГБ, разреженными называются файлы, которые вместо последовательности нулей на диске хранят информацию об этих последовательностях в специальной таблице.

Для преобразования обычного файла в разреженный выполните команду:

cp --sparse=always filename newfilename

Где filename и newfilename — старое и новое имя файла.

Будем считать, что файлы виртуальных дисков вами созданы и перейдем к настройке Linux SCSI target. Для этого перейдем в /etc/tgt где мы увидим файл targets.conf и директорию conf.d. Предполагается что для каждой цели мы будем использовать отдельный конфигурационный файл, которые следует снабдить расширением .conf и размещать в указанной директории.

Читайте также:  Отличие винды от линукс

Следует помнить, что так как iSCSI-диск является аналогом обычного диска, то с одной целью может работать только один инициатор, исключение — кластерные системы, где одна цель может быть сразу подключена к нескольким узлам.

Создадим новый файл конфигурации:

touch /etc/tgt/conf.d/debain-test.conf

Затем откроем созданный файл и внесем в него следующее содержимое:

  
backing-store /storage/lunO.img
initiator-address 192.168.111.150
incominguser andrey secretpass12

В начале секции после директивы target указывается IQN — полностью определенное имя цели, которое имеет следующий формат:

  • year-mo — год и месяц регистрации домена
  • reversed_domain_name — доменное имя, записанное в обратном порядке
  • unique_name — уникальное имя цели

Внутри секции цели мы указали следующие опции:

  • backing-store — указывает путь к блочному устройству или файлу
  • initiator-address — IP-адрес инициатора, , если он не указан, то доступ сможет получить любое устройство.
  • incominguser — имя пользователя и пароль, необязательная опция, используется для дополнительной безопасности, по требованию стандарта длина пароля должна быть равна 12 символам.

Если вы хотите предоставлять в одной цели два и более блочных устройства, то для каждого из них добавьте отдельной строкой опцию backing-store, это же касается и initiator-address, их тоже можно указать несколько.

Сохраним файл конфигурации и перезапустим службу Linux SCSI target:

Проверить работу портала можно командой:

 tgtadm --mode target --op show

Которая покажет все подключенные к нему цели и предоставляемые ими блочные устройства.

tgt-debian-ubuntu-001.png

На этом настройку цели можно считать законченной. Как видим, никаких особых сложностей в создании iSCSI хранилища в Linux-системах нет.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Читайте также:  What is host key in linux

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Оцените статью
Adblock
detector