1. Сети SAN

Сети SAN  — представляют собой архитектурное решение для подключения внешних устройств хранения данных, таких как дисковые массивы, ленточные библиотеки, оптические приводы к серверам таким образом, чтобы операционная система распознала подключённые ресурсы как локальные. Википедия

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

Типичная скорость передачи данных по таким кабелям колеблется от 4 до 8 Гбайт/с, в противоположность скорости передачи данных в проводных сетях Ethernet, в которых она составляет 1 Гбайт/с. Однако сети Ethernet представляют собой быстро растущий сегмент рынка. Этому есть несколько причин. Две главные причины заключаются в том, что появились недорогие варианты технологии Ethernet со скоростью 10 Гбайт/с и постоянно усиливается роль виртуальных серверов; системы виртуализации обычно лучше поддерживают технологию Ethernet, чем оптоволоконные кабели. Разумеется, свою роль играет то, что системы, основанные на технологии Ethernet, не требуют инсталляции дорогой вспомогательной физической сетевой инфраструктуры.

Функциональные возможности SAN на основе технологии Ethernet можно реализовать с помощью нескольких протоколов обмена данными. Общим свойством этих протоколов является возможность эмуляции конкретного аппаратного интерфейса, который многие системы уже понимают.

Основным протоколом является iSCSI, представляющий системе виртуальный накопитель так, будто он присоединен к локальной шине SCSI. Кроме него, используются протоколы ATA-over-Ethernet (АоЕ) и Fibre-Channel-over-Ethemet (FCoE). Эти протоколы ориентированы на технологию Ethernet (а значит, ограничены географическими факторами), в то время как протокол iSCSI работает на основе протокола IP. В настоящее время протокол iSCSI занимает около 20% рынка SAN, настоящие технологии оптоволоконной связи — около 60%, а остальные решения — оставшиеся 20%.

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

Протокол iSCSI: интерфейс SCSI на основе протокола IP

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

Используя традиционную терминологию накопителей SCSI, можно сказать, что протокол iSCSI ссылается на сервер, который создает виртуальные диски, доступные через сеть в качестве “цели” iSCSI. Клиент, монтирующий эти диски, называется “инициатором”. Это важно, если вспомнить, что именно клиент инициирует команды SCSI, а сервер отвечает на них.

Компоненты программного обеспечения, реализующего цель, и инициатор, расположенные на обоих концах связи iSCSI, отделены друг от друга. Все современные операционные системы содержат в себе инициатор, хотя часто он представляет собой необязательный компонент. Кроме того, большинство систем имеет также стандартную реализацию цели.

Протокол iSCSI формально определен в документе RFC3720. В отличие от большинства документов RFC, эта спецификация состоит из нескольких сотен страниц, в основном из-за сложности базового протокола SCSI. В большинстве случаев управление протоколом iSCSI является простым, если только для структурного управления и распознавания ресурсов хранения не используется необязательная служба Internet Storage Name Service (iSNS).

Протокол iSNS, определенный в документе RFC4171, представляет собой адаптацию протоколов управления и раскрытия оптоволоконной связи для протокола IP, поэтому он представляет интерес для организаций, желающих использовать и оптоволоконную инфраструктуру, и протокол iSCSI.

В отсутствие службы iSNS достаточно просто указать инициатору на соответствующий сервер, задать имя устройства iSCSI, к которому необходимо получить доступ, а также имя пользователя и пароль для аутентификации. По умолчанию аутентификация iSCSI использует протокол Challenge Handshake Authentication Protocol (CHAP), который изначально предназначался для протокола Point-to-Point Protocol (РРР) (см. документ RFC1994), так что пароли через сеть не передаются открытым текстом. При желании инициатор может аутентифицировать цель, используя второй распределенный ключ.

Протокол iSCSI можно выполнять поверх протокола IPsec, хотя это и не требуется. Если вы не используете туннель IPsec, то блоки данных не шифруются. В соответствии с документом RFC3720, соединения, не использующие протокол IPsec, должны использовать ключи CHAP длиной не менее 12 символов. Цели и инициаторы имеют имена iSCSI, причем для них определено несколько схем именования. Наиболее широко используются имена iSCSI Qualified Names (IQNs), имеющие несколько странный формат.

iqn.уууу-mm.reversed_DNS_domain:arbitrary_name

