Уходим от ручной наладки компьютеров в филиалах, предоставив управление конфигурациями Configuration Manager 2012 R2. В статье будет рассказано о СУБД MS SQL Server, планировании сайтов и их настройках, а также о необходимых требованиях, достоинствах и недостатках.

 

Наличие System Center Configuration Manager предполагает автоматизацию многих процессов и более удобное централизованное управление конфигурациями компьютеров. И в первую очередь это касается главного офиса компании. В филиалах, особенно с медленными каналами, подготовка машин часто ещё происходит по старинке – с помощью образов на носителях. А имея в главном офисе уже полностью настроенный Configuration Manager 2012 R2 - Primary Site (Первичный сайт), - было решено облегчить труд сотрудникам техподдержки отдалённых объектов (уйти от использования продуктов Acronis TrueImage, GLPI+OCS Inventory, Remote Administrator) и прийти к единым корпоративным программным решениям, а именно: инвентаризация компьютеров, автоматическая установка ОС, ПО, драйверов, проверка на соответствие параметров и другое.     

Задача: в сжатые сроки оборудовать рабочие места сотрудников филиала компьютерами из новой партии. Для этого вынести из локального окружения СУБД и вместо MS SQL Server 2008 установить версию 2012 года, предоставить возможность использования функционала MS SCCM 2012 R2 в территориально отдалённых объектах.   

 

Планирование

По рекомендациям Microsoft СУБД MS SQL Server можно держать вместе с SCCM на одной машине при количестве клиентских компьютеров примерно в 1000 единиц. В нашем случае это количество меньше раза в 2, но если посмотреть вперёд, то несколько филиалов увеличат значение до 800 единиц. Также в дальнейшем предполагается подключить систему мониторинга MS SCOM 2012, поэтому создание выделенного сервера для базы данных весьма выгодное решение.

