Внедрение Корпоративного Linux В Приватбанке



История Внедрение Linux в ПриватБанке началось в 2007 году.

За это время мы прошли большой путь и мне хотелось бы поделиться с сообществом своим опытом внедрения.

На данный момент мы достигли следующих показателей: более 36 500 рабочих мест с ОС Linux в 4 000 филиалах, расположенных в 5 странах.

В 2007 году за основу была взята ASPLinux 11.2. Со временем в качестве альтернативы были выбраны другие дистрибутивы — Fedora, openSUSE, Ubuntu. Позже стала очевидной необходимость создания собственной системы управления дистрибуцией и рабочими станциями.

Разработка началась в январе 2012 года.

За основу была выбрана Ubuntu 12.04 LTS со средой рабочего стола Gnome Classic (без эффекта).

Основные аргументы: Ubuntu — самый распространенный дистрибутив для настольных компьютеров за последние годы; большое сообщество, где легче найти решение возникающих проблем; Google выбрал его в качестве основы для реализации; имеется множество примеров внедрения в государственных и муниципальных учреждениях Германии и Франции.

Выбор системы управления пал на Puppet. Переход начался в июне 2012 года, а к январю 2013 года на корпоративную ОС было переведено уже около 95% ПК.

Такая скорость перехода обусловлена тем, что сотрудники уже имели опыт работы в Linux. Основные задачи, которые были решены благодаря текущей реализации:

  • существенная экономия ресурсов за счет поддержки ОС на рабочих местах сотрудников;
  • поддержание программного обеспечения в актуальном состоянии;
  • возможность быстрого применения критических обновлений (до 1 часа на всех ПК);
  • сбор и анализ статистической информации о парке ПК и периферийных устройств;
  • создание системы превентивного реагирования на сбои (Event Manager).

Ниже приведено более подробное описание компонентов нашей реализации.



I. Установка

Задания:
  • экономия времени;
  • возможность удаленной установки ОС;
  • альтернативные способы установки.

Для установки и настройки ОС необходимо пройти 4 шага:
  1. Скачать Live (4 способа);
  2. Развернуть изображение;
  3. Запускаем приват-настройку (мастер настройки, подключаемся к Puppet);
  4. Настройте периферийные устройства.



Внедрение корпоративного Linux в ПриватБанке

Меню загрузки

Установщик (ЖИВОЙ)
Идеология — это не просто установщик, а инструмент с широким функционалом: диагностика, восстановление данных, очистка жесткого диска и т. д. Также в него входят OpenSSH и x11vnc для удаленного администрирования.

Кроме того, с помощью Live создается эталонный образ системы.

Основой для его создания послужил руководство с офисного ресурса.

Был написан скрипт, который каждый раз создает Live с нуля, добавляет новые пакеты, копирует настройки и некоторые хаки.



Внедрение корпоративного Linux в ПриватБанке

LIVE - графический режим Методы загрузки в реальном времени:

  • по сети - основной метод, при его использовании загрузка происходит по dhcp+tftp+nfs с локального сервера (см.

    ниже);

  • usb-flash — запуском скрипта создаём загрузочную флешку, используем isolinux+grub4dos;
  • cd — дань истории, аналог usb-flash;
  • hdd — загрузка с grub2 для обновления версии ОС — планируется использовать для перехода на 14.04.


Образ системы и его развертывание
Наш «велосипед» создан с помощью sqashfstools со сжатием xz, благодаря чему его объем составляет около 1Гб.

Основное преимущество этого метода в том, что при синхронизации по сети загружается только разница.

При использовании образа, созданного клонезиллой или tar+xz, в процессе обновления образ практически загружался заново (более 90%).

Следует отметить, что ПК должен иметь не менее 800МБ ОЗУ (более старые сейчас редкость), так как хз потребляет много памяти при распаковке и, если памяти меньше, система будет подкачена, и процесс развертывания будет существенно растянут по времени (на 512Мб - около 40 минут).

При развертывании образа выполняются следующие действия:

  • очистка MBR;
  • создание таблицы разделов;
  • создание раздела подкачки;
  • создание и форматирование корневого раздела;
  • распаковка образа squshfs;
  • создание и форматирование домашнего раздела;
  • установить grub + отредактировать fstab.
В среднем на обычном ПК (процессор Intel Atom D525 и выше, 2 ГБ ОЗУ) процесс занимает около 5 минут.

Частная установка
По сути, он заменяет установщик дистрибутива и сделан с помощью debconf. Он запускается после развертывания образа и позволяет настроить уникальные параметры: тип ПК, локализацию, имя хоста, подключает хост к Puppet.

Внедрение корпоративного Linux в ПриватБанке

Подключение к марионетке

II. Локальный сервер

Локальный сервер — ПК филиала, выполняющий функции сервера кэширования и сетевой загрузки.

Это очень важный элемент всей системы.

Без него мы бы перегрузили все каналы трафиком обновлений и не смогли бы скачать Live по сети.

