Что такое Pass-through Disk?

Задача: У вас есть сервер LOG-SRV02, работающий под управлением Windows Server 2012 R2. На нем поднята роль Hyper-V. Дисковая подсистема сконфигурирована как показано на картинке. Вы создаете новую виртуальную машин (VM) и хотите использовать в ней pass-through disk. Что вы должны сделать c Disk 2?

  • Конвертировать Disk 2 в MBR;
  • Конвертировать Disk 2 в Basic disk;
  • Перевести Disk 2 в режим offline;
  • Создать партицию на Disk 2.

Pass-Through Disk

Решение: Microsoft предлагает перевести Disk 1 в режим offline. Термин Pass-through Disk тесно связан с виртуализацией, под ним понимается физический диск, который напрямую подключается к виртуальной машине. Т.е. виртуальная машина использует не Virtual hard drive (VHD), а физический диск сервера или подключенный LUN (Logical unit). Таким образом обеспечивается повышенная производительность. Для того чтобы виртуальная машина могла использовать диск монопольно он должен быть переведен в режим offline на хостовом сервере.

Подробнее про Pass-through диски можно почитать на Технете http://blogs.technet.com/b/askcore/archive/2008/10/24/configuring-pass-through-disks-in-hyperv.aspx

Brach Office Direct Printing

Задача: У вас есть сетевой принтер, подключенный к принт-серверу. Вам необходимо обеспечить беспрерывную работу в случае выхода из строя сервера печати. Что необходимо настроить?

  • A. Brach Office Direct Printing;
  • B. Printer pooling;
  • C. Spooling;
  • D. Print forwarding Correct;

Решение: Microsoft предлагает использовать Brach Office Direct Printing. Функция Branch Office Direct Printing изначально предназначена для уменьшения трафика передаваемого по WAN каналу. Представим, что у вас есть центральный офис, в котором находится сервер с ролью Print and Document Services и несколько филиалов со своими принтерами. Благодаря Branch Office Direct Printing клиенты получают информацию о принтерах с принт-сервера, но задания печати отправляются напрямую на принтер, минуя спулер сервера. Т.е. задания печати не путешествуют туда-сюда между сетью центрального офиса и филиала, не загружая тем самым WAN каналы. Если интернет соединение между центральным офисом и филиалом пропадет или сервер печати выйдет из строя, филиальные пользователи смогут продолжить печать на свои филиальные принтеры.

Brach Office Direct Printing

Функционал Branch Office Direct Printing доступен начиная с Windows Server 2012 и Windows 8.

Подробнее про Brach Office Direct Printing на технете https://technet.microsoft.com/en-us/library/jj134152.aspx

DHCP Guard

Задача: В вашем домене Active Directory есть сервер под управлением Windows Server 2012 и выполняющий роль гипервизора  Hyper-V. На этом сервере хостится 10 виртуальных машин (VM). Все виртуальные машины подключены к виртуальному свичу PrivateSwitch, настроенному как Private. Все VM используют DHCP guard. На одной из виртуальных машин с именем LOG-DC01 вы поднимаете роль DHCP, создаете диапазон адресов и настраиваете его. Неожиданно вы обнаруживаете, что все виртуальные машины подключенные к PrivateSwitch не могут получить IP адреса по DHCP с сервера LOG-DC01. Вам нужно сделать так чтобы все виртуальные машины могли получать адреса с с сервера LOG-DC01, что для этого нужно сделать?

  • Включить MAC address spoofing на сервере LOG-DC01;
  • Отключить DHCP guard на всех VM, пытающихся получить IP адреса с DHCP сервера LOG-DC01;
  • Отключить DHCP guard на сервере LOG-DC01;
  • Включить SR-IOV (single-root I/O virtualization) на сервере LOG-DC01;

Решение: Microsoft предлагает отключить отключить DHCP guard на сервере LOG-DC01. DHCP Guard блокирует неавторизованный сервер DHCP, работающий внутри VM. Технически при включении данной опции Hyper-V блокирует пакеты DHCP acknowledge от данной VM и предотвращает возможность получения DHCP-клиентами настроек IP от данной VM.

DHCP Guard

Возможные сценарии использования

Во-первых, как дополнительный фактор защиты виртуальных машин от атак связанных с подменой DHCP сервера. Во-вторых, для разграничения DHCP трафика в пределах сети. Представим, что VM, на которой  крутится DHCP, подключена к нескольким виртуальным свичам, каждый из которых настроен на определенную сеть. Таким образом можно включить DHCP guard на одном из интерфейсов, тем самым отключив возможность получения IP адресов в этой сети.

Подробнее про функции работы с сетью в Hyper-V можно почитать здесь https://habrahabr.ru/company/microsoft/blog/159391/

 

Управление памятью виртуальных машин в Hyper-V

