Skip to content

Создание iSCSI LUN на СХД NetApp

Компания 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.

Последовательность действий:

  1. Первым делом нужно ознакомиться со статусом работы службы iscsi

    iscsi status
    

    Если она не запущена, то нужно запустить

    iscsi start
    

    Но перед этим, возможно, придется ее лицензировать

    license add *******
    
  2. Просмотр разрешенных для iSCSI интерфейсов

    iscsi interface show
    

    По-умолчанию всем интерфейсам разрешено передавать iSCSI. При желании можно отключить некоторые интерфейсы для iSCSI.

    iscsi interface disable <имя\_интерфейса>
    
  3. Создаем агрегат

    aggr create <имя> -t <тип_RAID> -r <размер_RAID> -T <тип_дисков> <кол-во дисков>
    
    • тип_RAID - raid0 |raid4 |raid_dp
    • размер_RAID – кол-во дисков в одной RAID группе, для наименьшего overhead рекомендуется ставить равным или более кол-ву дисков, добавляемых в агрегат
    • тип_дисков - ATA, SATA, SAS, BSAS, FCAL. Удобно использовать, когда к контроллеру подлечено несколько полок с разными типами дисков и необходимо создать агрегат с одним типом дисков
  4. Создаем volume

    vol create <имя_volume> -s <тип_резервации_места>  <имя_агрегата> <размер_volume>
    
    • тип_резервации_места – бывает volume|file|none . Рекомендуется volume.
    • размер – кол-во k|m|g|t
  5. Отключаем механизм snapshots

    snap reserver <имяvolume> 0
    vol options <имя_volume> nosnap on
    vol options <имя_volume> nosnapdir on
    snap sched <имя_volume> 0 0 0
    
  6. Создаем 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>
  7. Просматриваем подключенных инициаторов

    iscsi initiator show
    
  8. Создаем 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
  9. Привязываем созданный LUN к созданной igroup

    lun map <путь_до_LUN> <igroup> <id>
    
    • id – число больше нуля, используется инициатором, когда LUN к нему примаплен

При подключении контроллера с использованием нескольких сетевых адаптеров, будет возникать эффект, т.н. multipath, когда один презентованный для инициатора LUN будет виден столько раз сколько путей существует между инициатором и таргетом NetApp. Для ограничения multipath возможно использовать решение как на стороне инициатора, так и на стороне NetApp.

  • На стороне инициатора – установка специального ПО, в Линуксе – это демон названный multipathd.
  • На стороне таргета NetApp – создание списков доступа для доступа определенных инициаторов к определенным интерфейсам. Привязать инициаторов к определенным интерфейсам можно следующими командами:

    iscsi interface accesslist add <имя_инициатора> <имя_интерфейса>
    

    Просмотреть текущий список доступа

    iscsi interface accesslist show
    

  • На стороне NetApp – ограничение iSCSI трафика определенными интерфейсами.(см. выше)

Пример настройки iSCSI LUN на NetApp

vol create iscsivol aggr1 1500g
snap reserve iscsivol 0
vol options iscsivol nosnap on
vol options iscsivol nosnapdir on
snap sched 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.