Обзор ключевых изменений windows server 2008 r2

49

Upload: abbott

Post on 08-Feb-2016

111 views

Category:

Documents


0 download

DESCRIPTION

Обзор ключевых изменений Windows Server 2008 R2. Александр Шаповал. Microsoft. Рассматриваемые вопросы. Презентация посвящена изменениям в ядр е Windows Server 2008 R2 и Windows 7 - PowerPoint PPT Presentation

TRANSCRIPT

http://msplatforma.ru

Microsoft Платформа 2010

Обзор ключевых изменений Windows Server 2008 R2

Microsoft

Александр Шаповал

http://msplatforma.ru

Microsoft Платформа 2010

Рассматриваемые вопросы

Презентация посвящена изменениям в ядре Windows Server 2008 R2 и Windows 7

Рассматриваются изменения в базовых компонентах ядра, направленные на повышение производительности, масштабируемости и безопасности системы

Целый набор существенных изменений в ОС, таких как виртуализация, DirectAccess, BranchCache, PowerShell и др., рассматриваются в остальных докладах серверного трека

http://msplatforma.ru

Microsoft Платформа 2010

Ядро

Windows 7 и Windows Server 2008 R2 базируются на одном ядре Windows Server 2008 R2 только 64-битный

Wow64 – необязательная компонента режима Server Core

Для совместимости приложений номер версии системы (ядра) – 6.1

Не отражает количество существенных изменений в системе Предполагает, что многие приложения будут проверять номер версии Windows Vista (6)

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

MinWin

MinWin – первый шаг к созданию архитектурных разделов

Может собираться, загружаться и тестироваться отдельно от остальной части ОС Более высокие уровни могут разрабатываться независимо

MinWin – набор компонент, необходимых для загрузки и сетевого доступа

“NT Дэвида Катлера”: ядро, драйвер файловой системы, стек TCP/IP, драйверы устройств, службы Нет оболочки, WMI, графики, аудио, утилит

Размеры MinWin: 150 файлов, 25MB на диске, 40MB в памяти

http://msplatforma.ru

Microsoft Платформа 2010

Иерархическое представление

Оболочка,Графика,Мультимедиа,Службы,Утилиты, и пр.

Ядро, HAL,TCP/IP,Файловые системы,Драйверы,Службы ядра

MinWin

http://msplatforma.ru

Microsoft Платформа 2010

Рефакторинг DLL

Для снятия зависимостей от верхних уровней необходим рефакторинг DLL Приложения за пределами MinWin используют обычные DLL

DLL перенаправляет запросы к MinWin API в MinWin DLL Пример:

Kernel32.dll -> Kernelbase.dllAdvapi32.dll -> Kernelbase.dll

http://msplatforma.ru

Microsoft Платформа 2010

Наборы API

Проблема: DLL содержит множество APIAPI связан с реализацией внутри DLL

Наборы API (API Sets) – виртуальные DLL Внутренняя архитектура API отделена от реализации Виртуальные DLL могут быть скомбинированы на этапе компиляции для повышения эффективности

Интерфейсы MinWin выполнены в виде виртуальных DLL:

Пример: MICROSOFT-WINDOWS-SYSTEM-ERRORHANDLING-L1-1-0.DLLНомера показывают уровень, major- и minor-версию

http://msplatforma.ru

Microsoft Платформа 2010

Отображение в логические DLL

Отображение виртуальных DLL в логические хранится в Apisetschema.dll

Ядро читает схему во время загрузки и передает сопоставление каждому процессу для быстрого поиска Загрузчик использует схему для нахождения необходимой DLL

Связи виртуальных DLL могут отображаться различными утилитами, например, Dependency WalkerВирт. DLL 1

Вирт. DLL 2

ApiSetSchema.dll Логическая DLL

Загрузчик

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

Потребление памяти: клиент

Снижение потребления памяти самыми различными компонентами

Lapt

opA (x

86)

Lapt

opB (x

86)

ShipA

(x86

)

ShipB

(x86

)

ShipG

(x86

)

ShipH

(x86

)

ShipI

(x86

)

ShipJ

(x86

)

Lapt

opA (x

64)

Lapt

opB (x

64)

ShipB

(x64

)

ShipJ

(x64

)0

200

400

600

800

1000

1200

1400

Vista SP1

Windows 7 Beta

MB

http://msplatforma.ru

Microsoft Платформа 2010

