Archive for the ‘utilities’ Category.

SnapCreator вблизи. Часть 1.

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

SnapCreator первоначально был разработан в 2007 году как “служебный”, внутренний продукт, внутри подразделения Professional Services и Rapid Responce Engineering Group, для того, чтобы облегчить построение систем защиты данных в снэпшоты системы хранения для пользовательских прикладных систем, не входящих в список поддерживаемых “официальным” продуктом NetApp - SnapManager.
То есть, если у вас используется MS SQL Server, MS Exchange, Sharepoint, Oracle, SAP, Hyper-V или vSphere (и у вас есть деньги на лицензию SnapManager), то все относительно просто. Вы устанавливаете SnapManager для соответствующего программного продукта, и дальше он делает все сам.

Зачем нужен SnapManager, и почему нельзя обойтись просто командой snap create из консоли, или переданной через ssh или rsh? Ну, например потому, что некоторые программы требуют некоей согласованной последовательности действий на своей стороне, чтобы состояние данных, записанных на дисках системы хранения, было корректным, или еще говорят “консистентным”. Ведь, например, какие-то данные могут оказаться в буферах кэша сервера, как на стороне программы, так и файловой системы, базы SQL могут иметь незавершенные транзакции, и так далее. Все это требует, чтобы перед тем, как будет сделан “снимок”, снэпшот состояния данных, эти данные на дисках уже находились какое-то время в некоем стабильном, непротиворечивом состоянии, то есть все равно нужен некий “агент” на стороне программного продукта, умеющий с ним взаимодействовать.

Таким образом, если у вас используется какой-нибудь MySQL, Sybase, Xen, KVM или что-то подобное, вам нельзя так просто взять и сделать снэпшот. Нужно написать какую-то систему-посредник, между вашим софтом, и софтом Data ONTAP. Вот для того, чтобы облегчить такую задачу для специалистов Professional Services и был написан SnapCreator.

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

Официально в настоящее время существуют две линейки, официальная, и так называемая Community Edition. Последняя это, так сказать, unstable, developers edition, где обкатываются все мульки, которые потом деплоятся в официальную поддерживаемую компанией ветку.

Архитектурно SnapCreator является клмент-серверным приложением. Существует так называемый SnapCreator Server, выполняющий код компонента Workflow Engine, который многопоточно обрабатывает поступающие от Агентов и собственного GUI и/или CLI запросы. Так как API открыт, то использовать SnapCreator могут любые внешние системы, например это могут быть коммандлеты PowerShell, другие продукты NetApp, такие как Unified Manager (для него есть свой собственный API), и даже собственные самописанные системы клиентов.

“Другим концом” Snap Creator Server взаимодействует с внутренним API Data ONTAP, обеспечивая все нужные вызовы и отдачу команд.
Конфигурации, jobs, и метаданные плагинов хранятся в специальной структуре - Репозитории (Repository / Extended Repository). Расписания задач, сами задачи (jobs), пользователи и их права доступа (RBAC) хранятся в базе данных (Database).

Наконец, специальный API есть для “клиентов”, агентов SnapCreator.

Посмотрим теперь подробнее на систему SnapCreator со стороны Агента.

Агент - это программный продукт, написанный на Java, чтобы многопоточно выполняться на всех поддерживаемых OS. В ранних версиях в качестве транспорта использовался обычный HTTP, начиная с версии 4.1 взаимодействие Агента и Сервера полностью шифруется в HTTPS.
Основным компонентом, ядром SC Agent является Operation/Execution Manager.
Ядро выполняет запросы от плагинов, которые могут быть как нативными на Джава, так и поддерживаться ранее написанные плагины “не-Java” (значительное их количество для разных программных систем было написано для версий SC 3.6 и 4.0, существовавших ранее), в том числе и на разных скриптовых языках, Perl, PowerShell, даже на UNIX Shell.

В следующих постах разберем то, как пишутся собственно плагины для SnapCreator.

pktt: встроенный сборщик ethernet dump

