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.
В свете интеграции Veeam с DOT, по-моему, SnapCreator выглядит как-то не особо, как вы считаете?
Не вижу связи. Veeam это продукт для узкой ниши, который, вдобавок, приходит и, возможно, уходит. Как Veeam поможет вам забыкапить, например, базу Informix for Solaris/SPARC?
Veeam пока только обещания и беты, или что-то упустил?.Притом они обещают реализацию поддержки snap vault на Cdot начиная с 8.1:) А это немного странно, не
А так альтернатив sc достаточно. Simpana/snapProtect, NBU …но дальше нужно нудно смотреть в матрицы, что на самом деле работает и с какими ограничениями…
SC интересен, так как обещают, что следующее поколение snap manager будет реализовано на его основе.
romx:
>Informix for Solaris/SPARC?
По-моему, это как раз гораздо более нишевый продукт, чем veeam :). Да и они уже 8 лет на рынке, тогда уж скорее какой-нибудь Nutanix “уйдёт” :D (уж простите, за оффтопик).
Odna ptichka:
Я не совсем понял, какие обещания вы имеете ввиду. Я говорил с veeam-овскими пресейлами и у меня сложилось впечатление, что у них весьма зрелый продукт для виртуальных сред, на большее они и не претендуют.
как с помощью SC обеспечить бекап приложений внутри ВМ в среде сервис провайдера, когда sc не будет иметь прямого доступа к ВМ и приложениям внутри их?
спрашиваю потому, что раньше была поддержка vmware vcloud director, но вроде как могло бекапить только vapp без консистентности приложения
2 Nostromo
—–
я говорил про заявленый фунционал интеграции Veeam Backup & Replication и функционала NetApp. В том, что сам продукт B&R выполняет свои базовые функции соменения нет. Штука понятная и широкоиспользуемая. Но вот глубина интерации требует исследований. Пока все на уровне рекламных проспектов. Думаю, что в части мгновенный копий скорее все работает, чем нет. А вот с интерацией со snapmirror и особенно с SnapVault в с-mode я был был осторожен.
надеюсь, что не запутал. :)
Odna Ptichka:
>А вот с интерацией со snapmirror и особенно с SnapVault в с-mode я был был осторожен.
Соглашусь. У меня до сих пор, кстати, стоит в шорт-листе тест взаимодействия SnapMirror+SRM и бэкапами через VSC :). Ну, лишний раз повод проверить всё в лабе, благо технически всё достаточно просто.