Консолидация серверов баз ДАННЫХ
description
Transcript of Консолидация серверов баз ДАННЫХ
КОНСОЛИДАЦИЯ СЕРВЕРОВ БАЗ ДАННЫХ
Кирилл ПановMCITP, MCDBA
СОДЕРЖАНИЕ
Введение Консолидация баз данных средствами SQL Server
Вопросы производительности Консолидация баз данных при помощи
виртуализацииВопросы производительности
Построение отказоустойчивого решения и балансировка нагрузки
Итоги
4
КОНСОЛИДАЦИЯ СЕРВЕРОВ БАЗ ДАННЫХ
Для чего:Для уменьшение затрат на: Электроэнергию Сопровождение ЛицензированиеУвеличение надежности: При переходе на сервер с дисками или хранилищем поддерживающем
большую отказоустойчивость При переходе на сервер в кластере
○ Кластер SQL серверов○ Кластер виртуальных машин
Методы консолидации: Средствами SQL Server Виртуализация
СОДЕРЖАНИЕ
Введение Консолидация баз данных средствами SQL
ServerВопросы производительности
Консолидация баз данных при помощи виртуализацииВопросы производительности
Построение отказоустойчивого решения и балансировка нагрузки
Итоги
6
КОНСОЛИДАЦИЯБАЗ ДАННЫХ SQL SERVER Перенос баз данных
Особенности○ Так же требуется перенести
Имена пользователей и паролиЗадания, оповещения и операторы
○ Если разные версии серверов то фактически, у нас проект по обновлению SQL Server
Не подходит, если:Для приложения требуется определенное имя базы данных, а такая
база уже есть в данном экземпляреОбновление не возможно ,так как приложение некорректно работает
с базой данных, даже в режиме совместимости
7
ВОПРОСЫ ПРОИЗВОДИТЕЛЬНОСТИПРИ ИСПОЛЬЗОВАНИИ КОНСОЛИДАЦИИ БАЗ ДАННЫХ Протестируйте обеспечивает ли сервер
необходимую производительность Важные параметры которые, возможно, придется
пересмотреть: Расположению файлов данных
○ Рассмотрите возможность использовать компрессию SQL Server 2008
Настроить tempdb согласно лучшим рекомендациямНастройкам памятиРассмотрите возможность использовать регулятор
ресурсов SQL Server 2008
8
КОНСОЛИДАЦИЯ ЭКЗЕМПЛЯРОВ SQL SERVER
Более высокий уровень изоляции Перенос экземпляра
Создаем новый экземпляр сервера и переносим все базы, включая системные
Особенности○ Поддержка нескольких экземпляров возможна начиная с
SQL Server 2000○ Редакция Enterprise и Developer SQL Server 2008
поддерживает до 50 экземпляров○ Остальные редакции SQL Server 2008 поддерживают до
16 экземпляров
9
ВОПРОСЫ ПРОИЗВОДИТЕЛЬНОСТИПРИ ИСПОЛЬЗОВАНИИ КОНСОЛИДАЦИИ ЭКЗЕМПЛЯРОВ Протестируйте обеспечивает ли сервер
необходимую производительность Важные параметры которые, возможно,
придется пересмотреть для всех экземпляров: Распределение памяти и процессоров между
экземплярамиРасположению файлов данных
○ Рассмотрите возможность использовать компрессию SQL Server 2008
СОДЕРЖАНИЕ
Введение Консолидация баз данных средствами SQL
ServerВопросы производительности
Консолидация баз данных при помощи виртуализацииВопросы производительности
Построение отказоустойчивого решения и балансировка нагрузки
Итоги
11
КОНСОЛИДАЦИЯ БАЗ ДАННЫХ C ПОМОЩЬЮ ВИРТУАЛИЗАЦИИ Максимальная уровень
изоляции Самый универсальный метод:
Можно консолидировать абсолютно разные приложения:○ SQL Server ○ Exchange○ Сервера приложений○ Различные операционные системы
Дополнительная нагрузка по сравнению с рассмотренными ранее:
○ Затраты на виртуализацию○ На каждой виртуальной машине – на операционную систему
12
СРЕДСТВА ВИРТУАЛИЗАЦИИ MICROSOFT Microsoft Hyper-V Server 2008 R2
Бесплатный Microsoft Windows Server 2008 R2
Включает в себя бесплатные лицензии на гостевые ОС
Требуются сервера поддерживающие аппаратную виртуализацию
13
ФУНКЦИОНАЛ HYPER-V R2 Возможности Microsoft Hyper-V Server 2008 R2 Windows Server 2008 R2 EE, DC
Лицензионное ограничение на количество сокетов До 8 До 8 в EE, до 64 в DC
Ограничение по поддержке на количество ядер 32
Память До 1TB
Миграция виртуальных машин Quick and Live Migration
Административный интерфейсКомандная строка, консольная конфигурационная утилита и удаленное управление через RSAT
Командная строка, удаленное управление через RSAT, Hyper-V Manager MMC
Управление через SCVMM R2 SCVMM 2008 R2
Право на бесплатное использование гостевых ОС Нет До 4 на EE, неограничено - на DC
Количество одновременно запущенных виртуальных машин До 256, если позволяют ресурсы сервера
Поддержка гостевых ОСWindows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows 7, Windows Vista SP1, Windows XP SP2/SP3, SUSE Linux Enterprise Server 10 и 11, Red Hat Enterprise Linux (RHEL) 5.2 и 5.3
14
ПЕРЕНОС СЕРВЕРОВ В ВИРТУАЛЬНУЮ СРЕДУ
ВручнуюВ гостевых операционных системах
устанавливаем SQL Server и переносим базы данных
АвтоматическиP2V Другими утилитами
SYSTEM CENTER VIRTUAL MACHINE MANAGER 2008 R2 Продукт для управления
виртуализацией на основе: Windows 2008 Server Hyper-V v1 и v2 Virtual Server VMware VI3
Обеспечивает централизованные: Конфигурирование хостов Создание виртуальных машин Инструменты консолидации серверов (P2V, V2V) Управление библиотеками образов Размещение и развертывание виртуальных
машин Мониторинг и отчетность Быстрое восстановление / миграция
16
СТОИМОСТЬ SCVMM R2 Для малого и среднего бизнеса:
Virtual Machine Manager 2008 Virtual Machine Manager 2008 R2 Workgroup Edition:$505 за управление 5 физическим серверами
Для корпоративных заказчиков: Virtual Machine Manager 2008 R2 Enterprise License:$869 за управление каждым физическим сервером
http://www.microsoft.com/systemcenter/virtualmachinemanager/en/us/pricing-licensing.aspx
17
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА MICROSOFT SQL SERVER ВИРТУАЛЬНОЙ СРЕДЕSupport policy for Microsoft SQL Server products that are running
in a hardware virtualization environmenthttp://support.microsoft.com/kb/956893
Для SQL Server 2005 и SQL Server 2008 в виртуальной среде среде:
Операционные системой Windows Server 2008 и Windows Server 2008 R2 с Hyper-V
Microsoft Hyper-V Server 2008 и Hyper-V Server 2008 R2 Конфигурация должна быть подтверждена Server Virtualization
Validation Program (SVVP).http://windowsservercatalog.com/svvp.aspx?svvppage=svvp.htm
18
ЛИЦЕНЗИРОВАНИЕ SQL SERVER В ВИРТУАЛЬНОЙ СРЕДЕ
Редакция Enterprise:Лицензируется физический серверКоличество виртуальных машин не ограничено
Редакция Standard и WorkgroupЛицензируется SQL Server на всех виртуальных
машинах
19
ПРОИЗВОДИТЕЛЬНОСТЬ SQL SERVER В ВИРТУАЛЬНОЙ СРЕДЕ
Использование SQL Server 2008 в среде Hyper-V Рекомендации и вопросы производительности
На русском языке:http://sqlcat.com/whitepapers_russian/archive/2009/10/22/sql-server-2008-hyper-v.aspx
Для тестирования определили:Тестовая рабочая
нагрузка Приблизительная загрузка
ЦП
OLTP: низкая 30 %
OLTP: средняя 50 %-60 %
OLTP: высокая 80 %
20
ИЗДЕРЖКИ ЦП В ВИРТУАЛЬНОЙ СЕРЕДЕ ПРИ ЗАПУСКЕ РАБОЧИХ НАГРУЗОК OLTP
Низкая Средняя Высокая
Пак. Запр./сек
Пакет/ЦП% Издержки
Пак. запр./сек
Пакет/ЦП%
Издержки
Пак. запр./сек
Пакет/ЦП% Издержки
Основная конфигурация1 566 19,2 0,00 % 908 16 0,00 % 1069 14,8 0,00 %Корневой раздел2 566 17,5 8,85 % 907 14,8 7,50 % 1113 13,5 8,78 %VM_PT3 565 16,1 16,15 % 897 14 12,50 % 1075 13,1 11,49 %
VM_VHD4 563 15,7 18,23 % 876 13,9 13,13 % 1029 13,2 10,81 %1. Основная конфигурация: собственная среда Windows Server 2008 с выключенным Hyper-V. Переключатель виртуальной сети
отключен.2. Корневой раздел: корневой раздел Windows Server 2008 со включенным Hyper-V.3. VM_PT: гостевая виртуальная машина, сконфигурированная для использования дисков прямого доступа, 4 логических процессоров и
14 ГБ ОЗУ.4. VM_VHD: гостевая виртуальная машина, сконфигурированная для использования виртуальных жестких дисков фиксированного
размера, 4 логических процессоров и 14 ГБ ОЗУ.5. Издержки вычислены путем сравнения с основной конфигурацией ((Пакеты в основной конфигурации/ЦП — Пакеты на виртуальной
машине/ЦП) / Пакеты в основной конфигурации/ЦП).
21
ПРОИЗВОДИТЕЛЬНОСТЬ СИСТЕМЫ ВВОДА ВЫВОДА
Low OLTP Workload Med OLTP Workload High OLTP Workload0
200
400
600
800
1000
1200
1400
1600
1800
2000
1049
1619
1876
1052
1614
1965
1053
1597
1880
1051
1567
1831
Reads Per Second for Data Volumes
Native OS - Hyper-V Disabled
Root Partition - Hyper-V Enabled
Single VM (Passthrough Disks)
Single VM (Fixed Size VHD)
Disk
Rea
ds/s
ec
22
ПРОИЗВОДИТЕЛЬНОСТЬ СИСТЕМЫ ВВОДА ВЫВОДА
Low OLTP Workload Med OLTP Workload High OLTP Workload0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.00500000000000001
0.00600000000000001
0.006000000000000010.00500000000000001
0.00600000000000001
0.006000000000000010.00500000000000001
0.00600000000000001
0.00600000000000001
0.00600000000000001
0.00700000000000001
0.00800000000000002
Average Disk Latency in Seconds
Native OS - Hyper-V Disabled
Root Partition - Hyper-V Enabled
Single VM (Passthrough Disks)
Single VM (Fixed Size VHD)
Avg.
Dis
k/se
c Re
ad
23
ПРОИЗВОДИТЕЛЬНОСТЬ ЗАПРОСОВ
Native OS - Hyper-V Disabled Root Partition - Hyper-V Enabled Guest (Passthrough) Guest (VHD)300
350
400
450
500
550
600
650
700
0
10
20
30
40
50
60
70
600 605620
630
Запросы с MAXDOP 0Общее время и % процент загрузки CPU
Total Time (seconds)
Hyper-V - %Guest Run TimeTi
me
to C
ompl
etei
on (s
econ
ds)
%G
uest
Run
Tim
e
24
ПРОПУСКНАЯ СПОСОБНОСТЬ ПРИ РЕЗЕРВНОМ КОПИРОВАНИИ И ВОССТАНОВЛЕНИИ
Основная
среда Корневой раздел
Гостевая виртуальная
машина (диски
прямого доступа)
Гостевая виртуальная
машина (виртуальные жесткие диски
фиксированного размера)
Пропускная способность при резервном копировании (МБ/с) 181,00 158,00 154,00 157,00
Общее время резервного копирования (сек) 764,00 875,00 874,00 874,00
Пропускная способность при восстановлении (МБ/с) 241,00 218,00 173,00 167,00
Общее время восстановления (сек) 573 634 799 824
25
ПОСЛЕДОВАТЕЛЬНОЕ ПЕРЕСТРОЕНИЕ ТРЕХ ИНДЕКСОВ С КОМПРЕССИЕЙ НА УРОВНЕ СТРАНИЦ
Root OS - Hyper-V Disabled Root OS - Hyper-V Enabled Guest (Passthrough) Guest (VHD)1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
0
10
20
30
40
50
60
70
80
90
100
2160 2176
2220 2220
Время перестройки индексов и % загрузки CPU
Total Time (seconds)
Hyper-V - %Guest Run Time
Tim
e to
Com
plet
ion
(sec
onds
)
% G
uest
CPU
Tim
e
26
ИНСТРУКЦИЯ DBCC CHECKDB
Root OS - Hyper-V Disabled
Root OS - Hyper-V Enabled
Guest (Passthrough) Guest (VHD)1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
0
10
20
30
40
50
60
70
80
90
100
15601590
1680 1700
DBCC CHECKDB , MAXDOP 0Время выполнения и % загрузки CPU
Total Time (seconds)
Hyper-V - %Guest Run Time
Tim
e to
Com
plet
ion
(sec
onds
)
% G
uest
CPU
Tim
e
27
МАСШТАБИРУЕМОСТЬ ВИРТУАЛЬНЫХ МАШИН, ПРОЦЕССОРА НЕ ПЕРЕГРУЖЕНЫ
Low OLTP Workload Med OLTP Workload High OLTP Workload0
500
1000
1500
2000
2500
3000
3500
4000
0
10
20
30
40
50
60
70
80
90
100
1128
1779
21022,244
3,245
3,612
Пакетов /секунду и Время выполнения гостевой машины, 2 и 4 ВМ
Total Batches/sec 2 VMsTotal Batches/sec 4 VMsHyper-V - %Guest Run Time (2 VMs)Hyper-V - %Guest Run Time (4 VMs)Hyper-V - %Total Run Time Hyper-V - %Total Run Time
Паке
тов
/сек
унду
28
РЕКОМЕНДАЦИИ ПО ИСПОЛЬЗОВАНИЮ SQL SERVER В ВИРТУАЛЬНОЙ СРЕДЕ
Тестируйте производительность при планируемой рабочей нагрузке.
Максимальное количество виртуальными процессоров - 4 Рассчитывайте из соответствия 1 к 1, виртуальный к физическому процессору
Используйте диски прямого доступа или виртуальные жесткие диски фиксированного размера. Диски прямого доступа быстрее, но виртуальными жесткими дисками легче
управлять Не используйте динамические виртуальные жесткие диски.
Используйте синтетические устройства ввода-вывода, сетевые устройства и так далее. Не используйте эмулированные устройства.
Мониторинг виртуальной среды : Performance Tuning Guidelines for Windows Server 2008 R2, раздел Performance
Tuning for Virtualization Servershttp://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx Рекомендации по оптимизации сети в подразделе Network I/O Performance
СОДЕРЖАНИЕ
Введение Консолидация баз данных средствами SQL
ServerВопросы производительности
Консолидация баз данных при помощи виртуализацииВопросы производительности
Построение отказоустойчивого решения и балансировка нагрузки
Итоги
30
ОТКАЗОУСТОЙЧИВЫЕ РЕШЕНИЯ ДЛЯ SQL SERVER
Автоматическое переключение клиентов:Отказоустойчивый кластер
SQL ServerHyper-V
Зеркальное отображение баз данныхЕсли требуется высокий уровень
отказоустойчивости то Кластер+ Зеркалирование Вручную, требуется дополнительная логика
на уровне приложенияОдноранговая репликация (Peer-2- Peer)
31
РЕАЛИЗАЦИЯ КЛАСТЕРА
КлиентыВиртуальный сервер
Heartbeat Network
Разделяемая дисковая система
32
БАЛАНСИРОВКА НАГРУЗКИ В сценарии Active/Passive пассивный узел
простаивает, ожидая падения активного узла Мы можем вручную распределить нагрузку
между двумя серверами т.е. Active/ActiveНужно убедиться , что при падении одного из узлов, второй узел справится с нагрузкой
Использовать сценарий N+1:Active/Active/Passive или Active/Active/Active/Passive и т.д.
33
РЕАЛИЗАЦИЯ ЗЕРКАЛЬНОГО ОТОБРАЖЕНИЯБАЗ ДАННЫХ
Любые расстояния, в режиме высокой производительности
Любое оборудование
Зеркальный сервер (Mirror)Основной сервер (Principal)
Зеркальный сервер (Mirror)Основной сервер (Principal)
Клиенты
Сервер- свидетель (Witness)
Принцип действия, режим высокой безопасности
35
ТЕХНОЛОГИИ ЗЕРКАЛЬНОГО ОТОБРАЖЕНИЯ БАЗ ДАННЫХ И КЛАСТЕР: ДОПОЛНЯЮТ ДРУГ ДРУГА
Обе технологии обеспечивают Автоматическое обнаружение сбоя и восстановление Ручное восстановление Прозрачный доступ из клиентских приложений Отсутствие потерь данных
Database Mirroring Уровень БД Два сервера и два устройства
хранения данных Стандартное оборудование Быстрое восстановление В ручную копирование
системных данных Для автоматического
переключения приложение должно работать c БД через ADO.Net или SQL Native клиент
Failover Clustering Уровень системы Специализированное
оборудование Не защищает от сбоев
дисковой системы
36
БАЛАНСИРОВКА НАГРУЗКИ: ОТЧЕТЫ НА РЕЗЕРВНОМ СЕРВЕРЕИспользование моментальных снимков на резервном
сервере
Резервный серверОсновной
сервер
Клиенты, запускающие отчеты
Зеркалирование баз данных
OLTP клиенты
Snapshot1в 13:00
Свидетель
Snapshot2в 14:00
37
ОДНОРАНГОВАЯ РЕПЛИКАЦИЯ ТРАНЗАКЦИЙ
Сохраняет копии данных на нескольких серверах (узлах)
Данные сохраняются на узлах почти в режиме реального времени
Все узлы являются одновременно и издателем, подписчиком и как правило дистрибутором
38
БАЛАНСИРОВКА НАГРУЗКИОсновные сценарии: Cлучай гео-распределенной компании, как на предыдущем
слайде Балансировка нагрузки на уровне приложения, варианты
балансировки:
39
SQL SERVER: ЛИЦЕНЗИРОВАНИЕ И ВЕРСИИ
Зеркальное отображение баз данных Standard - только в режим полной безопасности Моментальные снимки баз данных только в Enterprise Mirror сервер не требует лицензирования, если используется только
для зеркального отображения баз данных○ При использовании моментальных снимков БД или других баз данных
сервера – требуется Сервером свидетелем может быть бесплатный Experss
Кластер Standard – только 2 узла Узел Passive не требует лицензирования
Одноранговая репликация Только в версии Enterprise
СОДЕРЖАНИЕ
Введение Консолидация баз данных средствами SQL
ServerВопросы производительности
Консолидация баз данных при помощи виртуализацииВопросы производительности
Построение отказоустойчивого решения и балансировка нагрузки
Итоги
41
ИТОГИ Не сильно загруженные SQL сервера- кандидаты
на консолидацию Три метода консолидации (с меньшего уровня
изоляции – до высокого):Баз данныхЭкземпляровВиртуализация
Чем выше уровень изоляции, тем больше накладные расходы
Тестируйте при рабочих нагрузках!!! Если требуется минимизировать время простоя,
выберите подходящее отказоустойчивое решение Рассмотрите подходящее решение для балансировки
нагрузки
42
ССЫЛКИ Использование SQL Server 2008 в среде Hyper-V
http://sqlcat.com/whitepapers_russian/archive/2009/10/22/sql-server-2008-hyper-v.aspx
Support policy for Microsoft SQL Server products that are running in a hardware virtualization environmenthttp://support.microsoft.com/kb/956893
Performance Tuning Guidelines for Windows Server 2008 R2, раздел Performance Tuning for Virtualization Servershttp://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx
Monitoring Hyper-V Performance и Hyper-V Performance Counters http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx
43
ССЫЛКИ Консолидация серверов средствами SQL Server
2008http://msdb.ru/Downloads/SQL2008/white_papers/ServerConsolidation%20RU.doc
Russian Windows Virtualization Discussionhttp://blogs.technet.com/vm/
Green IT in Practice: SQL Server Consolidation in Microsoft IThttp://msdn.microsoft.com/en-us/architecture/dd393309.aspx
TechNet Webcast: Microsoft Virtualization Best Practices for SQLhttp://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032428764&CountryCode=US
44
ССЫЛКИ High Availability with SQL Server 2008
http://msdn.microsoft.com/en-us/library/ee523927.aspx
Overview of Failover Clustering with Windows Server 2008www.microsoft.com/windowsserver2008/failover-clusters.mspx
Анализ и настройка производительности MS SQL Server на Russian SQL Server Club http://www.itcommunity.ru/blogs/rsug/archive/category/2958.aspx
SQL Server Customer Advisor Team,технический документSQL Server 2008 Failover Clustering
http://sqlcat.com/whitepapers/archive/2009/07/08/sql-server-2008-failover-clustering.aspx
Книга: Репликация Microsoft SQL Server 2005/2008В сборник включены переводы и статьи сообщества SQL.RUОписание книги и статья “Высокая доступность в репликации SQL Server 2008 с зеркалированием и доставкой журналов” в блоге MVP SQL Server Александра Гладченко:http://msmvps.com/blogs/gladchenko/default.aspx