Фирма NetApp знаменита своим подходом в области хранения данных названным unified storage. Это СХД совмещающее как блочный доступ (FC, FCoE, iSCSI), так и файловый (NFS, CIFS). В данной статье будет рассмотрена процедура создания логического дискового устройства (LUN) и презентации его определенным хостам.
При создании LUN на NetApp необходимо руководствоваться несколькими понятиями:
- Один LUN – один инициатор-сервер. Если на LUN будет установлена стандартная файловая система (например, ext3), то доступ к этому LUN будет только у одного сервера. Для доступа с нескольких серверов необходимо его форматировать в кластерной файловой системе (например, OCFS, GlusterFS).
- Один volume – один LUN. В отличие от предыдущего пункта это не требование, а рекомендация. Т.е. можно создавать несколько LUN на одном volume, но для удобства в этом случае их разнести по разным qtree.
- Для volume на которых будут храниться LUN’ы рекомендуется отключить механизм snapshot’ов.
- Презентование LUN инициаторам осуществляется через механизм igroup.
Последовательность действий:
- Первым делом нужно ознакомиться со статусом работы службы iscsi
iscsi status
Если она не запущена, то нужно запустить
iscsi start
Но перед этим, возможно, придется ее лицензировать
license add ******
- Просмотр разрешенных для iSCSI интерфейсов
iscsi interface show
По-умолчанию всем интерфейсам разрешено передавать iSCSI. При желании можно отключить некоторые интерфейсы для iSCSI.
iscsi interface disable <имя_интерфейса>
- Создаем агрегат
aggr create <имя> -t <тип_RAID> -r <размер_RAID> -T <тип_дисков> <кол-во дисков>
- тип_RAID — raid0 |raid4 |raid_dp
- размер_RAID – кол-во дисков в одной RAID группе, для наименьшего overhead рекомендуется ставить равным или более кол-ву дисков, добавляемых в агрегат
- тип_дисков — ATA, SATA, SAS, BSAS, FCAL. Удобно использовать, когда к контроллеру подлечено несколько полок с разными типами дисков и необходимо создать агрегат с одним типом дисков
- Создаем volume
vol create <имя_volume> -s <тип_резервации_места> <имя_агрегата> <размер_volume>
- тип_резервации_места – бывает volume|file|none . Рекомендуется volume.
- размер – кол-во k|m|g|t
- Отключаем механизм snapshots
snap reserver <имя_volume> 0 vol options <имя_volume> nosnap on vol options <имя_volume> nosnapdir on snap ched <имя_volume> 0 0 0
- Создаем lun
lun create –s <размер_lun> -t <тип_ос> <путь_хранения>
- тип_ос – тип операционной системы планируемой под хранение на LUN — solaris, vld, windows, hpux, aix, linux, netware, vmware, windows_gpt, windows_2008, openvms, xen, hyper_v, solaris_efi
- путь_хранения — для LUN он выглядит /vol/<имя_volume>/<имя_LUN>
- Просматриваем подключенных инициаторов
iscsi initiators show
- Создаем igroup и добавляем туда инициаторов
igroup create –i –t <тип_ос> <имя_группы> igroup add <имя_группы> <имя_инициатора>
- парамет -i — создание iSCSI группы. Для создания FC группы нужно использовать -f.
- тип_ос — solaris, windows, hpux, aix, linux, netware, vmware, hyper_v, xen
- имя_инициатора — для iSCSI это WWNN, для FC — WWPN. Имя инициатора на Red Hat задается в файле /etc/iscsi/initiatorname.iscsi
- Привязываем созданный LUN к созданной igroup
lun map <путь_до_LUN> <igroup> <id>
- id – число больше нуля, используется инициатором, когда LUN к нему примаплен
- На стороне инициатора – установка специального ПО, в Линуксе – это демон названный multipathd.
- На стороне таргета NetApp – создание списков доступа для доступа определенных инициаторов к определенным интерфейсам.
Привязать инициаторов к определенным интерфейсам можно следующими командами:iscsi interface accesslist add <имя_инициатора> <имя_интерфейса>
Просмотреть текущий список доступа
iscsi interface accesslist show
- На стороне NetApp – ограничение iSCSI трафика определенными интерфейсами.(см. выше)
При подключении контроллера с использованием нескольких сетевых адаптеров, будет возникать эффект, т.к. multipath, когда один презентованный для инициатора LUN будет виден столько раз сколько путей существует между инициатором и таргетом NetApp. Для ограничения multipath возможно использовать решение как на стороне инициатора, так и на стороне NetApp.
Пример настройки iSCSI LUN на NetApp
vol create iscsivol aggr1 1500g snap reserve iscsivol 0 vol options iscsivol nosnap on vol options iscsivol nosnapdir on snap ched iscsivol 0 0 0 lun create –s 1000g –t linux /vol/iscsivol/lun1 igroup create –I –t linux iscsigrp igroup add iscsigrp iqn.1994-05.com.redhat:server1 lun map /vol/iscsivol/lun1 iscsigrp 5
В примере был создан агрегат размером 1,5 Тб, отключен механизм snapshots, создан LUN размером 1 Тб, создана igroup’а, добавлен хост в нее и примаплен LUN к igroup.
не «snap ched iscsivol 0 0 0»
а «snap sched iscsivol 0 0 0»
и не «iscsi initiators show»
а «iscsi initiator show»