Технологии повышенной доступности в SQL Server 2005 Андрей Синкин Системный инженер Microsoft Corporation.

Презентация:



Advertisements
Похожие презентации
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Advertisements

Администрирование информационных систем Лекция 4. Система управления базами данных.
Exchange 2010: Новые возможности по хранению данных и обеспечению отказоустойчивости в Exchange 2010, backup и восстановление с использованием System Center.
AlwaysOn в SQL Server «Denali» Иван Косяков Архитектор программных систем, MTC
Администрирование информационных систем Обеспечение доступности серверов БД.
Урок 6. Восстановление баз данных. Обзор Процесс регенерации на сервере SQL Server Подготовка к восстановлению базы данных Восстановление резервных копий.
Администрирование БД. Репликация баз данных.. Процесс репликации Репликация – процесс автоматического распределения копий данных и объектов БД между экземплярами.
Л ЕКЦИЯ 6 Распределенные корпоративные системы. У ЧЕБНЫЕ ВОПРОСЫ 1. Преимущества построения распределенных систем 2. Распределенные системы в Oracle.
Потеря данных не должна стать катастрофой ! Уязвимая точка: Потеря данных В 2009 году более 114 млн. людей пострадали от потери данных* Все сферы деятельности,
Введение. Цели и задачи. Основные понятия и определения. Требования к базам данных.
Администрирование информационных систем Администрирование баз данных Восстановление данных.
Локальная сеть Типы локальных сетей Топология сетей.
Top 10 возможностей ASP.NET 2.0. Выбор сделан на основе опросов разработчиков Top 10 – горячая десятка возможностей.
Защита данных в базах данных: обеспечение целостности и безопасности данных "Стыдно не уметь защищать себя рукою, но ещё более стыдно не уметь защищать.
Microsoft TechDays Богомолов Алексей MCP, MCTS.
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Microsoft TechDays Андрей Бешков Эксперт по информационной инфраструктуре Microsoft
Локальная сеть. Компьютерная сеть Компьютерная сеть – система двух или более компьютеров, связанных каналами передачи информации.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Handy Backup – простая в использовании программа резервного копирования данных.
Транксрипт:

Технологии повышенной доступности в SQL Server 2005 Андрей Синкин Системный инженер Microsoft Corporation

Основные задачи Понять суть новых технологий повышенного доступа в SQL Server 2005: Database Mirroring Database Snapshots Понять различие между технологиями повышенного доступа в SQL Server 2005 Два отказоустойчивых решения Database Mirroring / Failover Clusters Два более простых решения Log Shipping / Replication

Доступность информации и SQL Server 2005 Доступность данных и требования бизнеса Доступность данных это одно из основных требований бизнеса в IT-организациях Есть много барьеров для доступности данных Мы сосредоточимся на сбоях/разрушениях базы данных Мы не будем рассматривать другие проблемы доступности Например: параллелизм, регламентные работы, масштабирование и т.д. Доступность имеет множество граней ЛюдиПроцессТехнология Аппаратное обеспечение Программное обеспечение

Автоматическая отказоустойчивость и отсутствие возможности утраты данных Database MirroringDatabase Mirroring Failover ClusteringFailover Clustering Ручная отказоустойчивость и потенциальная возможность потери данных Репликация транзакцийРепликация транзакций Log ShippingLog Shipping Отсутствие отказоустойчивости и потенциальная возможность потери данных Backup / RestoreBackup / Restore Detach / Copy / AttachDetach / Copy / Attach Повыш.доступность Технологии доступности информации в SQL Server 2005

Database Mirroring SQL Server 2005 Резервный экземпляр Отказоустойчивый сервер Компоновочный блок для сложных топологийКомпоновочный блок для сложных топологий Отказоустойчивая БД Очень быстраяОчень быстрая Отсутствие возможности потери данныхОтсутствие возможности потери данных Аппаратное обеспечение Работает на стандартных компьютерах, хранилище и сетевом окруженииРаботает на стандартных компьютерах, хранилище и сетевом окружении Хранилище неразделяемоеХранилище неразделяемое Database Mirroring

