Консолидация Серверов Баз Данных

advertisement
Кирилл Панов
MCITP, MCDBA
Введение
 Консолидация баз данных средствами SQL
Server

 Вопросы производительности

Консолидация баз данных при помощи
виртуализации
 Вопросы производительности
Построение отказоустойчивого решения и
балансировка нагрузки
 Итоги


Для чего:
Для уменьшение затрат на:
 Электроэнергию
 Сопровождение
 Лицензирование
Увеличение надежности:
 При переходе на сервер с дисками или хранилищем
поддерживающем большую отказоустойчивость
 При переходе на сервер в кластере
○ Кластер SQL серверов
○ Кластер виртуальных машин

Методы консолидации:
 Средствами SQL Server
 Виртуализация
4
Введение
 Консолидация баз данных средствами SQL
Server

 Вопросы производительности

Консолидация баз данных при помощи
виртуализации
 Вопросы производительности
Построение отказоустойчивого решения и
балансировка нагрузки
 Итоги


Перенос баз данных
 Особенности
○ Так же требуется перенести
 Имена пользователей и пароли
 Задания, оповещения и операторы
○ Если разные версии серверов то фактически, у нас
проект по обновлению SQL Server
 Не подходит, если:
 Для приложения требуется определенное имя базы данных,
а такая база уже есть в данном экземпляре
 Обновление не возможно ,так как приложение некорректно
работает с базой данных, даже в режиме совместимости
6


Протестируйте обеспечивает ли сервер
необходимую производительность
Важные параметры которые, возможно,
придется пересмотреть:
 Расположению файлов данных
○ Рассмотрите возможность использовать компрессию SQL
Server 2008
 Настроить tempdb согласно лучшим рекомендациям
 Настройкам памяти
 Рассмотрите возможность использовать регулятор
ресурсов SQL Server 2008
7
Более высокий уровень изоляции
 Перенос экземпляра

Создаем новый экземпляр сервера и
переносим все базы, включая системные
 Особенности
○ Поддержка нескольких экземпляров возможна
начиная с SQL Server 2000
○ Редакция Enterprise и Developer SQL Server 2008
поддерживает до 50 экземпляров
○ Остальные редакции SQL Server 2008
поддерживают до 16 экземпляров
8
Протестируйте обеспечивает ли сервер
необходимую производительность
 Важные параметры которые, возможно,
придется пересмотреть для всех экземпляров:

 Распределение памяти и процессоров между
экземплярами
 Расположению файлов данных
○ Рассмотрите возможность использовать компрессию
SQL Server 2008
9
Введение
 Консолидация баз данных средствами SQL
Server

 Вопросы производительности

Консолидация баз данных при помощи
виртуализации
 Вопросы производительности
Построение отказоустойчивого решения и
балансировка нагрузки
 Итоги



Максимальная уровень
изоляции
Самый универсальный метод:
Можно консолидировать абсолютно разные
приложения:
○
○
○
○

SQL Server
Exchange
Сервера приложений
Различные операционные системы
Дополнительная нагрузка по сравнению с
рассмотренными ранее:
○ Затраты на виртуализацию
○ На каждой виртуальной машине – на операционную систему
11

Microsoft Hyper-V Server 2008 R2
 Бесплатный

Microsoft Windows Server 2008 R2
 Включает в себя бесплатные лицензии на
гостевые ОС

Требуются сервера поддерживающие
аппаратную виртуализацию
12
Возможности
Лицензионное ограничение на количество сокетов
Microsoft Hyper-V Server 2008 R2 Windows Server 2008 R2 EE, DC
До 8
До 8 в EE, до 64 в DC
Ограничение по поддержке на количество ядер
32
Память
До 1TB
Миграция виртуальных машин
Административный интерфейс
Quick and Live Migration
Командная строка, консольная
конфигурационная утилита и
удаленное управление через
RSAT
Управление через SCVMM R2
Право на бесплатное использование гостевых ОС
Количество одновременно запущенных
виртуальных машин
Поддержка гостевых ОС
Командная строка, удаленное
управление через RSAT, Hyper-V
Manager MMC
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
13