Внутри Data ONTAP зачастую находится много полезных штук, к сожалению, часто малоизвестных “рядовому админу”, особенное если “все и так работает”.
Одна из таких архиполезных для траблшутинга сети штук - встроенный сборщик дампа пакетов на сетевом интерфейсе. Особенно полезно то, что формат собираемого дампа позволяет напрямую открывать его в популярнейшем инструменте анализа дампов - Wireshark.
Если вы настроили CHAP authentification в iSCSI, и что-то пошло не так, или что-то странное творится при доступе к файлам по SMB, то лучший способ - собрать дамп и посмотреть что происходит в сети на стороне стораджа.

Для этого выясним сперва, на каком интерфейсе нас будет интересовать ethernet-трафик.

netapp> ifconfig -a

e0a: flags=0xe48867 mtu 1500
inet 10.10.10.140 netmask 0xffffff00 broadcast 10.10.10.255
ether 00:0c:29:89:3f:3c (auto-1000t-fd-up) flowcontrol full
e0b: flags=0xe08866 mtu 1500
ether 00:0c:29:89:3f:46 (auto-1000t-fd-up) flowcontrol full
e0c: flags=0xe08866 mtu 1500
ether 00:0c:29:89:3f:50 (auto-1000t-fd-up) flowcontrol full
e0d: flags=0xe08866 mtu 1500
ether 00:0c:29:89:3f:5a (auto-1000t-fd-up) flowcontrol full
lo: flags=0×1b48049 mtu 9188
inet 127.0.0.1 netmask 0xff000000 broadcast 127.0.0.1
losk: flags=0×40a400c9 mtu 9188
inet 127.0.20.1 netmask 0xff000000 broadcast 127.0.20.1

Запустим команду pktt, указав ей собирать дамп на заданном интерфейсе, и маркировать файл дампа датой сбора.

netapp> pktt start e0a -d /etc/log
e0a: started packet trace

netapp> pktt status
e0a: Packet tracing enabled; packets truncated at 1514 bytes.
e0a: Trace buffer utilization = 2% of 1048320 bytes, 258 packets
e0a: 0 bytes written to file /etc/log/e0a_20131108_173928.trc
e0a: Currently tracing to file /etc/log/e0a_20131108_173928.trc
e0a: 258 packets seen; 0 packets dropped; 24936 total bytes seen

lo: Packet tracing enabled; packets truncated at 1514 bytes.
lo: Trace buffer utilization = 99% of 130816 bytes, 1011 packets
lo: 1387 packets seen; 0 packets dropped; 160568 total bytes seen

losk: Packet tracing enabled; packets truncated at 1514 bytes.
losk: Trace buffer utilization = 99% of 130816 bytes, 282 packets
losk: 40901 packets seen; 0 packets dropped; 21761277 total bytes seen

Когда нужный интервал сбора пройден, остановим pktt.

netapp> pktt stop e0a
e0a: Tracing stopped and packet trace buffers released.
Fri Nov 8 17:42:25 EST [sim81:cmds.pktt.write.info:info]: pktt: 280 packets seen, 0 dropped, 32046 bytes written to /etc/log/e0a_20131108_173928.trc.

У нас по заданному пути окажется файл с дампом, который мы можем скопировать на машину с Wireshark.

Теперь откроем файл .trc, прямо в Wirrshark, и приступим к знакомому процессу разбора в этом замечательном инструменте.

NetApp Hardware Universe

У NetApp есть такой подсайт, который называется Hardware Universe. На нем собраны разнообразные материалы по аппаратной части систем, например матрицы совместимости контроллеров и плат расширения, и прочие такие же полезные штуки. К сожалению, для доступа туда нужен, как я понимаю, партнерский аккаунт. На этом сайте можно найти, например, PDF с таблицами характеристик контроллеров и их максимумов. Например, какого размера данный контроллер поддерживает том для дедупликации, сколько LUN-ов можно создать максимально, какая минимальная версия Data ONTAP для этого контроллера нужна, или какое его тепловыделение в BTU, и так далее.

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

Maximums for 8.2 7-Mode

Maximums for 8.2 Cluster-mode

Maximums for 7.86 SANtricity (E-series)

RAID & IOPS calculator

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

image

Находится он по адресу: http://www.wmarow.com/strcalc/strcalc.html

Обратите внимание, там же есть еще два калькулятора, не меньшей полезности, RAID calculator и Array estimator.