Горячий резервГорячий резерв Построен на Microsoft Cluster Services (MSCS)Построен на Microsoft Cluster Services (MSCS) Доступность обеспечивают множество узлов, причем прозрачно для клиента Автоматическое обнаружение и восстановление сбоя Требует сертифицированного аппаратного обеспечения Поддержка разных сценариев: Active/Active, N+1, N+I Отсутствие потери данных, отсутствие влияния на пропускную способностьОтсутствие потери данных, отсутствие влияния на пропускную способность Одна копия баз данныхОдна копия баз данных Отказоустойчивый экземпляр – целый экземпляр работает как единый модульОтказоустойчивый экземпляр – целый экземпляр работает как единый модуль Failover Clustering Microsoft Cluster Services Failover Cluster

Log Shipping Теплый резерв Основная идея: архивирование, копирование и восстановление лога на другом сервереОсновная идея: архивирование, копирование и восстановление лога на другом сервере Не требует дополнительных вложений в скриптованиеНе требует дополнительных вложений в скриптование Уровень базы данныхУровень базы данных База данных доступна в режиме только для чтенияБаза данных доступна в режиме только для чтения Для обработки следующей порции лога пользователи должны отключатьсяДля обработки следующей порции лога пользователи должны отключаться Log Shipping

Репликация Теплый резерв Как правило используется когда доступность требуется в сочетании с возможностью чтения информации с разных серверов Возможность отказоустойчивости; требуется собственное решение Нет ограничения на использование всей БД – можно определить подмножество исходной БД или таблицы для копирования Копия базы данных постоянно доступна в режиме чтения Задержка между источником и копией может идти на секунды Логическая технология Репликация

Решения для offline Холодный резерв Оба обеспечивают Ручное определение и восстановление после сбояРучное определение и восстановление после сбоя Потенциальная потеря части работыПотенциальная потеря части работы Уровень базы данныхУровень базы данных Стандартные серверыСтандартные серверы Ограниченная возможность запуска отчетов на резервном сервереОграниченная возможность запуска отчетов на резервном сервере Дубликат базы данныхДубликат базы данных Клиент должен знать куда переподключатьсяКлиент должен знать куда переподключаться Медленное восстановление – больше времени простояМедленное восстановление – больше времени простоя Backup / Restore Меньший размер – копируются только измененные страницыМеньший размер – копируются только измененные страницы Log backups allow restore to point in timeLog backups allow restore to point in time Большее время восстановленияБольшее время восстановления Detach / Copy / Attach Копирование файлов БД целикомКопирование файлов БД целиком Нет возможности накатывать последующие логиНет возможности накатывать последующие логи Backup / Restore Detach / Copy / Attach

Отказоустойчивые решения Два решения уровня предприятия Выбор зависит от Стратегического развития информационных технологий Бюджета Различия между технологиями Database Mirroring Failover Cluster

Database Mirroring (зеркалирование базы данных)

Database Mirroring Основные достоинства Восстановление менее 3 секунд Полноценный резерв Два отдельных сервера Две отдельных копии данных Взаимодействие между серверами через стандартное сетевое соединение Нет специальных требований на аппаратное обеспечение Самоконтроль Высокая доступность для базы данных

Database Mirroring Клиенты

Система Database Mirroring База данных - часть системы Database Mirroring Она может управляться любым из серверов Резервный сервер всегда имеет актуальные данные Переключение ролей РучноеАвтоматическое Клиент перенаправляется на резервный сервер сервер после сбоя Резервный сервер может служить сервером отчетов с помощью технологии Database Snapshots

Основная конфигурация Три различных серверных роли Principal (Основной сервер) Принимает подключения клиентов Позволяет обновлять базу данных Mirror (Зеркало) (Резервный экземпляр) Клиенты не имеют к нему доступа Изменения данных копируются в лог на резервном сервере после чего меняются данные в самой БД Может меняться ролями с Principal и становиться новым Principal Witness (Свидетель) Отслеживает состояние двух серверов Позволяет автоматическое восстановление

Database Mirroring MirrorPrincipal Клиенты Записи лога Witness