Вручную
В гостевых операционных системах
устанавливаем SQL Server и переносим
базы данных

Автоматически
 P2V
 Другими утилитами
14

Продукт для управления
виртуализацией на основе:




Windows 2008 Server Hyper-V v1 и v2
Virtual Server
VMware VI3
Обеспечивает
централизованные:







Конфигурирование хостов
Создание виртуальных машин
Инструменты консолидации серверов (P2V, V2V)
Управление библиотеками образов
Размещение и развертывание виртуальных
машин
Мониторинг и отчетность
Быстрое восстановление / миграция

Для малого и среднего бизнеса:
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/virtualmachinemanage
r/en/us/pricing-licensing.aspx
16
Support policy for Microsoft SQL Server products that are
running in a hardware virtualization environment
http://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
17

Редакция Enterprise:
 Лицензируется физический сервер
 Количество виртуальных машин не ограничено

Редакция Standard и Workgroup
 Лицензируется SQL Server на всех виртуальных
машинах
18
Использование SQL Server 2008 в среде Hyper-V
Рекомендации и вопросы производительности
На русском языке:
http://sqlcat.com/whitepapers_russian/archive/2009/10/22/sqlserver-2008-hyper-v.aspx
Для тестирования определили:
Тестовая рабочая
нагрузка
Приблизительная загрузка
ЦП
OLTP: низкая
30 %
OLTP: средняя
50 %-60 %
OLTP: высокая
80 %
19
Низкая
Пак. Пак
Запр. ет/Ц
/сек
П% Издержки
Основная
конфигура
ция1
Корневой
раздел2
VM_PT3
VM_VHD4
Средняя
Высокая
Пак.
Пак.
запр./с Пакет/Ц Издержк запр./с Пакет/
ек
П%
и
ек
ЦП%
Издержки
566 19,2
0,00 %
908
16
0,00 %
1069
14,8
0,00 %
566 17,5
565 16,1
8,85 %
16,15 %
907
897
14,8
14
7,50 %
12,50 %
1113
1075
13,5
13,1
8,78 %
11,49 %
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. Издержки вычислены путем сравнения с основной конфигурацией ((Пакеты в основной конфигурации/ЦП — Пакеты на виртуальной
машине/ЦП) / Пакеты в основной конфигурации/ЦП).
20
Reads Per Second for Data Volumes
2000
1800
Disk Reads/sec
1600
1400
Native OS - Hyper-V Disabled
1200
Root Partition - Hyper-V Enabled
1000
800
Single VM (Passthrough Disks)
600
Single VM (Fixed Size VHD)
400
200
0
Low OLTP Workload
Med OLTP Workload
High OLTP Workload
21
Average Disk Latency in Seconds
0.009
0.008
Native OS - Hyper-V Disabled
Avg. Disk/sec Read
0.007
0.006
Root Partition - Hyper-V
Enabled
0.005
0.004
Single VM (Passthrough Disks)
0.003
0.002
Single VM (Fixed Size VHD)
0.001
0
Low OLTP Workload
Med OLTP Workload
High OLTP Workload
22
Запросы с MAXDOP 0
Общее время и % процент загрузки CPU
70
650
60
630
620
600
600
605
50
550
%Guest Run Time
Time to Completeion (seconds)
700
500
450
40
30
Total Time
(seconds)
Hyper-V %Guest Run
Time
20
400
10
350
300
0
Native OS - Hyper-V Disabled
Root Partition - Hyper-V Enabled
Guest (Passthrough)
Guest (VHD)
23
Основная
среда
Пропускная способность при
резервном копировании (МБ/с)
Общее время резервного
копирования (сек)
Пропускная способность при
восстановлении (МБ/с)
Общее время восстановления
(сек)
Корневой
раздел
Гостевая
виртуальная
машина
(диски
прямого
доступа)
Гостевая
виртуальная
машина
(виртуальные
жесткие диски
фиксированного
размера)
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
24
2500
100
2400
90
2300
80
2220
2200
2160
2220
2176
70
% Guest CPU Time
Time to Completion (seconds)
Время перестройки индексов и % загрузки CPU
2100
2000
1900
1800
60
50
40
30
1700
20
1600
10
1500
Total Time
(seconds)
Hyper-V %Guest Run
Time
0
Root OS - Hyper-V Disabled
Root OS - Hyper-V Enabled
Guest (Passthrough)
Guest (VHD)
25
2000
100
1900
90
1800
80
1680
1700
1600
1560
1700
Total Time
(seconds)
70
1590
60
1500
50
1400
40
1300
30
1200
20
1100
10
1000
% Guest CPU Time
Time to Completion (seconds)
DBCC CHECKDB , MAXDOP 0
Время выполнения и % загрузки CPU
Hyper-V - %Guest
Run Time
0
Root OS - Hyper-V Disabled Root OS - Hyper-V Enabled
Guest (Passthrough)
Guest (VHD)
26
Пакетов /секунду и Время выполнения гостевой машины, 2 и 4 ВМ
4000
100
3,612
90
3500
Total Batches/sec 2
VMs
3,245
Пакетов /секунду
80
3000
70
2500
60
2,244
2102
2000
50
1779
40
1500
1128
30
1000
20
500
10
0
Total Batches/sec 4
VMs
Hyper-V - %Guest Run
Time (2 VMs)
Hyper-V - %Guest Run
Time (4 VMs)
Hyper-V - %Total Run
Time
Hyper-V - %Total Run
Time
0
Low OLTP Workload
Med OLTP Workload
High OLTP Workload
27
Тестируйте производительность при планируемой рабочей
нагрузке.
 Максимальное количество виртуальными процессоров - 4