NB!: Особо отмечу для новичков: RAID-DP не является в терминах данного калькулятора “RAID-6”, и нельзя оценивать его производительность, приравняв RAID-DP к “RAID-6”, принципы его работы – иные, по производительности он близок скорее к RAID-10. Это калькулятор только для “классических” RAID!

Новые версии SnapDrive Win 7.0, SnapManager for SQL 7.0 и Hyper-V 2.0

Тем временем, на прошлй неделе NetApp обновил несколько своих важных утилит “стороны хоста”. Как вы знаете, и многие, уверен, пользуетесь, средствами работы со стораджем на стороне хост-системы. С выходом Server 2012 и 2012 R2, и их новых возможностей, насущно встала необходимость обновления набора хост-инструментов NetApp.

Появилась новая версия SnapDrive, инструмента для создания снэпшотов, LUN-ов и управления ими со стороны сервера. Также этот инструмент предоставляет API для работы многим другим программным хост-средствам NetApp.

Основные новинки это:

  • Поддержка Cluster-mode (наконец-то)
  • Поддержка SMB 3.0
  • Sub-LUN cloning
  • Поддержка командлетов PowerShell 2.0+ для SMB 3.0
  • Virtual Fibre Channel
  • Поддержка gMSA – group Managed Service Account в Windows Server 2012

Опубликован TR-4000: "SnapDrive 7.0 for Windows Best Practices for Clustered Data ONTAP".

SnapManager for Hyper-V обновился до долгожданной версии 2.0

Среди новинок:

  • ??нтеграция со SnapVault
  • Поддержка не только SAN (FC, iSCSI, FCoE), но и SMB 3.0, в частности теперь поддерживается remote VSS hardware providers
  • Для SMB 3.0 и CSV 2.0 также поддерживаются SnapInfo
  • Поддерживаются gMSA
  • Наконец-то поддерживается восстановление по альтернативному пути (например для DR-сайтов) и восстановление удаленных (deleted) VM из бэкапов типа crash-consistent.
  • Поддерживается установка на remote-хост.

Вместе со всеми обновился и третий важный компонент win-хост инструментов: SnapManager for SQL Server.

Новинки:

  • Поддержка SMB 3.0 (напомню, что пока SMB 3.0 есть только на Cluster-mode!)
  • ??нтеграция со SnapVault (archived backup могут отправляться на secondary SnapVault на clustered-системе)
  • Восстановление базы данных в другое расположение того же инстанса MS SQL Server
  • Поддержка gMSA и возможность запуска SMSQL из него
  • Улучшена производительность работы для ряда сценариев использования

Все версии опубликованы и доступны пользователям NetApp для скачивания на сайте NetApp Support.

Не забывайте внимательно читать Release Notes перед установкой или обновлением!

OnCommand System Manager 3.0 RC1

Вышла и опубликована новая версия System Manager, но радоваться погодите. Существенных изменений с 2.2 не так много, более того, она 3.0 только для Clustered ONTAP. При работе с 7-mode запускается 2.2 (она называется 2.2.0.1), которая в 3.0 включена как подсистема. Так что если у вас не Clustered Data ONTAP, то погодите бежать-качать-ставить, особой разницы вы не увидите, разве что багфиксы.

Новые возможности 3.0: поддержка SnapVault на clustered-системах, поддержка и управление локальными пользователями SMB внутри VServer, поддержка Hyper-V по SMB 3.0 для C-mode систем, некоторые визуальные улучшения и упрощения в интерфейсе.

А вот интересно, среди читающих меня есть хоть один, в реальной жизни эксплуатирующий уже Clustered Data ONTAP? Насколько интересно публике читать новости про фичи Cluster-mode?

Сборка fio под Windows x64

Одним из самых перспективных средств тестирования дискового перформанса на сегодняшний день является утилита fio.
??сторически я пользовался много лет для этого популярным IOmeter, и даже писал несколько подробных постов о нем, неизменно приводящих в этот блог читателей с поисковиков.

