Администрирование Linux Лекция 9.1 Сети доступа к дискам Иртегов Д.В. Новосибирский гос. Университет 2014
SAN Storage Access Network Наиболее популярный протокол – iSCSI Предполагает раздачу образов дисков по сети В отличие от сетевой ФС, параллельный доступ на запись к одному диску невозможен Зато производительность гораздо выше
Производительность SAN Диски: –SATA 1.0 – 1.5Гбит/с –SATA 2.0 – до 3Гбит/с –SATA 3.2 Express – до 16Гбит/с Сеть –Ethernet 1Гбит/с, Ethernet 10Гбит/с –Infiniband – 16Гбит/с –FiberChannel – до 20Гбод
Немного истории SCSI Small Computer System Interface Разработан в начале 80 х Разделение уровней –Командный –Транспортный –Физический Варианты физического уровня: –Narrow SCSI (8-битная параллельная шина, 8 устройств) –Wide SCSI (16-битная параллельная шина, 16 устройств) –SAS (Serially Attached SCSI – коммутируемая последовательная шина) –USB (диски USB управляются командами SCSI) –FireWire (IEEE 1394) –TCP/IP (iSCSI) –PATA/SATA (не дисковые устройства, e.q., CD-ROM, управляются командами SCSI) Использовался для подключения –Дисков –Приводов CD, лентопротяжек –Сканнеров –Ethernet-адаптеров (сам не видел, видел фотографию в журнале)
Терминология SCSI Target – целевое устройство LUN – логическое устройство в пределах Target (обычно, LUN – это диск) Initiator – устройство, осуществляющее запрос (компьютер) Target – это сервер, Initiator - клиент
Типы устройств SCSI Код Описание 00h Устройство прямого доступа (например, магнитный диск) 01h Устройство последовательного доступа (например, магнитная лента) 02h Печатающее устройство 03h Процессорное устройство 04h Устройство однократной записи (например, некоторые оптические диски) 05hCD-ROM 06h Сканер 07h Оптическое запоминающее устройство 08h Устройство с заменой носителя (например, jukebox) 09h Коммуникационное устройство 0Ah-0Bh Определено ASC IT8 0Ch Контроллер массива запоминающих устройств (например, RAID) 0Dh Устройство enclosure services (мост в шину другого типа) 0Eh-1Ehзарезервировано 1Fh Неизвестный или не определенный тип устройства
Команды SCSI Имя команды Код Тип Описание CHANGE DEFINITION 40h O Изменить версию протокола, используемого устройством COMPARE 39h O Сравнить данные COPY 18h O Копировать данные внутри устройства или между устройствами COPY AND VERIFY 3Ah O Копировать данные с проверкой INQUIRY12h M Проверить наличие устройства, тип и поддерживаемые операции LOG SELECT4Ch O Включить сбор статистики LOG SENSE4Dh O Считать собранную статистику MODE SELECT(6)15h Z Выбор режима работы устройства MODE SELECT(10)55h Z MODE SENSE(6)1Ah Z Считывание режима работы MODE SENSE(10)5Ah Z MOVE MEDIUM ATTACHED A7h Z Для устройств с автоматической сменой носителя PERSISTENT RESERVE IN5Eh Z Управление режимом блокировки устройства PERSISTENT RESERVE OUT5Fh Z PREVENT ALLOW MEDIUM REMOVAL1Eh O Заблокировать сменный носитель в устройстве READ BUFFER3Ch O Чтение данных READ ELEMENT STATUS ATTACHED B4h ZДля устройств с автоматической сменой носителя RECEIVE DIAGNOSTIC RESULTS 1Ch O Получить результаты самотестирования устройства RELEASE(6)17h Z Разблокировка (освобождение) устройства RELEASE(10)57h Z REPORT LUNSA0h O Считывание списка логических устройств REQUEST SENSE03h M Считывание статуса устройства RESERVE(6)16h Z Блокировка (захват) устройства RESERVE(10)56h Z SEND DIAGNOSTIC1Dh M Запрос самотестирования устройства TEST UNIT READY00h M Проверка готовности устройства WRITE BUFFER3Bh O Запись данных M = Реализация команды обязательна O = Реализация команды факультативна Z = Реализация и семантика команды зависит от типа устройства.
Терминология iSCSI iSCSI Qualified Name (iqn) Naming String defined by Type Date Auth "example.com" naming authority | || | | | | | iqn com.example:storage:diskarrays-sn-a Аутентификация –Discovery: построение списка устройств –Login: присоединение к LUN –Двусторонний CHAP
Еще про аутентификацию Часто iSCSI используется в выделенных сетях (физически отдельный сегмент или VLAN), это удобно как для производительности, так и для безопасности Тем не менее, есть возможность завести для каждого target свои имя пользователя и пароль.
Демонстрация Конфигурационный файл /etc/ietd.conf Создание разреженного файла командой truncate (1) Создание новых target и LUN из созданного файла при помощи /etc/ietd.conf Файлы /proc/net/iet/volumes, /proc/net/iet/session
Демонстрация Установка iscsi-initiator-tools, lsscsi Настройка имен и паролей в /etc/iscsi/iscsid.conf Поиск устройств на –iscsiadm --mode discovery -t sendtargets \ --portal Подключение к устройству target2 –iscsiadm --mode node --targetname \ iqn ru.nsu.swsoft:target2 --portal \ --login Проверка, что устройство подключилось –lsscsi –/proc/partitions –fdisk -l
Продолжение демонстрации Создание раздела на подключенном диске –fdisk /dev/sdb Создание файловой системы в разделе (потом мы будем экспериментировать с LVM и ее снесем) –mkfs -t ext4 /dev/sdb1 Монтирование созданной ФС
Упражнение Подключиться к заранее созданным iSCSI target, создать разделы и ФС
Применение iSCSI На бездисковых станциях, серверах, ВМ – корневая ФС Разделы с данными БД, пользовательские файлы –Резко упрощает миграцию данных при замене сервера, переходе на новую версию ОС
Главное отличие между iSCSI и NFS NFS обеспечивает разделяемый доступ –Изменения [почти] сразу видны всем iSCSI НЕ обеспечивает разделяемый доступ –Практически любые изменения приведут к повреждению ФС и потере данных –Даже при разделяемом доступе по RO, вы не можете вносить изменения в содержимое (кэши в памяти инициаторов не обновятся) –Чтобы изменить RO образ, его нужно отцепить от всех инициаторов, изменить и прицепить снова
Копирование при записи Некоторые системы хранения данных (ZFS, btrfs, LVM, Netapp WAFL) поддерживают snapshot –Дословно – «моментальный снимок» –Будем изучать на примере LVM –Снимки могут быть доступны на запись (это также называют клонирование) –Копирование при записи (хранятся только измененные блоки) –Снимки и клоны можно раздавать по iSCSI –Удобно развертывать образы корневых ФС: клонируем чистый образ, затем вносим изменения в конфигурацию –Проблема – нет слияния