Рассчитывайте из соответствия 1 к 1, виртуальный к физическому
процессору
Используйте диски прямого доступа или виртуальные жесткие
диски фиксированного размера.
 Диски прямого доступа быстрее, но виртуальными жесткими дисками
легче управлять
 Не используйте динамические виртуальные жесткие диски.

Используйте синтетические устройства ввода-вывода, сетевые
устройства и так далее.
 Не используйте эмулированные устройства.

Мониторинг виртуальной среды :
 Performance Tuning Guidelines for Windows Server 2008 R2, раздел
Performance Tuning for Virtualization Servers
http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx
 Рекомендации по оптимизации сети в подразделе Network I/O Performance
28
Введение
 Консолидация баз данных средствами SQL
Server

 Вопросы производительности

Консолидация баз данных при помощи
виртуализации
 Вопросы производительности
Построение отказоустойчивого решения и
балансировка нагрузки
 Итоги


Автоматическое переключение клиентов:
 Отказоустойчивый кластер
 SQL Server
 Hyper-V
 Зеркальное отображение баз данных
 Если требуется высокий уровень
отказоустойчивости то Кластер+ Зеркалирование

Вручную, требуется дополнительная логика
на уровне приложения
 Одноранговая репликация (Peer-2- Peer)
30
Heartbeat
Network
Разделяемая
дисковая
система
Виртуальный
сервер
Клиенты
31
В сценарии Active/Passive пассивный узел
простаивает, ожидая падения активного узла
 Мы можем вручную распределить нагрузку
между двумя серверами т.е. Active/Active
Нужно убедиться , что при падении одного из
узлов, второй узел справится с нагрузкой
 Использовать сценарий
N+1:Active/Active/Passive или
Active/Active/Active/Passive и т.д.

32
Любое оборудование
Любые расстояния, в режиме
высокой производительности
33
Принцип действия, режим высокой
безопасности
Зеркальный
Основной сервер
сервер
(Principal)
(Mirror)
Клиенты
Серверсвидетель
(Witness)
Зеркальный
Основной сервер
сервер
(Mirror)
(Principal)

Обе технологии обеспечивают