В большинстве ситуаций все, что предшествует двоеточию, является фиксированным (т.е. нерелевантным) префиксом, характеризующим сайт. Вы можете реализовать собственную схему именования для фрагмента абстрактное_имя имени IQN. Месяц и год (mm и уууу), уточняющие домен DNS, указываются для того, чтобы обеспечить защиту от возможного изменения домена. Для этого следует использовать оригинальную дату регистрации DNS. Реальное имя выглядит следующим образом,

iqn.1995-08.com.example:disk54.db.engr

Несмотря на специфичный формат имени IQN, префикс, отражающий реальный домен DNS или дату его возникновения, никакой роли не играет. В большинстве реализаций протокола iSCSI по умолчанию в качестве имени IQN используется имя поставщика, и все работает прекрасно. Не требуется даже, чтобы имена IQN, взаимодействующие друг с другом, имели совпадающие префиксы.

Загрузка с тома iSCSI

Если вы собираетесь размещать в сетевом хранилище SAN важные данные, то не было бы разумным вообще отказаться от использования локальных жестких дисков? Вы можете не только отказаться от специальных процедур, необходимых для управления локальными дисками, но и позволить администраторам “заменять” загрузочные накопители простыми незагрузочными накопителями, осуществлять постоянную модернизацию и обеспечивать альтернативные конфигурации загрузки, включая даже системы Windows.

К сожалению, использование тома iSCSI в качестве загрузочного накопителя не получило широкой поддержки. По крайней мере, эта функциональная возможность не реализуется непосредственно и не стала одной из основных. Разные проекты Linux пытались ее реализовать, но все эти реализации были жестко привязаны к конкретному аппаратному обеспечению и конкретному программному обеспечению для инициатора протокола iSCSI, так что ни один из проектов загрузки протокола iSCSI не взаимодействует с доминирующим в настоящее время программным обеспечением OpeniSCSI для инициатора. Аналогично поддержка загрузки протокола iSCSI в системах Solaris и OpenSolaris пока находится на стадии разработки, но окончательного промышленного решения пока нет. Единственным исключением является система AIX, которая уже давно и хорошо поддерживает протокол iSCSI. Версии AIX 5.3 и более поздние, работающие на аппаратном обеспечении POWER, обеспечивают полную поддержку загрузки протокола iSCSI поверх протокола IPv4. 

Специфика инициаторов iSCSI от разных производителей

Было, по крайней мере, четыре реализации инициатора протокола iSCSI для системы Linux. Некоторые из них сошли с арены, а остальные объединились. Единственным выжившим в конкурентной борьбе стал протокол Open-iSCSI, который является стандартным инициатором, включенным во все дистрибутивы рассмотренных нами операционных систем семейства Linux distributions. Для того чтобы его установить и запустить, инсталлируйте пакет open-scsi в системах Ubuntu и SUSE или пакет iscsi-initiator-utils в системе Red Hat

Домашняя страница проекта расположена по адресу open-iscsi.org, но документацию там искать не следует. Похоже, что, кроме справочных страниц для команд iscsid и iscsiadm, представляющих собой описание реализации и интерфейса системы, никакой документации больше нет. К сожалению, административная модель для системы Open-iSCSI лучше всего описывается словом “креативная”. В системе Open-iSCSI “узел” — это цель протокола iSCSI, т.е. сущность с именем IQN. Система Open-iSCSI ведет базу данных, содержащую информацию об известных ей узлах, которые расположены в иерархии ниже каталога /etc/iscsi/nodes. В этом дереве хранятся параметры конфигурации для отдельных узлов. Значения по умолчанию.

задаются в файле etc/iscsi/iscsid.conf, но иногда они копируются во вновь определенные узлы, так что их функционирование нельзя назвать полностью предсказуемым. Процесс установки параметров целей очень неприятен; команда iscsiadm постоянно вынуждает вас изменять по одному параметру за один раз и задавать имя IQN и сервер в каждой командной строке.

Ситуацию спасает лишь то, что файл iscsid.conf и все файлы базы данных являются обычными редактируемыми текстовыми файлами. Следовательно, целесообразно использовать команду iscsiadm для модификации немногочисленных параметров и избегать ее при внесении многочисленных изменений.

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

node.startup = automatic
node.session.auth.authmethod = CHAP
node.session.auth.username = chap_name
node.session.auth.password = chap_password

Мы привели эти строки вместе, но на самом деле в файле они расположены в разных местах. Этот файл содержит много комментариев и много опций конфигурации. Убедитесь, что они не дублируют друг друга. Затем сориентируйте команду iscsiadm на целевой сервер и предоставьте ей возможность создать записи для каждой цели, распознанной при чтении каталога сервера. В данном примере мы сконфигурировали цель с именем test на основе сервера с именем iserver.