В большинстве случаев это панели, отображающие рекламу, но эту роль может выполнять абсолютно любой ПК, работающий круглосуточно.

Выполняет следующие функции:

  1. apt-cacher (в некоторых случаях экономит до 98% трафика);
  2. синхронизация установочного образа системы со стандартным (каждую ночь);
  3. сервер сетевой загрузки (tftp+nfs);
  4. сервер для синхронизации внутрибанковских обновлений программного обеспечения.

Вы можете в любой момент сделать компьютер локальным сервером с помощью Puppet Manager, просто добавив к нему это свойство.

Как клиенты находят локальный сервер? Для этого используется протокол Avahi. На сервере запущен демон, который рекламирует в сети поддерживаемые им службы, а на клиенте — демон, который периодически опрашивает сеть на наличие служб.

Результат записывается в /etc/hosts. Также дополнительно создан механизм defaultlocalserver — localserver в мидл-офисе, который заменяет отсутствующий в подсети localserver.

Внедрение корпоративного Linux в ПриватБанке

Рабочий локальный сервер

III. Контроль

Кукольный Как уже говорилось, в качестве платформы управления была выбрана Puppet. Основные критерии — простота написания манифестов, большое сообщество, поддержка проекта такими компаниями, как Cisco, Google, Red Hat. Клиенты подключаются к системе управления каждые 30 минут. Они присылают факты, берут задания и после выполнения задания присылают отчет. Особенности куклы:
  • контроль паролей и файлов конфигурации;
  • мониторинг актуальности критических пакетов;
  • инвентаризация ПК и периферийных устройств;
  • мониторинг загрузки ПК;
  • Мониторинг ошибок в работе программного и аппаратного обеспечения.

Менеджер Марионеток На момент реализации у Puppet было 2 фронтенда — бригадир и puppet Dashboard, но оба не могли в полной мере выполнять нужные нам функции: первый — из-за ориентированности на серверы, второй — не имел LDAP-авторизации.

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

Ключевые особенности Puppet Manager:

  • создание конфигураций хоста;
  • анализ фактов и отчетов;
  • группировка ПК по территориальным и функциональным признакам;
  • разделение прав администратора;
  • отображение конфигурации аппаратного и программного обеспечения, подключенных периферийных устройств;
  • графическое отображение загрузки ПК (ЦП, ОЗУ);
  • фильтры
  • Event Manager (анализ отчетов и фактов с последующей их группировкой по уровням и типам).



Внедрение корпоративного Linux в ПриватБанке

Фильтр в Puppet Manager Отдельно хотелось бы отметить нашу последнюю разработку – Event Manager. Идея создания «позаимствована» у систем мониторинга.

Основная задача Event Manager — предоставить системному администратору инструмент для мониторинга состояния удаленного ПК и узнать о проблеме до того, как о ней сообщит пользователь.

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



Внедрение корпоративного Linux в ПриватБанке

Менеджер по корпоративным мероприятиям

IV. Репозиторий + сдвиг времени

В корпоративной сети создано зеркало репозитория Ubuntu. Мы также создали собственный репозиторий (100 пакетов) для внутреннего программного обеспечения и программного обеспечения, недоступного в официальных репозиториях.

Категории:

  • Настройки системы и профиля пользователя;
  • Внутреннее специализированное программное обеспечение;
  • Прикладное программное обеспечение – программное обеспечение для POS-терминалов;
  • Драйвера для Wi-Fi, веб-камер, МФУ;
  • Программное обеспечение, не входящее в официальный репозиторий — Chrome.
Необходимость создать то, что описано ниже, появилась через 3 месяца использования корпоративной ОС.

Вышло очередное обновление ядра (3.2.0-28) и на ПК с видеокартами ATI после «засыпания» монитор не включался и т.п.

Решением для устранения подобных ситуаций стало создание Time-Shift. Time-Shift — дополнительная «заморозка» репозитория на 2 недели (аналог системы заморозки в linux mint debian edition).

Фактически у нас теперь есть 3 репозитория:

  • current — текущая Ubuntu;
  • тестирование — тестирование обновлений в течение 2 недель на 1% ПК;
  • стабильная - стабильная версия для остальных 99%.

Используя Time-Shift, мне удалось несколько раз закрепить версии пакета.

Например, вышло обновление ядра (3.2.0-38), в котором «отваливалось» видео на Intel Sandy Bridge.

Внедрение корпоративного Linux в ПриватБанке

Как работает сдвиг времени

Нижняя граница

Если будет интерес к вышеизложенному, напишем серию статей, в которых более подробно будет описана реализация компонентов системы, организационные вопросы, использование программ Windows, замена TeamViewer, авторизация в ldap при использовании eap-ttls, оптимизация Puppet при больших нагрузках правильная загрузочная флешка, работа драйверов на периферию, Wi-Fi и т.д. Руководитель группы разработки и поддержки корпоративных ОС - Коваль Богдан Теги: #linux #*nix #настройка Linux #puppet #ubuntu #ПриватБанк
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.