Потребление памяти: сервер

W2K3 WS08 SP1 WS08 R20

50

100

150

200

250

Потребление ОЗУ в состоянии “Простой”

Enterprise Full

MB

http://msplatforma.ru

Microsoft Платформа 2010

Оптимизация памяти

За счет изменения архитектуры DWM удалось снизить потребление памяти на каждое окно в среднем на 50%Реестр считывается в страничный пул (paged pool)

Ранее отображался в памятьПри просмотрах реестра не нужно заново выполнять отображение (re-mapping)

http://msplatforma.ru

Microsoft Платформа 2010

Рабочий набор

Рабочий набор (working set) – количество ОЗУ, выделяемое диспетчером памяти процессу Диспетчер позволяет использовать собственные страницы процесса более агрессивно Системный кэш, страничный пул, откачиваемый системный код имеют свой собственный рабочий набор

Память расходуется более рациональноСнижается влияние операций копирования на системный код

System Cache, Paged Pool, System Code P1 P2 …

System Cache P1 P2 …Paged Pool System Code

Vista, Server 2008

Windows 7, Server 2008 R2

http://msplatforma.ru

Microsoft Платформа 2010

PerfTrack

PerfTrack: 300 сценариев пользовательских действий

Примеры: открыть стартовое меню, открыть панель управления, загрузка системы

По каждому сценарию поставлены цели Замеры проводились по началу/завершению события Данные собирались в рамках программы Customer Experience Program и возвращались соответствующей команде разработчиков

Щелчок по стартовому меню

Great OK Bad

Стартовое меню открылось

http://msplatforma.ru

Microsoft Платформа 2010

PerfTrack – Меню «Пуск»

Сборка 7000

Сборка 7033

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

Ключевые факторы Минимизация запущенных сервисов и задач Сокращение операций в фоновом режиме Удержание логических процессоров (ЛП) и сокетов в состоянии «Простой» для последующего перевода с состояние сна

- 5.00

10.00 15.00 20.00 25.00 30.00 35.00 40.00

Утилизация ЦПУ (%)

Потр

ебл

ение э

нер

гии (

Вт)

+10% ЦПУ = +1.25Вт +1.25Вт = -8.3% батарея

http://msplatforma.ru

Microsoft Платформа 2010

Парковка ядер

Ранее, загрузка равномерно распределялась по доступным ЛП

Даже если утилизация системы невысока

ОС пытается загружать наименьшее количество ЛП

Другие ЛП можно перевести в состояние сна Система распознает топологию сокетов

Парковка применяется на серверах и системах с гипертрейдингом

Максимальный возврат при средних нагрузках Клиенты как правило работают в предельных режимах (0% или 100%)

http://msplatforma.ru

Microsoft Платформа 2010

Парковка ядер

Парковкой управляет родительский раздел Гипервизор отображает сведения об использовании ЦПУ в родительский раздел

Сведения обновляются каждые 100 мс

Родительский раздел сообщает гипервизору, какие ядра нужно парковать

Гипервизор дает ядрам закончить текущую работу, но не планирует для них новую Тем не менее, ядра будут использоваться, если загрузка дочернего раздела возрастает

http://msplatforma.ru

Microsoft Платформа 2010

Парковка ядер

Сокет 0

Ядро 0

Ядро 1

Ядро 0

Ядро 1

Сокет 1

Ядро 1

Ядро 0

Ядро 0

Ядро 1

Задача

http://msplatforma.ru

Microsoft Платформа 2010

Unified Background Process Manager (UBPM)

UBPM унифицирует механизм запуска и останова процессов на основе событий

Реализован в диспетчере служб, чтобы избежать создание нового процесса Все события основаны на ETW

UBPM – центральный диспетчер регистрации и оповещения потребителей ETW

Клиенты UBPM:Планировщик задач: новый процесс Taskhost Диспетчер служб: запуск служб на основе триггеров

http://msplatforma.ru

Microsoft Платформа 2010

Динамические службы

Ранее, служба запускается при старте ОС и продолжает работу до выключения системы Службы могут указывать условия запуска и останова (триггеры):

Включение/выключение Bluetooth-устройства Добавление/удаление IP-адреса Открытие/закрытие портов на Firewall Включение/исключение компьютера из домена Другие события

Триггеры хранятся в ключе реестра службы Для просмотра используйте “sc qtriggerinfo”

http://msplatforma.ru