Задача: У вас есть bare-metal сервер на котором установлен Windows Server 2012 R2. Параметры сервера: 2 dual-core процессора и 16 GB RAM. Вы поднимаете роль Hyper-V и планируете развернуть две виртуальные машины (VM). Каждая VM должна иметь 8 GB RAM. Обе машины должны стартовать одновременно. Какой параметр вы должны настроить в каждой VM?

  • Dynamic Memory
  • NUMA topology
  • Memory weight
  • Ressource Control

Настройки памяти виртуальной машины Hyper-V

Решение: Microsoft предлагает настроить параметры Dynamic Memory. Оно конечно верно, но давайте проверим что будет если не использовать виртуальную память? А будет следующее, первая виртуальная машина запустится, а вторая выругается на то, что памяти для запуска недостаточно. На скриншоте видно, что у моего сервера как раз 16 GB RAM и она распределена поровну между двумя VM.

Недостаточно RAM для запуска двух VM одновременно

Что же такое Dynamic Memory?

Dynamic Memory рассматривает физическую память как некий общий ресурс и  позволяет распределять ее между VM в зависимости от текущей нагрузки и приоритетов на выделение памяти. Как правило, VM использует выделенную ей память не на 100%, а неиспользуемая память попросту пропадает. В настройках динамической памяти есть три параметра:

  1. Minimum RAM — стоит выставить минимально допустимый объем памяти, рекомендуемый для гостевой ОС. Например для Windows 10 минимально рекомендовано: 1 GB RAM для 32 bit и 2 GB RAM для 64 bit.
  2. Maximum RAM — верхний порог ограничен 64 ГБ, но стоит помнить что помимо этого существуют еще ограничения по использованию памяти гостевыми ОС. В качестве примера можно взять любую 32 битную систему, которая способна обработать максимум 4 GB RAM.
  3. Memory Bufer — некий резерв который резервируется под конкретную VM. Объем буфера памяти = объем RAM потребляемый VM в конкретный момент времени / (значение Memory Bufer / 100). Например, если гостевая ОС потребляет 1000 MB RAM, а Memory Bufer установлен в 20%, Hyper-V попытается выделить дополнительные 20% (200 MB) в общей сложности VM получит 1200 MB физической памяти.

На скриншоте ниже видно как изменяется объем выделяемой памяти в зависимости от загруженности VM (см. SRV02)

Использование динамической памяти

Memory weight

Своего рода арбитр, который вступает в игру когда у сервера заканчивается физическая память. Этот параметр будет определят какой VM выдать дополнительной памяти, а у какой забрать.

Более подробно про динамическую память на технете https://technet.microsoft.com/en-us/library/ff817651(v=ws.10).aspx и отличная статья на ITBand http://itband.ru/2011/01/hyper-v-r2-sp1-dynamic-memory

Управление Windows Server в режиме Core

Задача: Вы только что установили новый сервер с Windows 2012R2 в режиме Core. Так же в вашей сети есть второй сервер Windows 2012R2 с GUI или, к примеру, компьютер администратора с установленным RSAT. Что нужно настроить в Core, чтобы вы могли подключаться к этому серверу удаленно через Microsoft Management Console, в частности через Server Manager?

sconfig

Решение: Microsoft предлагает нам первым делом настроить сеть т.е. использовать пункт 8) Network Settings. С  точки зрения банальной эрудиции это верно, но давайте посмотрим глубже. Предположим, что в сети работает DHCP сервер, в таком случае новоиспеченный Core Server получит IP адрес автоматом. Но получение сетевых настроек не достаточно. При попытке подключения получим ошибку:

Не возможно подключиться к удаленному компьютеру через MMC

Windows Firewall блокирует подключения к удаленному серверу, необходимо прописать правила фаервола открывающие доступ к инструментам удаленного администрирования. Самый радикальный способ в данном случае, совсем отключить фаервол:

Или выполнить более тонкую настройку:

Теперь можно добавить core сервер в Server Manager на компьютере с которого будет осуществляться администрирование. И, если новый сервер не введен в домен, дополнительно потребуется указать права локального админа core сервера, через Manage As …

Добавление нового сервера в Server Manager

Более подробно про управление сервером в режиме Core читайте на технете https://technet.microsoft.com/en-us/library/jj574205(v=ws.11).aspx

Установка SCCM 1606. Установка WSUS

Описание установки Windows Server Update Services (WSUS) я решил вынести в отдельную статью по нескольким причинам. Во-первых, эта служба может использоваться для обновления компьютеров и серверов в сети автономно, без SCCM. Во-вторых, я потратил некоторое время пока не разобрался с установкой.

В контексте SCCM стоит отметить, что для его работы требуется WSUS 3.0 SP2 и два обновления к нему: KB2720211 KB2734608.

Internet Information Services

Для работы WSUS необходим веб-сервер. При установке через Server Manager, IIS будет добавлен в список установки автоматически. Для установки через PowerShell воспользуемся командой:

