Наконец-то выдалось свободное время и я смог покрутить NetApp Data ONTAP Edge - хранилище на базе ОС Data ONTAP версии 8.1.1, работающее внутри ВМ VMware vSphere и обладающее многими возможностями своих взрослых коллег - NetApp FAS и V-Series.
Введение
Data ONTAP Edge может стать неплохим решением для небольших организаций или филиалов крупных компаний, где нет возможности установить выделенную аппаратную систему хранения, но требуется доступ к данным по различным протоколам (iSCSI, NFS, SMB), а также могут пригодиться всевозможные технологии защиты данных (репликация, снапшоты, клоны).
Однако, если вы планируете использовать Data ONTAP Edge в качестве чего-то большего, то учтите, что Data ONTAP Edge имеет ограничение на максимальный размер хранилища - 5 ТБ (триальная версия имеет ограничение в 2 ТБ). Кроме того, в Data ONTAP Edge отсутствует функционал вроде RAID-DP, SyncMirror, HA Pair, MetroCluster, Cluster Mode и презентации LUN'ов по Fibre Channel или FCoE.
Важным отличием Data ONTAP Edge от ONTAP Simulator является то, что Data ONTAP Edge не эмулирует дисковую подсистему хранилища NetApp FAS, позволяя создавать агрегаты только с RAID уровня 0 (никаких RAID4 и RAID-DP). В этом плане хранилище Data ONTAP Edge ближе к виртуализатору NetApp V-Series, которому презентованы внешние LUN'ы для хранения на них данных, хотя в случае с Data ONTAP Edge презентация выполняется не по Fibre Channel, а через виртуальный SAS адаптер.
Загрузить триальную версию можно с сайта:
http://www.netapp.com/data-ontap-edge-evalПосле прохождения регистрации становится доступен для загрузки .ova файл с ВМ Data ONTAP Edge, а также OnCommand System Manager под Windows и Linux. Начиная с версии 8.1, OnCommand System Manager является заменой штатному FilerView и позволяет управлять несколькими хранилищами NetApp из Web-интерфейса.
Пару слов о OnCommand System Manager. Я немного поработал с ним и одно могу сказать точно - он гораздо красивее и приятнее, нежели FilerView.
Однако, в текущей версии 2.0.2 есть несколько недостатков, например, из Web-интерфейса нельзя настраивать сетевые адаптеры и DNS серверы.
Пример развертывания
В качестве варианта использования Data ONTAP Edge я хочу привести пример развертывания двух хранилищ в двух сайтах, работающих в режиме active-passive с репликацией данных с основного сайта на резервный.
В первой части статьи я опишу пример развертывания первого хранилища с подключением к нему хоста VMware ESXi, во второй - настройку резервного хранилища и репликации.
Хосты ESXi подключаются по протоколу iSCSI каждый к своему хранилищу. Каждое хранилище Data ONTAP Edge использует два виртуальных сетевых интерфейса: первый для управления хранилищем и доступа по iSCSI, второй - для репликации данных между хранилищами.
Для упрощения конфигурации я буду использовать одинаковые подсети для первого и второго сайта: 192.168.1.0/24 -для управления и iSCSI, 192.168.2.0/24 - для репликации, а также одну единственную группу портов VM Network на виртуальном коммутаторе ESXi.
Общая схема приведена на рисунке:
Установка и настойка Data Ontap Edge
Процедура установка для Data ONTAP Edge проходит также как и для других virtual appliances. Из интерфейса VMware vSphere выполните импорт .OVF файла (
File -> Deploy OVF Template).
В процессе установки примите лицензионное соглашение, задайте имя ВМ и ее расположение. По умолчанию, ВМ создается в thick формате, однако в тестовых целях ничто не мешает использовать тонкие (thin) диски. Укажите сеть для подключения интерфейсов ВМ. ВМ создается с 4-мя виртуальными адаптерами: e0a, e0b, e0c и e0d, все они подключаются к одной и той же сети, которую вы выберите, однако ничто не мешает изменить привязку сетевых адаптеров в свойствах ВМ после завершения работы мастера.
На вкладке
Properties задайте имя хоста, IP адрес для интерфейса e0a, маршрутизатор по умолчанию, пароль для учетной записи root и размер диска в ГБ (минимальный размер диска - 50 ГБ, максимальный - 2 ТБ, диска размером 100 ГБ будет достаточно для тестовых целей). На этом диске система создаст корневой агрегат (root aggregate) на все доступное дисковое пространство и корневой том (root volume) размером 30 ГБ.
После завершения работы мастера запустите ВМ. Дождитесь завершения загрузки и появления приглашения входа в систему.
Вы можете настраивать систему с помощью консоли vSphere Client, однако более удобным вариантом является управление через SSH. Просто подключитесь по IP адресу, который вы задали в процессе развертывания, используя учетную запись root и пароль, заданный в мастере настройки.
Для дальнейшей работы вам потребуется настроить дополнительные параметры: IP адрес оставшихся сетевых интерфейсов, адрес DNS сервера, часовой пояс и т.п. Сделать это можно как с помощью интерактивной команды
setup, так и отдельным командами.
Ниже приведен пример настройки через
setup:
setup
Are you sure you want to continue? [yes]
<Нажмите Enter>Please enter the new hostname [ontap01]:
<Нажмите Enter или введите новое имя>Do you want to enable IPv6? [n]:
<Нажмите Enter>Do you want to configure interface groups? [n]:
<Нажмите Enter>Please enter the IP address for Network Interface e0a [192.168.1.251]:
<Нажмите Enter или введите новый IP адрес>Please enter the netmask for Network Interface e0a [255.255.255.0]:
<Нажмите Enter>Please enter media type for e0a [auto]:
<Нажмите Enter>Please enter flow control for e0a [full]:
<Нажмите Enter>Do you want e0a to support jumbo frames? [n]:
<Нажмите Enter>Please enter the IP address for Network Interface e0b []:
<Введите новый IP адрес, например: 192.168.2.251>Please enter the netmask for Network Interface e0b [255.255.255.0]:
<Нажмите Enter>Please enter media type for e0b [auto]:
<Нажмите Enter>Please enter flow control for e0b [full]:
<Нажмите Enter>Do you want e0b to support jumbo frames? [n]:
<Нажмите Enter>Please enter the IP address for Network Interface e0c []:
<Нажмите Enter>Please enter the IP address for Network Interface e0d []:
<Нажмите Enter>Would you like to continue setup through the web interface? [n]:
<Нажмите Enter>Please enter ther name or IP address of the IPv4 default gateway [192.168.1.1]:
<Нажмите Enterили введите новый IP адрес>Please enter the name or IP address of the administration host:
<Нажмите Enterили введите имя или IP адрес рабочей станции, с которой вы планируете управлять хранилищем>Please enter timezone [GMT]:
<Нажмите Enter или введите имя временной зоны, в которой располагается хранилище, например: Europe/Moscow или Etc/GMT-4 для Москвы>Where is the filer located? []:
<Нажмите Enter или введите описание местоположения хранилища, например, Test lab>Enter the root directory for HTTP files [/vol/vol0/home/http]:
<Нажмите Enter>Do you want to run DNS resolver? [n]:
<Введите y или yes>Please enter DNS domain name []:
<Введите имя домена, например: test.local>Please enter the IP address for first nameserver []:
<Введите IP адрес DNS сервера для разрешения имен>Do you want another nameserver? [n]:
<Нажмите Enter>Do you want to run NIS client? [n]:
<Нажмите Enter>Do you want to configure the Shelf Alternate Control Path Management interface for SAS shelves [n]:
<Нажмите Enter>После завершения работы мастера перезагрузите хранилище, выполнив команду:
reboot
После перезагрузки проверьте, что параметры корректно применились, используя команду:
ifconfig -a
Настройка времени и даты
Для проверки корректности настроек времени и временной зоны используйте команды:
date
timezone
При необходимости измените время, используя команду
date со следующими параметрами:
date [[[[CC]yy]mm]dd]hh]mm[.ss]]
, где
CC - первые две цифры года;
yy - последние две цифры года;
mm - порядковый номер месяца (от 01 до 12);
dd - порядковый номер дня месяца (от 01 до 31);
hh - час (от 01 до 24);
mm - минута (от 00 до 59);
ss - секунда (от 00 до 59).
Например, для установки даты 21 октября 2012 года и времени 22 часа, 16 минут, 30 секунд, введите:
date 201210212216.30
Для установки временной зоны используйте команду timezone со следующими параметрами:
timezone [timezone]
, где
timezone - название временной зоны, например: Europe/Moscow, Etc/GMT+1, CET, UTC и пр.
Полный список временных зон расположен в корневом томе, в каталоге "/vol/vol0/etc/zoneinfo".
Добавление лицензий
Перед тем, как вы сможете использовать хранилище, вам потребуется активировать функционал с помощью лицензий, полученных при покупке или регистрации триальной версии продукта.
Посмотреть список лицензий можно с помощью команды:
license
Лицензии представляют собой ключи длиной 7 символов. Активируются лицензии с помощью команды:
license add [ключ]
При необходимости, можно активировать несколько лицензий за раз, разделяя ключи пробелами.
Подключение корневого тома по NFS
Data ONTAP имеет много общего с ОС семейства *nix, многие настройки могут выполняться путем изменения конфигурационных файлов, расположенных в каталоге /etc на корневом томе (/vol/vol0). Встроенный механизм чтения и редактирования файлов в виде команд
rdfile и
wrfile не очень удобен для частого изменения файлов. Поэтому гораздо более удобным вариантом будет монтирование корневого тома по протоколу NFS и использование привычных инструментов администратора (под Windows рекомендую использовать текстовый редактор Notepad++ или любой другой, воспринимающий переносы строк в стиле *nix).
Посмотреть все NFS экспорты на хранилище можно с помощью команды:
exportfs
Обратите внимание, что, по умолчанию, доступ к корневому тому на чтение и запись с правами root имеет только административная станция - компьютер, чей IP адрес вы задали в процессе настройки с помощью команды
setup.
Если вы забыли или неправильно указали административную станцию, то вам придется изменить настройки экспорта, используя следующие команды.
Сначала удалите некорректно настроенный экспорт:
exportfs -z <имя_экспорта>
Например:
exportfs -z /vol/vol0
Затем добавьте экспорт с нужными параметрами с помощью команды:
exportfs -p <параметры> <имя_экспорта>
Например:
exportfs -p sec=sys,ro,rw=192.168.1.2:192.168.1.7,root=192.168.1.2:192.168.1.7,nosuid /vol/vol0
В качестве значений для параметров rw= и root= вы можете указать одиночный IP адрес или DNS имя хоста, например, 192.168.1.2 или host.test.local, IP подсеть, например, 192.168.1.0/24, несколько адресов или DNS имен, разделенных ":", например, 192.168.1.2:192.168.1.3:192.168.1.10:bob.test.local и т.п.
Для подключения NFS шары к компьютеру с Windows Vista или Windows 7 выполните следующие действия.
Установите клиент NFS (
Services for NFS -> Client for NFS) из панели добавления/отключения компонентов Windows (
Control Panel -> Programs and Features -> Turn Windows features on or off).
По умолчанию клиент Windows подключается к любой NFS шаре в гостевом режиме (Uid=-2 и Gid=-2) и вы можете только просматривать файлы. Поэтому если у вас не развернута служба каталога Active Directory или служба User Name Mapping, то вам потребуется отредактировать
реестр. Откройте regedit, найдите ключ
HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default. Создайте два параметра типа
DWORD с именами
AnonymousUid и
AnonymousGid и установите значение обоих параметров в
0.
Перезапустите службу клиент NFS, выполнив в консоли CMD:
nfsadmin client stop
nfsadmin client start
Теперь вы можете подключить NFS шару:
mount <полный путь к NFS шаре> <буква диска>
Например:
mount \\192.168.1.251\vol\vol0 Z:
После этого вы сможете просматривать и редактировать любые файлы на корневом томе хранилища.
Создание томов на хранилище
После завершения первоначальных настроек приступим к созданию дополнительных томов для размещения LUN'ов, которые будут презентоваться хостам виртуализации.
При развертывании ВМ, система создает один агрегат (aggr0) на все доступное дисковое пространство и корневой том (vol0) размером 30 ГБ.
Посмотреть информацию о доступных агрегатах можно с помощью команды:
aggr status
Увидеть занятое и свободное место на агрегатах можно с помощью команды:
aggr show_space
Создайте новый том:
vol create <vol-name> [-s none | file | volume] <hosting-aggr-name> <size>[k|m|g|t]
, где:
<vol-name> - название нового тома;
[-s none | file | volume] - опция резервирования дискового пространства под том (например при
-s none создается тонкий том);
<hosting-aggr-name>- имя агрегата, на котором создается том;
<size>- размер тома в КБ, МБ, ГБ или ТБ.
Например, команда:
vol create vol1 -s none aggr0 10g
создаст тонкий том размером 10 ГБ с именем vol1 на агрегате aggr0.
Посмотреть доступные тома можно с помощью команды:
vol status
Посмотреть место, занимаемое томами можно с помощью команды:
df
Для всех томов по умолчанию настраивается создание снапшотов по расписанию, а также резервируется 5% дискового пространства. В тестовой среде можно отключить эти настройки, чтобы сэкономить немного дискового пространства, используя команды:
snap sched vol1 0
snap reserve vol1 0
, где
vol1 - имя тома.
Создание и презентация LUN
Для начала включите протокол iscsi на хранилище с помощью команды:
iscsi start
Для презентации LUN'ов хранилище Data ONTAP использует т.н. группы инициаторов (Initiator Group), содержащие IQN адреса клиентов (для iSCSI) или WWN (для FC).
Создайте новую группу инициаторов:
igroup create -i -t <ostype> <initiator_group> [<node> ... ]
, где
-i - тип группы (для iSCSI);
-t <ostype> - тип ОС на клиентах (windows, linux, vmware и т.п.);
<initiator_group> - имя группы инициаторов;
[<node> ... ] - IQN имена клиентов, разделенных пробелом.
Например:
igroup create -i -t vmware VMWARE_SERVERS iqn.2012-10.local.test:esx01
создает группу инициаторов VMWARE_SERVERS и добавит туда одно IQN имя iqn.2001-01.com.vmware:esxa
При необходимости добавления дополнительных IQN имен вы можете использовать команду:
igroup add <initiator_group> [<node> ... ]
Посмотреть доступные группы инициаторов вы можете с помощью команды:
igroup show
Для создания LUN используйте команду:
lun create -s <size> -t <ostype> [ -o noreserve ] <lun_path>
, где:
-s <size> - размер LUN'а в КБ, МБ, ГБ, ТБ;
-t <ostype> - тип ОС на клиентах (windows, linux, vmware и т.п.);
[ -o noreserve ]- опция резервирования дискового пространства под LUN (например при
-o noreserve создается тонкий том);
<lun_path>- полный путь к создаваемому LUN.
Например:
lun create -s 5g -t vmware -o noreserve /vol/vol1/lun1
Для просмотра созданных LUN'ов используйте:
lun show
Презентовать созданный LUN можно с помощью команды
lun map <lun_path> <initiator_group> [ <lun_id> ]
, где
<lun_path> - полный путь к созданному LUN;
<initiator_group> - имя группы инициаторов;
[ <lun_id> ]- номер LUN'а, под которым он будет презентован клиентам.
Например:
lun map /vol/vol1/lun1 VMWARE_SERVERS 0
Презентует /vol/vol1/lun1 под LUN ID 0 группе инициаторов VMWARE_SERVERS.
Посмотреть на презентованные LUN'ы можно с помощью команды:
lun show -m
Посмотреть и изменить IQN имя iSCSI инициатора на хосте ESXi можно из консоли vSphere Client (
Home -> Host and Clusters -> Host -> Configuration -> Storage Adapter -> iSCSI Adapter -> Properties -> General -> Configure... -> iSCSI Name).
Для подключения тома к серверу ESXi откройте свойства iSCSI адаптера, перейдите на вкладку
Dynamic Discovery и с помощью кнопки
Add... добавьте IP адрес хранилища (например: 192.168.1.251), затем нажмите
OK. ESXi предложит произвести поиск новых устройств, согласитесь. Через пару секунд новый LUN появится в списке доступных устройств.
Увеличение дискового пространства хранилища и агрегата
Если места, указанного при начальном развертывании хранилища, недостаточно, то вы можете добавить в ВМ дополнительные диски и создать на них новые агрегаты, либо добавить эти диски в существующий агрегат. Для второго варианта выполните следующие действия.
После добавления диска и загрузки ВМ потребуется назначить владельца для данного диска с помощью команды:
disk assign <disk_name>
, где
<disk_name>- имя неназначенного диска.
Например:
disk assign 0a.1
Определить имя неназначенного диска можно с помощью команды:
disk show -n
Добавить диск в существующий агрегат можно с помощью команды:
aggr add <aggr-name> -d <disk-name>, где
<aggr-name> - имя агрегата;
-d <disk-name> - имя добавляемого диска.
Например:
aggr add aggr0 -d 0a.1
Дождитесь, пока хранилище закончит добавление диска в агрегат. Проверить статус операции можно с помощью команды:
aggr status
Добавление места на томе
Если у вас заканчивается место на томе, вы можете расширить том за счет свободного места агрегата, используя команду:
vol size <vol-name> +<size>[k|m|g|t]
, где
<vol-name>- имя тома;
+<size>[k|m|g|t]- размер дискового пространства в КБ,МБ,ГБ,ТБ, которое требуется добавить к тому.
Например:
vol size vol0 +10g
добавит 10 ГБ к тому vol0.
Добавление места на LUN'е
Если у вас заканчивается место на LUN'e, вы можете расширить LUN за счет свободного места тома, используя команду:
lun resize <lun_path> +<size>
, где
<lun_path>- путь к LUN'у;
+<size>- размер размер дискового пространства в КБ,МБ,ГБ,ТБ, которое требуется добавить к LUN'у.
Например:
lun resize /vol/vol0/lun1 +5g
увеличит lun1 на 5 ГБ.
Заключение
На сегодня все, во
второй части описана настройка второго хранилища и репликация между двумя хранилищами.