Microsoft Платформа 2010

Коалесцирующий таймер

При срабатывании таймера дочернего раздела:Гипервизор получает прерывание от внешнего таймера Планирует задачи для дочернего раздела Возвращает управление в дочерний раздел

Проблемы множества таймеров в разделах:Большое кол-во прерываний внешнего таймераВысокие расходы времени ЦПУ гипервизоромСнижение эффективности работы ВМ

Решение: выровнять интервалы таймеров в дочерних разделах

http://msplatforma.ru

Microsoft Платформа 2010

Реализация таймера

Используется комбинация следующих методов:Физические прерывания для глобальных таймеров Выравнивание интервалов таймеров дочерних разделов

Сигнал таймера ВМ1Сигнал таймера ВМ2Сигнал таймера ВМ3

15.6мс

15.6мс15.6мс

Объединенные события таймера

Необъединенные события таймера

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

Уровни User Account Control

Два новых уровня настройки UAC Сокращают количество предупреждений Применяются к администраторам

http://msplatforma.ru

Microsoft Платформа 2010

Виртуальные учетные записи

Обеспечивают лучшую изоляцию служб Свойства виртуальных учетных записей:

Процесс запускается с виртуальным SID SID может использоваться в списках управления доступом ACL

Пароли управляются системой В сетевых операциях выглядит как учетная запись компьютера

Использование виртуальных учетных записей Имя учетной записи: “NT SERVICE\<service>”Диспетчер служб создает профиль для виртуальной записи

Используются в пулах приложений IIS и в SQL Server

http://msplatforma.ru

Microsoft Платформа 2010

Управляемые записи служб

Некоторым службам необходима идентификация в сети Ранее, доменная запись была единственным вариантом

Администратор должен был управлять паролями и Service Principal Names (SPN)Возникали сбои при истечении срока действия пароля

Windows Server 2008 R2 Active Directory поддерживает механизм Managed Service Accounts (MSA)

Новый класс в ADПароли и SPN управляются службой AD по аналогии с компьютерными учетными записями Настраиваются скриптами PowerShell Каждая запись может использоваться только в одной системе

http://msplatforma.ru

Microsoft Платформа 2010

BitLocker-To-Go Тип

устройстваМетоды доступа

Методы восст-ия

Управление

Доп. требования

Съемные носители

информации,

например:

устройства USB flash

внешние жесткие диски

Пароль

Смарт-карта

Автомати-ческое

монтирование

Пароль восстано-вления

Ключ восстано-вления

Резервная копия

пароля восстано-вления в

Active Directory

DataRecovery

Agent

Более жесткий

контроль с помощью групповых политик

Опция обязатель-

ного шифрован

ия для получения

права записи на носитель

NTFSFAT

FAT32ExFAT

http://msplatforma.ru

Microsoft Платформа 2010

Содержание

Компонентизация Производительность Энергосбережение Безопасность Поддержка многоядерных систем

http://msplatforma.ru

Microsoft Платформа 2010

Dynamic Fair Share Scheduling (DFSS)

Ранее, отсутствовало понятие «качество обслуживания» для терминальных пользователей

Один пользователь мог оккупировать ресурсы ЦПУ

Для роли RDS автоматически включается DFSSСессии присваивается вес 1-9 (по умолчанию 5)Каждая сессия получает бюджет ЦПУ на интервал в 150 мс: Количество циклов в интервале / Суммарный вес * Вес сессии Вычитание происходит на каждом интервале планирования Если сессия исчерпала квоту, ее потоки помещаются в очередь «только во время простоя»

Запускаются, если другие сессии не выполняют активности

По окончании интервала бюджетирование повторяется

http://msplatforma.ru

Microsoft Платформа 2010

Логические процессоры (ЛП)

Ранее, максимальное количество ЛП определялось разрядностью слова

Состояние ЛП представлено битом в маске 32-битная версия: 32 ЛП64-битная версия: 64 ЛП

01631

32-битная процессорная маска

Простаивает Занят

http://msplatforma.ru

Microsoft Платформа 2010

Логические процессоры (ЛП)

С появлением многоядерной архитектуры получают распространение системы с количеством ЛП > 64

8 сокетов, 6 ядер, гипертрейдинг: 96 логических процессоров

Необходима поддержка > 64 ЛП с сохранением совместимости

http://msplatforma.ru

Microsoft Платформа 2010

