Managing thousands of servers at OK.RU

Post on 15-Apr-2017

160 views 0 download

Transcript of Managing thousands of servers at OK.RU

Управление тысячами

серверов в

Знакомство с проектом

wwwmobile xmpp

api

Одноклассники

Немного статистики200 M зарегистрированных пользователей40 M уникальных пользователей в день6 M одновременно на сайте240 Гбит/с трафикаболее 1 ПБ данных

Команда100 разработчиков и тестировщиков25 системных администраторов и инженеров8 специалистов по мониторингудизайнеры, менеджеры, правление и др.

Инфраструктура4 центра обработки данных150 км оптических линийболее 5000 серверов (95% Linux)

Эйфелева башня300 м

5000 серверов350 м

Управление

ЭтапыПланирование

Монтаж

Развертывание

Конфигурация

Ввод в работу

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

Планированиевыбор центра обработки данныхпланирование размещения в стойкепланирование сетевой инфраструктурыназначение имени и IP-адресазанесение информации в CMDB

CMDBБаза данных управления конфигурацией(configuration management database, CMDB) — репозиторий всех компонентов информационной системы. CMDB помогает понять взаимосвязи между этими компонентами и отслеживать их конфигурации. CMDB — основной компонент процесса управления конфигурацией.

Развитие CMDB

+ + +

CMDB в Одноклассникахавтоматическое планированиеавтоматическая проверка оборудованиясвязи между объектамиинтеграция со всеми системамижурнализация измененийотчеты

Интеграция с CMDBDNSфинансовые системысистема развертываниясистемы мониторинга (Zabbix, Cacti)системы бизнес-анализа и статистикисистемы конфигурации и управления порталомсистема предоставления доступа

ЭтапыПланирование

Монтаж

Развертывание

Конфигурация

Ввод в работу

Развертывание

РазвертываниеClonezillaвыделенный VLANинтеграция с CMDBавтоматическое определение MAC адресаавтоматический перевод в рабочий VLAN

ЭтапыПланирование

Монтаж

Развертывание

Конфигурация

Ввод в работу

Конфигурация

Управление конфигурациейлокальное управлениеудаленное управлениеудаленное выполнение командцентрализованное управление

DSSH

Централизованноеуправление

MultiSSH

Централизованное управление

Требованияинтеграция с CMDBконтроль и журнализация изменениймасштабирование и резервированиемониторинг и отчетыразделение доступа

Почему ?производительностьмасштабируемостьбезопасностьгибкостьпопулярность

ВерсииCommunity edition (Core)

open source (GPL3)

Enterprise edition (Nova)коммерческая поддержкавеб-интерфейс (отчеты, мониторинг и др.)

Компонентыcf-agent выполняет политики

cf-execd запускает агента по расписанию

cf-monitord собирает статистическую информацию

cf-serverd обслуживает сетевые соединения

cf-runagent вызывает агента на удаленных хостах

Клиент – серверсвой протокол 5308/tcp

аутентификацияавторизацияшифрованиепередача файлов

только pull

Политики

git репозиторий на HUBкаждые 5 минут:

git pullкопирование политик

splaytime = 4

Git mirror

Hub fail

Hub fail

Master fail

Master fail

Мониторинг

INSERT SELECT

MySQL на HUBкаждые 5 минут:

INSERT

каждую минуту:SELECT

раз в сутки чистка

ИтогиПланирование

Монтаж

Развертывание

Конфигурация

Ввод в работу

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

Развертывание

Конфигурация

Дополнительная информацияБлог компании Одноклассникиhttp://habrahabr.ru/company/odnoklassniki/CFEnginehttp://cfengine.com/Chefhttp://www.opscode.com/chef/Puppet Labshttp://puppetlabs.com/

Спасибо за внимание!

Алексей Чудовв е д у щ и й с и с т е м н ы й а д м и н и с т р а т о р ,

О д н о к л а с с н и к иa l e k s e y. c h u d o v @ o d n o k l a s s n i k i . r u