OpenStack как облако для Disaster Recovery Максим Боженко, CTO, Hystax
OpenStackкакоблакодляDisasterRecovery
МаксимБоженко,CTO,Hystax
ЧтотакоеDisasterRecovery
«Аварийноевосстановление»илиDisasterRecovery
Ø РепликацияITинфраструктуры(физическиеивиртуальныемашины,сети)клиентаиготовностьс
минимальнойзадержкойвоссоздатьпоопределенномузаранеесценариюинфраструктурудля
бесперебойногофункционированиябизнесаклиента.
Ø Директивныйсроквосстановления(RPO) – времямеждупериодамирепликацииилимаксимальный
размерданных,которымиклиентготовпожертвоватьвслучаеаварии
Ø Директивноевремявосстановления(RTO) – время,котороепроходитотмоментареакциинааварию
довоссозданияинфраструктуры.Обычноэтотпараметррассматриваютдля случаявосстановления
одноймашины.
Мировойбизнесежедневносталкиваетсясразличнымитипамиаварий…
Ø Внутренние:сбойиавариявоборудовании,ошибкаприложения,человеческаяошибка
Ø Внешние:отключениеэлектричества,кражаоборудования,пожар,воздействиевирусныхатак,чрезвычайныебедствияит.д.
…к которым,частооказываетсянеготов…
~59%Не имеют DR плана
$164KСредние потери в час
…несмотрянаежегоднорастущиеубытки.
ВызовыиндустриибесперебойнойработыIT
75%
14%
8% 3% Человеческаяошибка
Софтвернаяошибка
Отказоборудования
Стихийныебедствияидругие ~75%
Человеческие ошибки
Человеческиеошибки– доминирующаяпричинааварий.
Reputablestudieshaveconcludedthatasmuchas75%ofdowntimeistheresultofsomesortof humanerror.It'salwayseasytosay"lackoftraining,"buteventhebesttrainedpeoplestillmakemistakes…
Only41%ofmediumandlargeU.S.businessessaytheyhaveadisasterrecoveryandbusinesscontinuityplanandtestitregularly,accordingto InformationWeek's2014StateofEnterpriseStorageSurvey.
Downtimecostsarerisingdramatically.In2013,companiesthatexperiencedabusinessinterruptionlostanaverageofnearly $164,000perhour,comparedwithjust$100,000in2010,accordingtotheAberdeenGroup.
Случайизжизни– GitLab,1февраля2017года
Ø Buttheissue escalatedintoemergencydatabasemaintenance afterdatawasdeletedaccidentally— followed
by anapparentinabilitytorestorethedatafrombackups,accordingtoaseriesoftweetsfrom
the @GitLabStatus account.
Ø AccordingtoTheRegister afoldercontaining300GBofliveproductiondata waserroneouslydeletedbyaGitLab
sysadmin— withjust 4.5GBremainingbythetimethedeletecommandwascancelled.
https://techcrunch.com/2017/02/01/gitlab-suffers-major-backup-failure-after-data-deletion-incident/
Предпринимаемыедействия:
Ø HighAvailabilityузловбизнес-
приложенийиинфраструктуры
Ø Redundancyданныхиинфраструктуры
Ø Backupблочныхустройствмашин и
общихданных
Ø ИспользованиеDRрешенийи
проработкаDRпланов
ТрадиционныеBCDRстратегиииихслабыеместа
Слабыеместатрадиционныхрешений:
Ø ВысокаястоимостьоборудованиядляHA
иRedundancy
Ø Отсутствиеконсистентностисистеми
приложенийпритрадиционныхбэкапах
Ø ВысокиезначенияRecoveryPoint
Objective(RPO) и RecoveryTimeObjective
(RTO)
Ø Отсутствиерешениядляаварий,
связанныхсвируснымиатакамиили
человеческойошибкой
• Репликация - внутренняя/внешняя;volume/disk-based
• Хранение - поблочно вдедуплицированном хранилище
• Планирование - написаниеDRплана
• Failover - поднятиебизнес-приложенияпоподготовленномуDRпланув
случаеаварииилидлятестированияилимиграции
• Возвратвproduction- миграциявосстановленногоприложения
обратновисходноеокружение/отвязкаотAcuraвслучаемиграции
ЭтапыработыDRрешения
РепликациязащищаемыхмашинвAcura
WindowsInternal,Volume
физическиемашины,Openstack,Virtuozzo
• VSSснапшоты свызовомVSSWriters(SQLServer,ExchangeServer)
• ВозможностьвызоваAPIдлясбросаданныхпользовательскихприложений
• Засечение измененийспомощьюсобственнойбиблиотекиVSSDeltaTracker
LinuxInternal,Disk
физическиемашины,Openstack,Virtuozzo
• Снапшоты блочныхустройствспомощьюсобственногодрайвера
• ВозможностьвызоваAPIдлясбросаданныхпользовательскихприложений
• Засечение изменениймеждуснапшотамисамимдрайвером
vSphere/ESXiExternal,DiskWindows,Linux
• Снапшоты машиниспользуяVMWareAPI
• Работаиспользуяquiesceснапшоты
• Засечение измененийиспользуяVMWareCBTAPI
DisasterRecoveryвOpenStack
Компоненты,используемыевOpenStack
Cinder
Ø Воссозданиеисходнойразметкидляvolume-basedреплик
Ø iSCSItargetдлякаждогореплицированногодиска
Ø Copy-on-Writeдляданных,полученныхвпроцессеработывосстановленноймашины
Ø ИспользованиенакопленныхданныхвFailbackсценарии
Ø Специальный Cinderдрайвердляподключения
Neutron
Ø Восстановлениеисходныхподсетей
Ø СохранениеисходныхIP
Ø Использованиесвободногоадресногопространствадляподнятияслужебноймашины
Nova
Ø ЗагрузкассозданныхCinderтомов
Ø Необходимапредварительнаяподготовкамашинкзагрузке:
Ø Дляvolume-basedреплик– восстановлениеисходнойразметки,склейкатомоввдиски
Ø Windows– установкаVirtIO драйверов
Ø WindowsGPT– подготовкакзагрузкеUEFI
Ø Сетевыенастройки– привязканастроеккновымустройствам
Heat
Ø HeatдаетвсечтонеобходимодляDR плана,нослишкомсложен
Ø ИспользуемпростойформатDRпланасавтогенерацией шаблонаизреплицированныхмашин
Ø ПреобразуемнашDRplanвHeatOrchestrationTemplate
Ø Дляуниверсальности– HeatвключенвсоставAcura
DisasterRecoveryпланиHeat
Ø HystaxAcura написаннаPython иС++.
Ø ПолноепокрытиеRESTAPI.
Ø СерверныекомпонентызапакованывDocker контейнеры.
Ø Агентыклиентскойчастинафизическихмашинахзапускаютсяввидесервисовна
Windows/Linux.
Ø vSphereагент– VMWareмашинаразворачиваемаянакаждыйESXi хост.
Ø Мониторинг/Алерты:TICKstack
Ø Хранениеипоискпологам:ELK
Ø Вкачествесистемыуправленияоблакомдляаварийноговосстановлениямашиниспользуется
OpenStackLiberty,Mitaka,Newton,Ocata (гипервизорKVM).
ОсновныетехническиехарактеристикиAcura