Однако IOmeter достаточно давно затормозился в развитии, и на сегодняшний день имеет stable в версии аж 2006(!) года, а собираемый community имеет версию 1.1RC1 и обновлялся аж летом 2011 года, что никак нельзя назвать приемлемым. К тому же отдельные версии (Linux x64, например) имеют крайне досадные баги, сводящие на нет его применимость под эти платформы.

Поэтому все больше людей для тестирования производительности ищут более современные инструменты. По этой причине несколько месяцев назад мне попался на глаза очень активно развивающийся проект такой утилиты измерения производительности - fio (flexible input-output tester).
О тестировании дисковой подсистемы с помощью fio можно почитать например вот в этой статье.

К сожалению до недавних пор fio существовал только под Linux, поэтому было очень любопытно обнаружить в блоге нетапповского инженера Neto статью о сборке fio под Windows x64.

Нет смысла перепощивать ее сюда, там коротенько и совершенно понятно как и что делать, даже без перевода, так что просто сошлюсь на нее здесь.

NetApp Storage Security Editor

Не все обращают внимание, что на сайте NetApp Support, недавно подвергшемуся “фейслифтингу” есть любопытная директория с разнообразными “тулзами” для администратора. Эти программы и утилиты, официально не поддерживаемые NetApp, размещены там в помощь администраторам систем хранения и, несмотря на официальную “неподдержку”, могут оказаться очень полезными.

Так, например, как-то я там обнаруживал NetApp System Analyzer for CIFS, а также архиполезный набор утилит na_stats. А на днях автор блога Geek ONTAP показал еще одну интересную утилитку – NetApp Storage Security Editor.

Если вы используете системы NetApp как CIFS-сервер, и вынуждены часто строить сложные ACL для разграничения доступа, то вам должно быть такое интересно. Этот инструмент позволяет создавать описания настроек доступа для ресурса на языке SDDL.

SDDL – Security Descriptor Definition Language – язык описания дескрипторов доступа, позволяющий создавать строки, описывающие права доступа на ресурсы. Язык этот лишь слегка проще конфигурационного файла sendmail, поэтому наличие хорошего инструмента, позволяющего на нем писать совершенно необходимо.

Записанную в файл строку на SDDL можно импортировать в NetApp с помошью консольной команды fsecurity apply.

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

К сожалению утилита находится в крайне ранней стадии развития, поддерживает пока только NTFS-security, а в нем storage-level и file/directory-level security, также не поддерживаются не-ASCII символы во вводе.

Подробнее смотрите на странице инструмента (нужен логин в NetApp Support (NOW)).

NDMPCOPY

Несмотря на то, что протокол NDMP, о котором я тут уже, было дело, пару раз рассказывал, и не слишком популярен, да и вообще стагнирует, он, даже в имеющемся виде, может быть полезен и интересен.

Например с помощью встроенной в Data ONTAP команды ndmpcopy можно внутренними средствами контроллеров системы хранения копировать данные как внутри одной системы хранения, так и между ними (то есть не гоняя их “через внешний хост”, а непосредствено с контроллера на контроллер). ??ногда это бывает очень удобно. Некоторое время назад я показывал использование ndmpcopy для переноса root volume системы хранения, там мы копировали по ndmp содержимое root vol на новый том, который потом делали новым root.

К сожалению, существующая на сайте ndmp.org программа ndmpcopy отличается по функциональности от встроенной в DOT, не умеет междевайсное копирование, и работает со старой версией протокола, что значтельно сужает область ее использования.

Однако доброволец-энтузиаст недавно переписал ndmpcopy на java, реализовал NDMPv4, и ряд дополнительных возможностей.

Версию его программы можно скачать тут: http://cronsult.com/jndmpcopy_man.aspx

SnapMirror Progress Monitor Tool 3.0

Я уже писал, что в разделе Toolchest на NOW можно, порой, найти какие-нибудь интересные и полезные утилитки, про которых, часто, никто не знает. Вот и в этот раз там обнаружилась любопытная утилита SnapMirror Progress Monitor Tool.

Это, что явствует из названия, инструмент для слежения за процессом репликации SnapMirror.

Если в вашей системе хранения используется SnapMirror, а в особенности, если SnapMirror передает достаточно объемные репликации по сравнительно узким WAN-каналам, то, безусловно, такая утилитка будет в вашей практике весьма применима и полезна.

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