SCCM имеет возможность предоставить свой функционал отдалённым объектам в 2х случаях [http://technet.microsoft.com/ru-ru/library/gg712681.aspx , http://technet.microsoft.com/ru-ru/library/bb693570.aspx]:

  • удалённая Distribution Point (DP, Точка распространения);
  • Secondary Site (Вторичный сайт).

С одной стороны, оба варианта подходят, но с другой – имеют существенные отличия. Чтобы сделать правильный выбор, давайте рассмотрим достоинства и недостатки каждого из них. И главное, что здесь нужно принимать во внимание - это объём сетевого трафика.

Подсчёт количества трафика можно осуществить с помощью готовой Excel-таблички [http://1drv.ms/1qV0Tdt], но нужно понимать, что это примерное представление, которое помогает узнать пределы “от” и “до”. Основные действия SCCM, по которым производятся расчёты, - это: сканирование программной части для обновлений; инвентаризация программной и аппаратной части; запросы на политики и другое. В этой таблице нужно в поле Number of Clients (Количество клиентов) ввести количество пользовательских компьютеров. Ячейка Regular (Регулярно) отображает постоянно передаваемые данные, а поле Worst Case (Худший вариант), показывает объём трафика, когда все клиенты начнут передавать информацию после полной инвентаризации, запросов политик и так далее.

Точку распространения обычно устанавливают, когда имеются скоростные каналы передачи данных, филиал имеет небольшое количество компьютеров (и находится за WAN-каналом) и нет необходимости выделять отдельный сервер (и устанавливать ОС), тем самым упрощая иерархию сайта. Также нужно учитывать, что распределение пакетов клиентам происходит каждый раз по запросу, передаваемые данные не сжимаются, нет возможности управлять трафиком, отсутствует контроль пропускной способности, возрастает нагрузка на первичный сайт.

Если филиал имеет медленные каналы связи, то лучше развернуть вторичный сайт, в котором точка распространения будет являться локальной по отношению к клиентам, находящихся в границах той подсети. В этом случае файлы с первичного сайта сжимаются и отправляются только единожды, а не каждый раз по запросу клиента как в первом случае.

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

Управление вторичным сайтом осуществляется с вышестоящего. При создании подчинённого сайта автоматически настраивается репликация базы данных, благодаря чему возможно взаимодействовать сайтам между собой. Также настраивается и файловая репликация, которая позволяет получать информацию с клиентов нового сайта. Если у вторичного сайта точка распространения недоступна, то клиенты подключаются к DP первичного сайта.

Итак, в нашем случае больше подходит работа со вторичным сайтом, потому как пропускная способность каналов передачи данных составляет 2 Мбит\с. А после того, как мы определились с иерархией, в соответствии с требованиями [http://technet.microsoft.com/ru-ru/library/c1e93ef9-761f-4f60-8372-df9bf5009be0#BKMK_SupConfigClientsperSite], необходимо подобрать соответствующее оборудование.

 

Работа над SQL Server

Перейдём к практике. Первым делом проверим в локальной CУБД значения нескольких параметров Service Broker [http://technet.microsoft.com/ru-ru/library/ms166049%28v=sql.105%29.aspx], необходимых для SCCM, это:

  • is_trustworthy_on – говорит о надёжности БД;
  • is_broker_enabled – включена ли служба Service Broker;
  • is_honor_broker_priority – показывает, учитываются ли приоритеты в базе данных.

Каждое из них должно быть равным 1, что обозначает включенность, запущенность. Определить их состояния можно с помощью запроса на выборку из системной таблицы sys.databases, который будет выглядеть следующим образом:

select name, collation_name, is_trustworthy_on, is_broker_enabled, is_honor_broker_priority_on

from sys.databases

where name = 'СМ_DD'

Рисунок 1. Результат работы запроса на выборку.

Перед тем, как начинать переносить базу данных, необходимо остановить службы SCCM. Сделать это можно в командной строке, запустив команду preinst /stopsite (preinst находится в каталоге Program FilesMicrosoft Configuration ManagerinX64).

Теперь сделаем резервную копию БД Configuration Manager. Для этого воспользуемся консолью Microsoft SQL Server Management Studio, в ней находим CM_DD, на которой жмём правкой кнопкой мыши и выбираем Tasks (Задачи)->Back Up(Бэкап). В появившемся окне из выпадающего списка останавливаемся на Full (Полный бэкап) и указываем путь для сохранения.

Следующим шагом будет настройка нового SQL-сервера после его инсталляции. Сначала проверяем, что версия СУБД [http://technet.microsoft.com/en-us/library/gg682077.aspx#BKMK_SupConfigSQLDBconfig] подходит для SCCM 2012 R2, при необходимости устанавливаем требуемое обновление. Затем обращаем внимание на значение параметра Server Collation, которое должно соответствовать SQL_Latin1_General_CP1_CI_AS. Это можно увидеть в свойствах SQL-сервера, в консоли Management Studio.

Затем смотрим, включён ли CRL (Common Language Runtime), который предоставляет интеграцию MS SQL Server с платформой .Net Framework. Это означает, что можно работать с триггерами, функциями, хранимыми процедурами на любом языке web-программирования, включая и MS Visual C#, MS Visual Basic. Убедиться нам нужно в том, что параметр run_value=1, запустив для этого запрос:

sp_configure 'clr enabled'

Ещё обязательно на новом сервере БД добавить в группу локальных администраторов доменную учетную запись сервера SCCM для полного его доступа.

Настало время перенести и подключить БД Configuration Manager (файл CM_DD.bak) на новый сервер баз данных. Открываем консоль Microsoft SQL Server Management Studio 2012, жмём правой кнопкой на Databases (Базы данных), выбираем Restore Database (Восстановление базы данных) и указываем путь к бэкапу. Затем останавливаем уже старую СУБД, при этом в оперативной памяти освободится примерно 500 Мб.    

Если сейчас запустить Configuration Manager, то он выдаст ошибку о невозможности подключиться к базе данных. И это естественно, потому как он ещё не знает о существовании новой СУБД и обращается к локальной MS SQL Server 2008. Чтобы прописать путь к БД выделенного сервера, необходимо открыть консоль Configuration Manager Setup (Пуск->Microsoft System Center 2012->Configuration Manager), в первом окне мастера выбрать Perform site maintenance or reset this site (Выполнить обслуживание или сброс сайта), во втором - Modify SQL Server configuration (Изменить конфигурацию SQL-сервера), а в следующем – должны быть заполнены поля FQDN, Instance name (если используется), Database name (Имя базы данных). Для тех, кто впервые делает такой перенос баз данных, ждёт сюрприз: сервер SCCM определил БД, пытается подключиться и ничего не получается, при этом операционная система не зависает. Проверка служб SQL Server (SQL Server, SQL Server Reporting Services, SQL Server Agent, SQL Server Browser), портов, IP-адресов и путей результата не даёт, в логе SCCM (ConfigMgrSetup.log) можно увидеть сообщение о настройке Service Broker (см. рис. 2). 

          

Рисунок 2. Сообщение о настройке Service Broker.

Исходя из этого, нужно проверить конфигурацию SQL-сервера. Нам поможет запрос на выборку (см. листинг 1), результат которого покажет, что is_broker_enabled установлен в 0, потому как Service Broker по умолчанию в прикрепленных или восстановленных базах данных выключен. Если ещё какой-то из этих 3х параметров имеет такое же состояние, то нужно инвертировать значение 0. Сделать это можно, с помощью другого запроса:

USE master;

GO

ALTER DATABASE CM_DD SET ENABLE_BROKER ON

GO

USE master;

GO

ALTER DATABASE CM_DD SET TRUSTWORTHY ON

GO

USE master;

GO

ALTER DATABASE CM_DD SET HONOR_BROKER_PRIORITY ON

GO

а на выходе должны получить (см. рис. 1). После этого снова запускаем Configuration Manager и наблюдаем как он “взлетает”. Чтобы полностью быть уверенным в правильности конфигураций по миграции БД, в SCCM заходим в раздел Administration->Overview->Site Configuration->Servers and Site System Role и видим, что автоматически уже создан Site System Server, содержащий всего 3 роли (Component server, Site database server, Site system). На этом первый этап нашей работы завершился.

 

Настройка SCCM

Настройка Configuration Manager давно произведена [http://blog.it-kb.ru/2012/05/23/installation-and-deployment-system-center-2012-configuration-manager-configmgr-sccm-part-3-stand-alone-prymary-site-server/]. А второй этап нашей работы тесно связан с тем, что делали ранее и многое повторяется. Поэтому некоторые моменты опущены или рассказаны вкратце.

Заходим в раздел Administration->Overview->Hierarchy Configuration. И в подразделах (Discovery Methods, Boundaries, Boundary Groups) нужно создать метод обнаружения новых машин, определить границы подсети и поместить их в группу.

Далее следует создание сайта для филиала. В разделе Administration->Overview->Site Configuration->Sites на имеющемся первичном сайте жмём правой кнопкой мыши и выбираем пункт Create Secondary Site (Создать вторичный сайт). Откроется мастер и потребует заполнения немалого количества полей из множества разделов. Здесь конфигурирование вторичного сайта мало чем отличается от настройки первичного, поэтому пропустим это описание. Хочу стразу отметить, что дополнительный сайт не будет иметь доступные к изменениям многие поля и галочки, потому как происходит наследование от вышестоящего сайта.

Далее опустимся ниже (в Servers and Sites System Roles), чтобы посмотреть и проверить настройки ролей для нового сайта (см. рис. 3). Их количество гораздо меньше, нежели у первичного, но интересует нас только одна – роль Distribution point. В её свойствах увидим, что здесь доступны к редактированию данные для PXE, добавления группы обнаружения и многое другое. Есть ещё вкладка Content, которая требует заполнения. Тут отображается всё то, что мы распространяем на пользовательские ПК.

         

Рисунок 3. Результат создания дополнительного сайта.

Приступим к добавлению программной части во вторичный сайт. Для этого переходим в раздел Software Library->Overview->Application Management, указываем интересующие нас Packages (Пакеты) и Applications (Приложения), нажимаем правкой кнопкой мыши, в контекстном меню выбираем пункт Distribute Content (Распространить контент). В появившемся мастере активируем галочкой созданную точку распространения. Далее идём в следующие подразделы (Software Updates->Deployment Packages, в Operating Systems-> Driver Packages, Operating System Images, Boot Images, Task Sequence) и делаем тоже самое.

Теперь пора настроить время отправки контента на филиал. Ведь если этого не сделать, то мы можем полностью забить весь канал передачи данных. Задумавшись о последствиях… возвращаемся в раздел Administration->Overview->Hierarchy Configuration и у нас будут уже установлены несколько настроек по умолчанию, ранее отсутствовавших:

  • Database Replication (Репликация базы данных) – в настройках доступно только Schedule (расписание) и Alerts (Оповещения);
  • File Replication (Файловая репликация) – состоит из 2х позиций – получателя и отправителя и наоборот. Из настроек каждого из них доступно расписание и Rate Limit (Диапазон) ограничений полосы пропускания. При этом никаких особых команд вводить не нужно, а всего лишь выделить время суток и в поле указать % загрузки (см. рис 4).

Рисунок 4. Настройка диапазона канала передачи данных.

Установка клиентской части SCCM на пользовательские ПК, как и раньше, возможна с помощью Client Push Installation или по нажатию правой кнопки мыши на конкретной машине и выборе в меню пункта Install Client.

Проверить состояние новой точки распространения можно в разделе Monitoring->Overview->Distribution Status->Distribution Point Configuration Status (см. рис. 5).

Рисунок 5. Состояние точки распространения.

Настало время навести порядок в парке наших компьютеров. Когда был у нас только первичный сайт, можно сказать, что всё было понятно и на поиск конкретной машины уходило минимум времени. Помимо существующих создавать какие-то свои коллекции было не обязательным, по желанию. Сейчас же добавились к общему списку “железяки” другого объекта, в дальнейшем время поиска нужного ПК будет увеличиваться или вообще может возникнуть путаница. Поэтому очень удобно применить категоризацию компьютеров, а именно разделить их не только по отделам, направлению выполняемой работы или другим критериям, но и по объектам. Для этого заходим в Assets and Compliance->Overview->Device Collection, жмём правой кнопкой мыши и выбираем Folder->Create Folder, а затем на конкретной папке повторяем действия с мышью и выбираем Create Device Collection (Создать коллекцию устройств) (см. рис. 6). Осталось машины добавить в коллекции.

Рисунок 6. Папки для коллекций устройств.

 

Проверка WDS

Нужно ещё удостовериться в правильности настроек WDS [http://sergeyvasin.wordpress.com/2012/06/06/wds-install/ , http://technet.microsoft.com/ru-ru/magazine/2008.07.desktopfiles.aspx]  и записей в реестре на новом сервере. Папка RemoteInstall является основной для сетевой загрузки пользовательских компьютеров, потому как она содержит в подкаталогах первоначальные загрузовчные фалйы(Default.bcd, Bootmgfw.efi, Bootmgr.exe, AbortPXE.com, PXEboot.n12, PXEboot.com, wdsnbp.com), загрузочные образы и шрифты для х32 и х64 архитектур. Для правльного функционирования службы WDS в ветке реестра

HKLM/SYSTEM/CurrentControlSet/services/WDSServer/Providers/WDSTFTP создаются 2 параметра:

  • RootFolder со значением, определяющим место расположения, по умолчанию это C:RemoteInstall;
  • ReadFilter, который указывает, из каких подпапок и к каким файлам обращаться, например, oot* mp* SMSBoot* SMSTemp* SMSImages*.

            Но это ещё не всё. Даже с такими вроде бы полными настройками (создание выделенного сервера БД, освобождение ресурсов для основного сервера SCCM и установка дополнительного, настройка между ними репликации, функционирование службы WDS) компьютеры филиала загружаться по сети либо не будут, либо с главного сервера. И нам предстоит последний – 3й этап работы.

 

Настройка DHCP-пула

Когда клиенты и SCCM-сервер находятся в одном сегменте сети, то нет необходимости данный этап выполнять. Так как у нас имеется отдалённый объект с иной подсетью, то необходимо настроить DHCP-пул с указанием опций 66 (содержит IP-адрес SCCM-сервера) и 67 (определяет путь к PXE-загрузчику), прописать на интерфейсе маршрутизатора ip helper-address (применяется для распространения пакетов за пределы подсети).

Если DHCP-сервер работает на ОС Windows Server, то DHCP-пул и настройка опций 66, 67 осуществляется в разделе Scope Options (Настройки области). В нашем случае DHCP-сервер настроен на маршрутизаторе Cisco, поэтому и конфигурация осуществляется на нём [http://www.opennet.ru/tips/info/2671.shtml , http://winintro.ru/wds.ru/html/e71927fe-8411-431a-98ee-f996ce33a1f4.htm]:

   ip dhcp pool center – имя DHCP-пула

   network 192.168.1.0 255.255.255.0 – адрес сети

   dns-server 192.168.1.5 192.168.1.6 - IP-адреса DNS-серверов

   domain-name energy.net – имя домена

   default-router 192.168.1.254 – IP-адрес маршрутизатора по умолчанию

   option 66 ip 192.168.2.7 – IP-адрес SCCM-сервера

   option 67 ascii "SMSBootx86wdsnbp.com" - путь к PXE-загрузчику

   interface GigabitEthernet0/0 – интерфейс маршрутизатора

   ip address 192.168.1.254 255.255.255.0 – адрес интерфейса

   ip helper-address 192.168.2.7 – указывает DHCP-пакетам IP-адрес сервера в иной подсети

  

Результат поставленной задачи

Вся эта проделанная работа позволяет облегчить жизнь работникам территориально отдалённых объектов компании. Как? Например, получили новый ПК или по какой-то причине слетела операционная система, а сотрудник техподдержки отлучился или вовсе такого нет, то консультация системного администратора по телефону займёт минимум времени, чтобы сказать о нажатии кнопки F12 и нескольких кнопок Next. Через 30 минут компьютер в домене без ввода вручную лицензионных ключей и паролей, с множеством уже установленных необходимых базовых программ. Далее системный администратор может подключаться к машинам филиала удалённым рабочим столом прямо из консоли SCCM, добавить их в общую базу инвентаризации компьютерного оборудования, а также контролировать корпоративные настройки и узнавать о наличии нежелательного софта и многое другое.  Если потребуется инсталлировать специфическое ПО, то сотрудник также может это сделать самостоятельно, войдя в пользовательскую консоль (Пуск->Все программы->Microsoft System Center 2012->Configuration Manager->Центр программного обеспечения) и нажав кнопку Установить.

Когда всё заработало, можно выключенный локальный SQL-сервер удалить и освободить ещё дисковое пространство на несколько гигабайт. При этом нужно учитывать, что для запуска сервера SCCM всё равно требуется поддержка MS SQL Server (можно использовать MS SQL Server Express, который идёт вместе с SCCM), но процессы уже занимают всего лишь килобайты оперативной памяти.

 

Troubleshouting

Случается так, что вроде бы всё правильно сделали, пошагово, по инструкции, но желаемого результата достигнуто не было. Выйти из проблемной ситуации помогут журналы событий и номера ошибок [http://heineborn.com/tech/sccm-2012-troubleshooting-pxe/ , https://jthys.wordpress.com/2012/02/27/sccm-2007-pxe-e32-tftp-open-timeout/]. Скажу от себя, что их исправление, связанные с сетевой загрузкой клиента, в основном, заключается в следующих перепроверках:

  • правильно настроена и запущена ли служба WDS;
  • проходит ли репликация данных;
  • корректно ли сконфигурированы точки распространения (PXE) [http://habrahabr.ru/post/175669/, http://winintro.ru/wds.ru/html/baac5fb5-ed38-48ed-9112-c8b5ae25d857.htm];
  • правильно ли указаны IP-адреса в DHCP-пуле;
  • проверить пути к загрузочным фалам в реестре;
  • посмотреть записи в логе SMSPXE.log.

Бывает, что и прописанный путь к загрузочному файлу (wdsnbp.com) в опции 67 в кодировке ASCII не срабатывает, не понимается конец строки. В этом случае можно воспользоваться конвертером [http://www.rapidtables.com/convert/number/hex-to-ascii.htm] и использовать HEX-кодировку, в результате получим следующий вид:

option 67 hex 5c53.4d53.426f.6f74.5c78.3836.5c77.6473.6e62.702e.636f.6d00

 

Достоинства: предоставление функционала SCCM в филиалы предприятия, независимо от скорости в передаваемой среде.  

Недостатки: требуются немалые знания по конфигурированию SCCM, тратится много времени на первоначальную настройку, используется в основном в крупных организациях.

Вывод: конечно, Configuration Manager, является очень удобным централизованным средством управления конфигурациями всего парка компьютеров предприятия. Но ещё больше преимуществ добавляется, когда его функционалом может воспользоваться персонал в филиалах компании даже с медленными каналами передачи данных. При этом сокращаются не только трудозатраты и драгоценное время ИТ-специалистов, но других сотрудников.