Основные принципы зеркалирования Фиксация Запись в логический лог Передача на резервный сервер Запись в удаленный лог Log Подтверждение Фиксация в логе Непрерывное выполнение на резервном сервере Подтверждение DB Log

Состояния Database Mirroring База данных: SYNCHRONIZED Зеркало имеет все данные SYNCHRONIZING Зеркало находится в процессе синхронизации SUSPENDED Процесс передачи лога на зеркало приостановлен DISCONNECTED Сервер не общается с другими серверами Незащищенные состояния = SYNCHRONIZING или SUSPENDED или DISCONNECTED

Database Mirroring Основной сервер записывает информацию в свой лог и одновременно передает эти данные по сети Сервер не ждет у себя фиксации изменений, а передает записи лога сразу же Транзакции не фиксируются пока резервный сервер записывает данные в свой лог В данный момент данные расположены в двух разных местах При восстановлении данные не теряются Восстановление автоматическое или ручное

Менее 3 секунд на восстановление Резервный сервер накатывает лог по месту БД доступна в момент операции Undo Новая возможность в SQL Server 2005 Новая возможность в SQL Server 2005 В случае сбоя: БД была восстановлена на другом сервере Обработаны все архивы лога, включая последний Восстановление произошло База данных готова к работе Database Mirroring

Восстановление Crash Recovery Анализ Database Cache Empty RedoUndo / Do HOT Database: НедоступнаДоступна Время

RedoUndo / Do База данных доступна на сервере B Do Сервер A: Сервер B: Отказоустойчивость Database Cache Empty HOT Empty HOT База данных доступна на сервере A Database Cache

Свидетель и Кворум Ключевая роль Witness состоит в обеспечении автоматического переключения Для безболезненной потери одного из серверов нужно иметь полный кворум Предотвращает разделение мозгов Потеря соединения означает проблемы с сервером-партнером или же проблему с сетью? Для того чтобы стать основным сервером, сервер должен видеть хотя бы один сервер из кворума

Witness продолжение Witness - это экземпляр SQL Server Один свидетель может обрабатывать множество сессий Использует очень мало ресурсов Отвечает на запрос проверки связи (ping) Отвечает на вопрос Жив ли другой сервер? Не единственная реакция на сбой Партнеры могут формировать кворум самостоятельно

Надежность / Производительность Есть выбор между более высокой производительностью и более высокой надежностью Database Mirroring имеет два уровня надежности FULL – фиксация при записи лога на Mirror Допускает автоматическое восстановление Нет потери данных OFF – фиксация при записи лога на Principal

Уровни надежности FULL Фиксация Запись в локальный лог Передача на резервный сервер Запись в удаленный лог Log Подтверждение Фиксация в логе Подтверждение Log

Уровни надежности OFF Фиксация Запись в локальный лог Передача на резервный сервер Запись в удаленный лог Log Подтверждение Фиксация в логе Log

Два сценария Высокая доступность Полная надежность (FULL) Автоматическое восстановление База данных доступна для работы даже при потере одного из серверов Высокая производительность Полная надежность установлена в OFF DBA контролирует отказоустойчивость Небольшая потеря данных Disaster recovery scenario

Автоматическое восстановление Сервер A Сервер B Principal Mirror SYNCHRONIZED SYNCHRONIZING SUSPENDED Principal Mirror Mirroring: Witness

Безопасность На уровне сервера Для контроля доступа используются конечные точки (Endpoints) Системный администратор выбирает серверы между которыми будут доверительные отношения NT логины в доменах с доверительными отношениями Сертификаты в доменах с недоверительными отношениями Системный администратор дает этим серверам разрешение на участие в Database Mirroring Это должно быть сделано на всех трех серверах На протяжении всего времени соединения серверы находятся в доверительных отношениях

Безопасность На уровне базы данных Как только будут установлены разрешения на системном уровне, все пользовательские базы данных на партнерских серверах могут быть зеркалированы Владелец БД может устанавливать, конфигурировать и администрировать сессии зеркалирования Для каждой сессии канал взаимодействия может быть зашифрован

