450 likes | 709 Views
Консолидация серверов баз ДАННЫХ. Кирилл Панов MCITP, MCDBA. Содержание. Введение Консолидация баз данных средствами SQL Server Вопросы производительности Консолидация баз данных при помощи виртуализации Вопросы производительности
E N D
Консолидация серверов баз ДАННЫХ Кирилл Панов MCITP, MCDBA
Содержание • Введение • Консолидация баз данных средствами SQL Server • Вопросы производительности • Консолидация баз данных при помощи виртуализации • Вопросы производительности • Построение отказоустойчивого решения и балансировка нагрузки • Итоги
Консолидация Серверов Баз Данных • Для чего: Для уменьшение затрат на: • Электроэнергию • Сопровождение • Лицензирование Увеличение надежности: • При переходе на сервер с дисками или хранилищем поддерживающем большую отказоустойчивость • При переходе на сервер в кластере • Кластер SQL серверов • Кластер виртуальных машин • Методы консолидации: • Средствами SQL Server • Виртуализация
Содержание • Введение • Консолидация баз данных средствами SQL Server • Вопросы производительности • Консолидация баз данных при помощи виртуализации • Вопросы производительности • Построение отказоустойчивого решения и балансировка нагрузки • Итоги
консолидацияБаз данных SQL Server • Перенос баз данных • Особенности • Так же требуется перенести • Имена пользователей и пароли • Задания, оповещения и операторы • Если разные версии серверов то фактически,у нас проект по обновлению SQL Server • Не подходит, если: • Для приложения требуется определенное имя базы данных, а такая база уже есть в данном экземпляре • Обновление не возможно ,так как приложение некорректно работает с базой данных, даже в режиме совместимости
Вопросы производительностипри использовании консолидации Баз данных • Протестируйте обеспечивает ли сервер необходимую производительность • Важные параметры которые,возможно, придется пересмотреть: • Расположению файлов данных • Рассмотрите возможность использовать компрессию SQL Server 2008 • Настроить tempdbсогласно лучшим рекомендациям • Настройкам памяти • Рассмотрите возможность использовать регулятор ресурсов SQL Server 2008
Консолидация экземпляров SQL Server • Более высокий уровень изоляции • Перенос экземпляра Создаем новый экземпляр сервера и переносим все базы, включая системные • Особенности • Поддержка нескольких экземпляров возможнаначиная с SQL Server 2000 • Редакция Enterprise и Developer SQL Server 2008 поддерживает до 50 экземпляров • Остальные редакции SQL Server 2008 поддерживают до 16 экземпляров
Вопросы производительностипри использовании консолидации экземпляров • Протестируйте обеспечивает ли сервер необходимую производительность • Важные параметры которые,возможно, придется пересмотреть для всех экземпляров: • Распределение памяти и процессоров между экземплярами • Расположению файлов данных • Рассмотрите возможность использовать компрессию SQL Server 2008
Содержание • Введение • Консолидация баз данных средствами SQL Server • Вопросы производительности • Консолидация баз данных при помощи виртуализации • Вопросы производительности • Построение отказоустойчивого решения и балансировка нагрузки • Итоги
Консолидация Баз данных c помощью виртуализации • Максимальная уровень изоляции • Самый универсальный метод: Можно консолидировать абсолютно разные приложения: • SQL Server • Exchange • Сервера приложений • Различные операционные системы • Дополнительная нагрузка по сравнению с рассмотренными ранее: • Затраты на виртуализацию • На каждой виртуальной машине – на операционную систему
Средства виртуализации Microsoft • Microsoft Hyper-V Server 2008 R2 • Бесплатный • Microsoft Windows Server 2008 R2 • Включает в себя бесплатные лицензии на гостевые ОС • Требуются сервера поддерживающие аппаратную виртуализацию
Перенос серверов в виртуальную среду • Вручную В гостевых операционных системах устанавливаем SQL Server и переносим базы данных • Автоматически • P2V • Другими утилитами
System Center Virtual Machine Manager 2008R2 • Продукт для управления виртуализацией на основе: • Windows 2008 Server Hyper-V v1 и v2 • Virtual Server • VMware VI3 • Обеспечивает централизованные: • Конфигурирование хостов • Создание виртуальных машин • Инструменты консолидации серверов (P2V, V2V) • Управление библиотеками образов • Размещение и развертывание виртуальных машин • Мониторинг и отчетность • Быстрое восстановление / миграция
Стоимость SCVMMR2 • Для малого и среднего бизнеса: Virtual Machine Manager 2008Virtual 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
Техническая поддержка Microsoft SQL Server виртуальной среде 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
Лицензирование SQL Server в Виртуальной среде • Редакция Enterprise: • Лицензируется физический сервер • Количество виртуальных машин не ограничено • Редакция Standard и Workgroup • Лицензируется SQL Server на всех виртуальных машинах
производительность SQL Server в виртуальной среде Использование SQL Server 2008 в среде Hyper-V Рекомендации и вопросы производительности На русском языке: http://sqlcat.com/whitepapers_russian/archive/2009/10/22/sql-server-2008-hyper-v.aspx Для тестирования определили:
Издержки ЦП в виртуальной середе при запуске рабочих нагрузок OLTP • Основная конфигурация: собственная среда WindowsServer 2008 с выключенным Hyper-V. Переключатель виртуальной сети отключен. • Корневой раздел: корневой раздел WindowsServer 2008 со включенным Hyper-V. • VM_PT: гостевая виртуальная машина, сконфигурированная для использования дисков прямого доступа, 4 логических процессоров и 14 ГБ ОЗУ. • VM_VHD: гостевая виртуальная машина, сконфигурированная для использования виртуальных жестких дисков фиксированного размера, 4 логических процессоров и 14 ГБ ОЗУ. • Издержки вычислены путем сравнения с основной конфигурацией ((Пакеты в основной конфигурации/ЦП — Пакеты на виртуальной машине/ЦП) / Пакеты в основной конфигурации/ЦП).
Производительность системы ввода вывода
Производительность системы ввода вывода
Пропускная способность при резервном копировании и восстановлении
Последовательное перестроение трех индексов с компрессией на уровне страниц
Масштабируемость виртуальных машин, процессоранеперегружены
Рекомендации по использованию SQL Server в виртуальной среде • Тестируйте производительность при планируемой рабочей нагрузке. • Максимальное количество виртуальными процессоров - 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
Содержание • Введение • Консолидация баз данных средствами SQL Server • Вопросы производительности • Консолидация баз данных при помощи виртуализации • Вопросы производительности • Построение отказоустойчивого решения и балансировка нагрузки • Итоги
Отказоустойчивые решения для SQL Server • Автоматическое переключение клиентов: • Отказоустойчивый кластер • SQL Server • Hyper-V • Зеркальное отображение баз данных • Если требуется высокий уровень отказоустойчивостито Кластер+Зеркалирование • Вручную, требуется дополнительная логика на уровне приложения • Одноранговая репликация (Peer-2- Peer)
Клиенты Разделяемая дисковая система Реализация кластера Heartbeat Network Виртуальный сервер
Балансировка нагрузки • В сценарии Active/Passive пассивный узел простаивает, ожидая падения активного узла • Мы можем вручную распределить нагрузкумежду двумя серверами т.е. Active/Active Нужно убедиться , что при падении одного из узлов, второй узел справится с нагрузкой • Использовать сценарийN+1:Active/Active/Passive или Active/Active/Active/Passive и т.д.
Реализация зеркального отображенияБаз Данных Любое оборудование Любые расстояния, в режиме высокой производительности
Клиенты Принцип действия, режим высокой безопасности Основной сервер (Principal) Зеркальный сервер (Mirror) Сервер- свидетель (Witness) Зеркальный сервер (Mirror) Основной сервер (Principal)
технологии Зеркального отображения баз данных и кластер: дополняют друг друга • Обе технологии обеспечивают • Автоматическое обнаружение сбоя и восстановление • Ручное восстановление • Прозрачный доступ из клиентских приложений • Отсутствие потерь данных • Database Mirroring • Уровень БД • Два сервера и два устройства хранения данных • Стандартное оборудование • Быстрое восстановление • В ручную копирование системных данных • Для автоматического переключения приложение должно работать c БД через ADO.Net или SQL Native клиент • Failover Clustering • Уровень системы • Специализированное оборудование • Не защищает от сбоев дисковой системы
БалансировкаНагрузки: Отчетына резервном сервере • Использование моментальных снимков на резервном сервере Зеркалирование баз данных OLTP клиенты Свидетель Резервный сервер Основной сервер Snapshot2 в14:00 Snapshot1 в 13:00 Клиенты, запускающие отчеты
Одноранговая репликация транзакций • Сохраняет копии данных на нескольких серверах (узлах) • Данные сохраняются на узлах почти в режиме реального времени • Все узлы являются одновременно и издателем, подписчиком и как правило дистрибутором
Балансировка нагрузки Основные сценарии: • Cлучайгео-распределенной компании, как на предыдущем слайде • Балансировка нагрузки на уровне приложения,варианты балансировки:
SQL Server: лицензирование и версии • Зеркальное отображение баз данных • Standard - только в режим полной безопасности • Моментальные снимки баз данных только в Enterprise • Mirror сервер не требует лицензирования, если используется только для зеркального отображения баз данных • При использовании моментальных снимков БД или других баз данных сервера – требуется • Сервером свидетелем может быть бесплатный Experss • Кластер • Standard – только 2 узла • Узел Passive не требует лицензирования • Одноранговая репликация • Только в версии Enterprise
Содержание • Введение • Консолидация баз данных средствами SQL Server • Вопросы производительности • Консолидация баз данных при помощи виртуализации • Вопросы производительности • Построение отказоустойчивого решения и балансировка нагрузки • Итоги
Итоги • Не сильно загруженные SQL сервера- кандидаты на консолидацию • Три метода консолидации (с меньшего уровня изоляции – до высокого): • Баз данных • Экземпляров • Виртуализация • Чем выше уровень изоляции, тем больше накладные расходы • Тестируйте при рабочих нагрузках!!! • Если требуется минимизировать время простоя, выберите подходящее отказоустойчивое решение • Рассмотрите подходящее решение для балансировки нагрузки
Ссылки • Использование 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 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/Hyper-V+Performance+Counters/default.aspx
Ссылки • Консолидация серверов средствами SQL Server 2008 http://msdb.ru/Downloads/SQL2008/white_papers/ServerConsolidation%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=en-US&EventID=1032428764&CountryCode=US
Ссылки • High Availability with SQL Server 2008 http://msdn.microsoft.com/en-us/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-failover-clustering.aspx • Книга:Репликация Microsoft SQL Server 2005/2008 В сборник включены переводы и статьи сообщества SQL.RU Описание книги и статья “Высокая доступность в репликации SQL Server 2008 с зеркалированием и доставкой журналов” в блогеMVP SQL Server Александра Гладченко: http://msmvps.com/blogs/gladchenko/default.aspx