Поддержка более 64 ЛП

ЛП разбиваются на группы В группе может быть до 64 ЛП Поддерживаются до 4 групп (максимальное количество ЛП – 256)

Распределение по группам Одна группа, если система 32-битная или количество ЛП < 65 Иначе, минимальное количество групп, при котором NUMA-узлы располагаются в одной группе

http://msplatforma.ru

Microsoft Платформа 2010

Группировка процессоров

Пример: 4 ЛП/ядро, 4 ядра/сокет, 2 сокета/узел, 4 узла: 128 ЛП

Группа

NUMA-узелСокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

Сокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

NUMA-узелСокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

Сокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

Группа

NUMA-узел Сокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

Сокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

NUMA-узелСокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

Сокет

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

ЯдроLP

LP

LP

LP

http://msplatforma.ru

Microsoft Платформа 2010

256-процессорная система

http://msplatforma.ru

Microsoft Платформа 2010

Процессы, потоки и группы

По умолчанию, все потоки процесса запускаются в одной группе

Для присвоения процессу идеальной группы и идеального узла используется round-robin Потоку присваивается идеальный ЦПУ процесса, с использованием round-robinНа уровне группы применяется прежний API

Для использования > 64 ЛП приложение может присваивать потоки разным группам

Каждый поток запускается на ЛП в пределах группы

http://msplatforma.ru

Microsoft Платформа 2010

Процессы, потоки и группы

P1T1

P1T2

Группа 0 Группа 1

P2T1

P2T2

P3T2

P3T1

P4T2

P4T1

http://msplatforma.ru

Microsoft Платформа 2010

Диспетчер памяти PFN-блокировка

Windows отслеживает состояние страниц физической памяти

Используется (принадлежит рабочему набору)Не принадлежит рабочему набору (находится в одном из списков: free, zero, modified, standby…)

Ранее, любые изменения состояния страницы защищались глобальной PFN-блокировкой (Physical Frame Number lock)PFN-блокировки больше не используются

Страницы блокируются индивидуально Существенно повышается масштабируемость приложений, использующих большие массивы памяти

http://msplatforma.ru

Microsoft Платформа 2010

Блокировка диспетчеризации

Блокировки упорядочивают доступ к структурам данных

Предотвращают одновременную модификацию данных разными потоками Снижают масштабируемость, поскольку потоки должны ожидать снятия блокировки

Блокировка диспетчеризации оказывает наибольшее влияние на серверы

Блокировка защищает любые изменения состояния потока

Этот тип блокировки больше не используется Каждый объект защищен собственной блокировкой Многие операции производятся вообще без блокировок

http://msplatforma.ru

Microsoft Платформа 2010

«Мир без блокировок»

Рост производительности в 1.7 раза при переходе с 64 ЛП на 128 ЛП

128 LP 256 LP0

500

1000

1500

2000

2500

FibersThreads

Производительность OLTP

Тран

закц

ий

/ми

н.

http://msplatforma.ru

Microsoft Платформа 2010

Итоги

Windows Server 2008 R2 и Windows 7 содержат большое количество фундаментальных изменений на уровне ядраИзменения направлены прежде всего на повышение производительности, масштабируемости и безопасности системы

http://msplatforma.ru

Microsoft Платформа 2010

Ресурсы

12 ноября R2 302 Новые возможности Active Directory в Windows Server 2008 R2R2 306 Обзор возможностей Windows Server 2008 R2 Remote Desktop Services и Virtual Desktop InfrastructureR2 208 Практика проектов виртуализацииRT 204 Стратегия выбора и практика развертывания решений виртуализации

http://msplatforma.ru

Microsoft Платформа 2010

Ресурсы

13 ноября W7 202 Построение эффективной инфраструктуры филиалов на основе Windows 7 и Windows Server 2008 R2R2 203 Hyper-V в Windows Server 2008 R2 / Hyper-V Server 2008 R2R2 304 Автоматизация административных задач с помощью System Center и PowerShellR2 307 Построение высоконадежных систем: как выгоднее?R2 205 Пути миграции на Windows 7 и Windows Server 2008 R2

http://msplatforma.ru

Microsoft Платформа 2010

Вопросы

Александр Шаповал Эксперт по информационной

инфраструктуре [email protected]

http://blogs.technet.com/ashapo

Вы сможете задать вопросы докладчику в зоне «Спроси эксперта» в течение часа после завершения этого доклада