Автоматическое обнаружение сбоя и восстановление
Ручное восстановление
Прозрачный доступ из клиентских приложений
Отсутствие потерь данных
Database Mirroring






Уровень БД
Два сервера и два устройства
хранения данных
Стандартное оборудование
Быстрое восстановление
В ручную копирование
системных данных
Для автоматического
переключения приложение
должно работать c БД через
ADO.Net или SQL Native клиент

Failover Clustering



Уровень системы
Специализированное
оборудование
Не защищает от сбоев
дисковой системы
35
Использование моментальных снимков на
резервном сервере
Зеркалирование баз данных
OLTP клиенты
Свидетель
Основной
сервер
Резервный
сервер
Snapshot2
в 14:00
Snapshot1
в 13:00
Клиенты,
запускающие отчеты
36
Сохраняет копии данных на нескольких
серверах (узлах)
 Данные сохраняются на узлах почти в
режиме реального времени
 Все узлы являются одновременно и
издателем, подписчиком и как правило
дистрибутором

37
Основные сценарии:
 Cлучай гео-распределенной компании, как на
предыдущем слайде
 Балансировка нагрузки на уровне приложения,
варианты балансировки:
38

Зеркальное отображение баз данных
 Standard - только в режим полной безопасности
 Моментальные снимки баз данных только в Enterprise
 Mirror сервер не требует лицензирования, если используется
только для зеркального отображения баз данных
○ При использовании моментальных снимков БД или других баз
данных сервера – требуется
 Сервером свидетелем может быть бесплатный Experss

Кластер
 Standard – только 2 узла
 Узел Passive не требует лицензирования

Одноранговая репликация
 Только в версии Enterprise
39
Введение
 Консолидация баз данных средствами SQL
Server

 Вопросы производительности

Консолидация баз данных при помощи
виртуализации
 Вопросы производительности
Построение отказоустойчивого решения и
балансировка нагрузки
 Итоги

Не сильно загруженные SQL серверакандидаты на консолидацию
 Три метода консолидации (с меньшего уровня
изоляции – до высокого):

 Баз данных
 Экземпляров
 Виртуализация
Чем выше уровень изоляции, тем больше
накладные расходы
 Тестируйте при рабочих нагрузках!!!
 Если требуется минимизировать время
простоя, выберите подходящее
отказоустойчивое решение

 Рассмотрите подходящее решение для балансировки
нагрузки
41

Использование SQL Server 2008 в среде Hyper-V
http://sqlcat.com/whitepapers_russian/archive/2009/10/22/sql-server2008-hyper-v.aspx

Support policy for Microsoft SQL Server products that are
running in a hardware virtualization environment
http://support.microsoft.com/kb/956893

Performance Tuning Guidelines for Windows Server 2008 R2,
раздел Performance Tuning for Virtualization Servers
http://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/HyperV+Performance+Counters/default.aspx
42

Консолидация серверов средствами SQL Server
2008
http://msdb.ru/Downloads/SQL2008/white_papers/ServerCon
solidation%20RU.doc

Russian Windows Virtualization Discussion
http://blogs.technet.com/vm/

Green IT in Practice: SQL Server Consolidation in
Microsoft IT
http://msdn.microsoft.com/en-us/architecture/dd393309.aspx

TechNet Webcast: Microsoft Virtualization Best
Practices for SQL
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=enUS&EventID=1032428764&CountryCode=US
43

High Availability with SQL Server 2008 http://msdn.microsoft.com/enus/library/ee523927.aspx

Overview of Failover Clustering with Windows Server 2008
www.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-failoverclustering.aspx


Книга: Репликация Microsoft SQL Server 2005/2008
В сборник включены переводы и статьи сообщества SQL.RU
Описание книги и статья “Высокая доступность в репликации SQL Server
2008 с зеркалированием и доставкой журналов” в блоге MVP SQL Server
Александра Гладченко:
http://msmvps.com/blogs/gladchenko/default.aspx
44
Download