Database Snapshots (моментальные снимки БД)

Пользовательские ошибки Пользователи, приложения, а также DBA могут время от времени делать ошибки Database Snapshots решают эту проблему, позволяя откатывать базу данных на момент создания снимка Данные теряются как только БД откатывается назад на определенный момент времени Должны быть созданы перед возникновением ошибки

Snapshots (моментальные снимки) Общие понятия Снимок БД на определенный момент времени Создается на том же самом экземпляре сервера БД Доступен только для чтения Основная БД продолжает изменяться Снимок не ограничивает основную БД Снимок требует уникального имени Для исправления ошибок производится откат на заранее созданный снимок

Snapshot Технология Большая эффективность использования места Не требуется полная копия данных Неизмененные страницы БД находятся в совместном доступе Требуется дополнительное место только для измененных страниц Используется механизм копирование при записи Снимок оказывает влияние на производительность основной БД

ЗначениеR D B H J L Y M Используемое место Команда Create Northwind_SS NorthwindNorthwind_SS Update Northwind 0%Значение DX Read Northwind_SS 12.5% Результат: Snapshot (Копирование в момент записи) DD

Snapshots (снимки) Database Mirroring На резервном сервере можно создавать множество снимков Каждый снимок создается на определенный момент времени Каждый снимок имеет свое собственное имя Снимки на резервном сервере могут оказывать влияние на производительность основного сервера Снимки могут существовать очень долго Ограничены только доступными ресурсами

Отчеты на резервном сервере Использование снимков базы данных на резервном сервере Mirror Principal Клиенты запускающие отчеты Database Mirroring OLTP Клиенты Noon Witness 2PM

Отчеты на резервном сервере Ограничения Схема снимка неизменна Снимок статичен Новые данные недоступны Снимки могут влиять на производительность Альтернатива - репликация для выделенного решения сервера отчетов с горизонтальным масштабированием

Перенаправление запросов клиентов Перенаправление прозрачно Приложения перенаправляются на нужный сервер На сбой, приложение должно инициировать перенаправление: Текущая информация о состоянии потеряна Приложению перенаправление не важно В строке соединения должна быть информация сервер/база данных

Перенаправление клиентов Если база данных использует зеркалирование, то загружаются имена серверов Клиент хранит информацию в памяти При сбое идет подключение к резервному серверу MDAC использует резервный сервер

Решения РешениеОписание NLB Изменение приложения не нужно Требует VIP Ограничивается подсетью MDAC соединение Изменение приложения не нужно Должно быть изменение строки подключения MDAC кэш Изменение приложения не нужно Кэш находится в памяти Изменение приложения Приложение отвечает за запрос и хранение состояния сессии и логику подключения

Доступность (1 из 2) Функциональ ность Горячий резерв Теплый резерв Database Mirroring Failover Clustering Transactional Replication LogShipping Потеря данных Нет опций потери данных Нет потери данных Некоторые данные могут быть потеряны Автоматическое восстановление ДаДаНетНет Прозрачность для клиента Да, Автоперена правление Да, Переподсое динение к тому же IP НетНет Время простоя < 3 секунд 20 сек + восстано- вление БД секунды секунды + восстановле- ние БД Доступ на чтение к серверу резерва Постоянно доступный снимок Нет Постоянно доступна Периодически доступна

Доступность (2 из 2) Функцион альность Горячий резерв Теплый резерв Database Mirroring Failover Clustering Transact. Replication LogShipping Уровень детализации данных БД Все системные и пользовате- льские БД Таблица или вид БД Устойчивость к сбою дисковой подсистемы Да Нет, диски совместного доступа ДаДа Необходи- мость в специальном аппаратном обеспечении Нет, нужна дублирую- щая система Специальное аппаратное обеспечение от Cluster HCL Нет, нужна дублирую- щая система Нет, нужна дублирующая система Сложность НекотораяБольшеБольшеБольше

Полезные ресурсы SQL Server 2005 Books Online Официальная страница SQL Server 2005 на MSDN =/library/en-us/dnanchor/html/sqlserver.asp Российское сообщество по SQL Server

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.