ubuntu$ sudo iscsiadm -m discovery -t st -p iserver 
192.168.0.75:32 60,1 iqn.1994-11.com.admin:test

Для каждой цели команда iscsiadm создает подкаталог в каталоге /etc/iscsi/ nodes. Если существуют цели, с которыми вы не хотите работать, то просто примените к их каталогам конфигурации команду rm -rf. Если сервер предлагает много целей, а вас интересует только одна, то воспользуйтесь следующими командами.

ubuntu$ sudo iscsiadm -m node -о new -р iserver
-Т iqn.1994-11.com.admin:test
New iSCSI node [tcp:[hw=default,ip=,net_if=default,iscsi_if=default]
iserver,3260,-1 iqn.1994-11.com.adminrtest] added


Как ни странно, эти два метода дают одинаковые результаты, создавая при этом разные иерархии каталогов внутри каталога /etc/iscsi/nodes. Какую бы версию вы ни применили, проверьте текстовые файлы, существующие в иерархии, чтобы убедиться в правильности их параметров конфигурации. Если вы зашли в цель самостоятельно, возможно, вам придется самому задать свойство node.startup равным automatic. Затем вы можете соединиться с удаленными целями с помощью команды iscsiadm -m node -l.

ubuntu$ sudo iscsiadm -m node -l

Logging in to [iface: default, target: iqn.1994-11.com.admin:test, portal: 192.168.0.75.3260]

Login to [iface: default, target: iqn.1994-11.com.admin:test, portal:

192.168.0.75.3260]: successful

Для того чтобы проверить, видит ли система дополнительный диск, можно выполнить команду fdisk -l. (Файлы устройств для дисков iSCSI disks называются точно так же, как и любые другие диски named SCSI.) Если вы настроили файлы конфигурации так, как указано выше, то соединения будут автоматически восстановлены во время загрузки. Для целевой службы iSCSI в системах семейства Linux предпочтительной реализацией является пакет iSCSI Enterprise Target, размещенный по адресу iscsitarget. sourceforge.net. Обычно он доступен для загрузки под именем iscsitarget. Система Solaris содержит пакеты цели и инициатора; оба они являются необязательными. Все пакеты, связанные с протоколом iSCSI, в своих именах содержат слово “iscsi”. Находясь на стороне инициатора, инсталлируйте пакет SUNWiscsi, а затем выполните перезагрузку системы. Конфигурационного файла для этого пакета не существует; вся конфигурация создается командой iscsiadm, имеющей довольно странный синтаксис. Четыре главные операции (add, modify, list и remove) можно применить к разнообразным аспектам конфигурации инициатора. Основная конфигурация инициатора и соединение с целевым сервером iserver осуществляются с помощью следующих строк. 

 

solaris$ sudo iscsiadm modify initiator-node -a CHAP -H testclient
solaris$ sudo iscsiadm modify initiator-node -C
Enter secret: 
Re-enter secret: 
solaris$ sudo iscsiadm modify discovery -s enable
solaris$ sudo iscsiadm add static-config iqn.1994-11.com.admin:test,iserver
solaris$ sudo iscsiadm list target -S
Target: iqn.1994-11.com.admin:test
Alias: -
TPGT: 1
ISID: 4000002a0000
Connections: 1
LUN: 0
Vendor: IET
Product: VIRTUAL-DISK
OS Device Name: /dev/rdsk/cl0t3d0s2

Теперь можно задать конфигурацию диска обычным способом (например, выполнив команду zpool create iscsi c10t3d0). Первая команда задает для инициатора режим аутентификации CHAP, а имя пользователя задает равным testclient.

Опция -С задает пароль; эту опцию нельзя комбинировать с другими. Кроме того, при желании можно задавать имя и пароль индивидуально для каждой цели. Команда modify discovery позволяет использовать статически сконфигурированные цели, а команда add задает сервер и имя конкретной цели. Все эти конфигурации сохраняются во время перезагрузок. Для обслуживания целей iSCSI в других системах необходимо инсталлировать пакет SUNWiscsitgt. Его механизм управления на стороне инициатора структурирован так же, но команда имеет имя iscsitadm, а не iscsiadm. 

Источник: "Unix linux руководство системного администратора"

 

  • 0 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?

Articoli Correlati

3. Openmediavault - Shara

SAN OMV Далее нужно установить компонент OMV Extras, который реализует функционал...

2. Openmediavault SAN forever!

Установка Openmediavault Прочитав много других «мануалов», стало ясно, что все они не полные и...