Компоненты Windows Authentication, Dinamic Content Compression, IIS 6 Metabase Compatability и IIS 6 WMI Compatability потребуются для установки SCCM, поэтому я ставлю их тоже.

Windows Internal DB vs. MSSQL Server instance

Для работы WSUS требуется база данных. Можно использовать либо существующий SQL Server, либо Windows Internal DB (WID), которая устанавливается при добавлении роли WSUS. По сути WID — это сильно урезанный SQL Server Express. Нет ничего «криминального» в использовании WID  если вы не собираетесь использовать NLB WSUS.

Выбор БД для работы WSUS.

В моем случае задача стояла настроить WSUS на работу с уже установленным SQL Server. При добавлении роли WSUS через PowerShell необходимо явно задать установку компонента для работы с внешними БД SQL Server Connectivity (UpdateServices-DB). В противном случае, по умолчанию, будет установлен компонент WID Connectivity (UpdateServices-WidDB). Код установки выглядит следующим образом:

Исчерпывающую информацию по проектированию инфраструктуры WSUS, а также установке и настройке можно найти на технете https://technet.microsoft.com/en-us/library/hh852344(v=ws.11).aspx

После завершения установки WSUS потребуется выполнить настройку сервера обновлений. Но это уже материал для отдельной статьи.

Установка SCCM 1606. Установка необходимых компонентов

С продуктами System Center я сталкиваюсь первый раз, если не считать давнишнего опыта работы в SC VMM. Свое знакомство решил начать с System Center Configuration Management (SCCM). Первое впечатление о продукте я составил уже на этапе установки. Установка, на мой взгляд весьма нетривиальна. Нет, конечно, все в духе Microsoft, мастер установки и пр. Но, прежде чем установить непосредственно SCCM, необходимо выполнить ряд предварительных условий.

Разобраться с версиями System Center поможет статья на Хабре https://habrahabr.ru/company/microsoft/blog/326264/

Установка NET Framework 3.5 SP 1

Казалось бы странно, что свежая система требует установить NET Framework 3.5, который по умолчанию отключен начиная с Windows Server 2012. По факту старый фреймворк нужен только для запуска самого установщика, основные компоненты SCCM используют уже NET Framework 4.5

Ок, устанавливаем фреймворк 3.5. Для установки потребуется вставить установочный диск/флешку или хотя бы иметь iso образ.

В этой статье для установки ролей и компонентов я буду использовать PowerShell. Аналогичные действия можно сделать через Server Manager, используя Add roles and features.

Установка Windows Assessment and Deployment Kit

Качаем дистрибутив с сайта https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit. Запускаем и устанавливаем следующие компоненты: Deployment Tools, Windows Preinstallation Environment, User State Migration Tool. Остальные компоненты для установки SCCM не требуются. В случае необходимости их можно будет добавить дополнительно.

Установка Windows Assessment and Deployment Kit

Остальные необходимые компоненты

Также для SCCM потребуются некоторые дополнительные фичи .NET Framework 4, Background Intelligent Transfer Service (BITS), Windows Process Activation Service (WAS) и Remote Differential Compression (RDC). Ставим все одной командой.

Так же для работы SCCM требует установленный WSUS, про установку которого я написал в отдельной статье.

Установка MSSQL Server 2016 в Windows Server 2012R2

При попытке установить SQL Server 2016 в Windows 2012R2, после проверки системы на соответвие требованиям и перед началом установки, появляется вот такая ошибка:

KB2919355_installation_failed

Отмечу, что все обновления в системе установлены и Windows Update не предлагает устанавливать что-то дополнительно.

Проблема решается последовательной установкой двух пакетов обновлений:

https://www.microsoft.com/en-us/download/details.aspx?id=42153

https://www.microsoft.com/en-us/download/details.aspx?id=42334

Последовательность установки важна! Если попытаться установить KB2919355 без предварительно установленного KB2919442, получите ошибку. После установки обязательно (а как же без этого…) перезагрузите ОС. При следующем запуске установщик SQL Server не найдет ошибок и установка пройдет успешно.

UPD: Что-то пошло не так 🙁 При очередной проверке обновлений, система обнаружила больше 100 обязательных обновлений установила их и потребовала перезагрузку. После перезагрузки система сперва сообщила об ошибке во время установки обновлений, потом выполнила откат, а потом и вовсе зависла на состоянии «Updating your system 5%». Мне не удалось выяснить какое именно обновление вызвало ошибку, так что будьте осторожны при установке дальнейших обновлений.

UPD 2: Проблема решена скачиванием последнего образа Windows Server 2012R2. KB2919355 — некое накопительное обновление, уже интегрированное в «свежий» образ, без него не ставятся новые продукты Microdoft, в том числе .NET Framework 4.6, SQL Server 2016 и т.д.