Как мы поднимали IT-инфраструктуру [со дна]
Всем здравствуйте!
Спустя ровно год после написания статьи «Опыт работы эникейщиком/системным администратором в бюджетной организации» и 2,5 лет после написании моим зам. директора подразделения статьи «Реанимация ИТ инфраструктуры» я хотел бы продолжить данный рассказ.
Помню, в одном из комментариев я встретил фразу:
Поэтому всё же посоветую обоим хабраюзерам из этой помойки собраться с духом и свалить — ничего вы в этом болоте не разгребёте и ещё через два года, а сидеть страдать фигней за 12 тысяч — это очень идиотский способ убить время.
Но, как ни странно, из того, что мы делали все-таки что-то получилось, и я хотел бы рассказать как далеко мы зашли:
- создан домен Active Directory Domain Services с автоматическим управлением учетными записями и подразделениями (OU);
- внедрен Office 365;
- развернут Spacewalk (ПО для управления *nix операционными системами);
- создан HA MySQL Server master-master (Active-Passive);
- развернута хостинг-панель Ajenti;
- настроен SSL доступ к веб-ресурсам компании;
- мигрирован VMware vCenter с 4.0 на 5.1U3;
- внедрен ESET NOD32 Business Edition ver. 5;
- внедрена авторизации в сети на базе МСЭ Cisco ASA 5525-X NGFW c CDA;
- разрешены проблемы с кондиционированием в серверной.
За прошедший год мы с новым коллегой (astrike — у него Read-only аккаунт, поэтому статью пишем вместе), о котором была речь в прошлой статье, разграничили зоны компетенций и стали приводить ИТ инфраструктуру к приличному виду. Он занимается написанием скриптов автоматизации (в т.ч. и на PowerShell), настройкой синхронизаций, разверткой и поддержкой *nix серверов и всего, что с ними связано. Я же занимаюсь продуктами Microsoft Windows, MS SQL, Office 365, виртуализацией и сетями передачи данных (Ethernet, SAN).
Активное сетевое оборудование Cisco:
- core: Catalyst 6509;
- access: Catalyst 35XX;
- WLAN — controller: 4404 и 50 AP.
До всех коммутационных идет 1G оптоволоконный кабель, который, в лучшем случае, подключен к каждому коммутатору в стойке, в худшем — к половине коммутаторов в стойке (оставшиеся коммутаторы подключены каскадно).
Серверная инфраструктура:
- две 42U стойки с 11 серверами Sun Fire X4170M2, объединенных в кластер ESXi;
- СХД Hitachi AMS 2100;
- 2 рядных кондиционера APC InRow (без резервирования), выносные блоки которых в жару охлаждаются проточной водой из садовых распылителей.
Основной задачей на момент внедрения была автоматизация жизненного цикла электронной почтовой службы. Для этих целей мы воспользовались уже частично развернутым на предприятии программным продуктом Office 365. Сотрудники стали пользоваться корпоративной почтой, при чем достаточно много и часто (особенно, после подписания приказа о корпоративной почтовой системе).
Совместно с нашим 1С-ником мы настроили автоматическое создание учетных записей в AD. Данный процесс мы организовали следующим образом:
- сервер 1С выгружает данные о работниках и структуре организации (OU) в файл с определенной структурой.
- скрипт на PowerShell забирает данные и формирует файл с патчем (разницей между текущим состоянием AD и выгрузкой из 1C). Сводка из этого патча рассылается заинтересованным лицам (действия, затрагивающие некоторые руководящие должности, требуют ручного подтверждения). Затем ночью патч применяется: создаются новые и обновляются существующие OU; добавляются, актуализируются, активируются и деактивируются учетные записи (естественно, по подразделениям). Такой подход гарантируют, что случайно не будут (например, при ошибке в 1C) деактивированы все учетные записи (отдельная проверка на количество изменений в патче) или учетные записи руководящих должностей и системных администраторов;
- после заведения локальных учетной записи DirSync синхронизирует (вообще, он синхронизируется раз в полчаса) локальный AD с облачным Azure AD (AAD);
- затем скрипт лицензирует и настраивает параметры учетных записей в облачном AAD в зависимости от их групповой принадлежности.
- теперь пользователю требуется получить пароль от своей учетной записи. Для автоматизации выдачи паролей был написан специальный PowerShell скрипт и добавлен пункт меню «Распечатать новый пароль» в AD. При нажатии на него автоматически распечатывается пароль пользователя и инструкция по использованию информационных служб на принтере «по умолчанию» для данного пользователя (рисунок ниже). После печати все файлы удаляются.
В настоящее время продолжается процесс ввода ПК в домен. На текущий момент в домене уже более 150 ПК под управлением OC Windows 8.1. В дальнейшим планируется развернуть Windows 10 на всех ПК компании.Для именования ПК мы используем наклейки с шаблонным идентификатором компьютера (например, COMP-00045), которые клеим на ПК и регистрируем в домене.
В связи с наличием зоопарка *nix серверов, некоторые из которых уже вышли из поддержки (например, Ubuntu 10.04), а другие просто подпорчены, например, сборками пакетов через make install, было решено создать свой «золотой образ», на основе которого разворачивались бы новые *nix сервера. Мы решили, что для наших целей лучше всего подходит дистрибутив CentOS, так как у него есть большое количество структурированных мануалов, срок поддержки, а также достаточно консервативная политика. Для администрирования этих серверов было решено использовать Spacewalk. Spacewalk — это система управления *nix операционными с системами с поддержкой проксирования репозиториев (как WSUS на Windows), управления конфигурационные файлами, установленными пакетами и возможностью выполнения комманд на подключенных серверах.
В итоге, в VMware vSphere был создан шаблон (template) со скриптом, который вводит сервер в домен (для DNS и авторизации), настраивает конфигурацию сети и пользователей. Таким образом разворачивание новой системы свелось к следующему:
- создания виртуальной машины из шаблона в VMware vSphere;
- подключения к этой виртуальной машинке и запуск скрипта развертки (на bash), который назначает системе IP (на выбор статический или DHCP) и другие другие параметры (в т.ч. hostname), вводит сервер в домен AD, подключает сервер к Spacewalk, который сразу же устанавливает необходимые пакеты и разворачивает конфигурационные файлы;
Таким образом, получается новый *nix сервер с доменными политиками доступа (вход до доменной учетной записи), автоматическим обновлением Errata, настроенным мониторингом Zabbix, центрально-управляемыми репозиториями и конфигурационными файлами (Spacewalk).
Благодаря унификации дистрибутива сильно упростилось администрирование серверов (одинаковые команды, расположение конфигурационных файлов, единые репозитории и пакеты). А благодаря централизованный системе управления ОС Spacewalk конфигурационные файлы не теряются (и есть возможность обновления конфигурационных файлов сразу на всех серверах с подстановкой переменных), всегда видно какие сервера требуют обновления, а критические обновления автоматически устанавливаются.
В настоящее время осуществляются работы по переносу приложений (в основном, веб-приложений) на новые сервера и по разворачиванию новых сервисов.
Для непрерывной работы практически любого приложения требуется бесперебойная работа БД. А так как большинство существующих в компании приложений используют MySQL, то был развернут MySQL сервер (не MariaDB, так как в момент разворачивания у неё была какая-то ошибка, о который мне сообщил наш разработчик).
Непрерывность работы БД обеспечивается master-master репликацией по стратегии Active-Passive (балансировка нагрузки пока не актуальна), т.е. один сервер всегда является основным (Active), но при его падении (или падении MySQL сервера на нем) все запросы переходят на Passive сервер. При поднятии Active сервера все запросы снова переходят на него.
Такое переключение (failover) достигается благодаря использованию виртуального IP (VIP), которое обеспечивает демон keepalived. Использование данной технологии позволяет (в отличии от proxy-серверов) ограничивать доступ к схемам по IP и не создает лишнего хопа, следовательно и лишней задержки.
Из основных настроек БД, на мой взгляд, осталась только настройка LDAP авторизации. Конечно, можно и SSL настроить, но это уже после разворачивания центра сертификации (CA).
Так же за прошедший год мы смогли мигрировать кластер VMware vSphere с более чем 100 рабочими виртуальными машинами и настроить функции HA, DRS, SDRS и DPM, а на все гостевые операционные системы было установлено ПО VMware Tools, что позволило использовать виртуальную инфраструктуру на полную мощность.
В дальнейшем была настроена система бекапов с использованием средств Veeam Backup and Replication, которые на данный момент развернуты в триальном режиме, но уже настроены такие функции как автоматическая проверка бекапов в виртуальной лаборатории, служба VSS для Windows приложений. Как показала практика бекапы копии VM консистенты и стартует без проблем (тьфу, тьфу).
Так теперь выглядит процентное соотношение вирутальных машин в нашем кластрере. До конца года мы планируем полностью вывести из эксплуатации Windows Server 2003, а так же заменить старые Debian и Ubuntu на CentOS 7.
Для защиты рабочих станции мы используем антивирус ESET. За несколько лет эксплуатации достаточно хорошо себя зарекомендовал, а самое главное, что у него есть за хорошее централизованное управление на компьютерах вне домена. Мы развернули версию 5, так как примерно 400 компьютеров обращаются к managment-серверу ERA без установленных агентов (как это надо в версии 6), а для их установки желательно иметь домен для установки на них агентов ESET.
Мы создали в серверной холодные и горячие коридоры с минимальными затратами: стойки были накрыты монолитным поликарбонатом, а с помощью направляющих были сделаны двери для входа в коридоры.
В результате температура в серверной понизилась до 18 градусов в холодном и до 23 — в горячем, а также на 40% снизилась нагрузка на кондиционеры.
Для ограничения доступа в интернет сейчас развертываем систему авторизации в сети на базе Cisco ASA 5525-X и CDA сервера. Но пока все это в процессе. Конечно, хотелось бы сделать это с использованием IEEE 802.1X для всех устройств в сети, но как получится в итоге — неизвестно.
Как ни странно, но за этот год мы с другом смогли реализовать достаточно много крупных и интересных проектов, попутно закончив Университет. Сейчас идет процесс причесывания различных вещей, а так же написание регламентов и приказов по использованию сети, домена и т.д.
После этого останется выбрать и внедрить решения для организации HelpDesk`a, а так же развернуть некоторые продукты из линейки System Center Configuration Manager, Operations Manager и, возможно, Service Manager. Тогда почти все проблемы будут решены, кроме отсутствия крупных финансовых вливаний в ИТ-департамент, которые влекут за собой отсутствие денег на модернизацию серверов, коммутаторов и т.д, и повышение зарплат, но это уже совсем другая история…
Если вам будет интересно, то мы можем более подробно описать свой опыт внедрения для любых из вышеописанных программных продуктов, где уже будут конкретные технические подробности.