Managing thousands of servers at OK.RU

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

Transcript of Managing thousands of servers at OK.RU

Page 1: Managing thousands of servers at OK.RU

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

серверов в

Page 2: Managing thousands of servers at OK.RU

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

Page 3: Managing thousands of servers at OK.RU

wwwmobile xmpp

api

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

Page 4: Managing thousands of servers at OK.RU

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

Page 5: Managing thousands of servers at OK.RU

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

Page 6: Managing thousands of servers at OK.RU

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

Page 7: Managing thousands of servers at OK.RU
Page 8: Managing thousands of servers at OK.RU

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

5000 серверов350 м

Page 9: Managing thousands of servers at OK.RU

Управление

Page 10: Managing thousands of servers at OK.RU

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

Монтаж

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

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

Ввод в работу

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

Page 11: Managing thousands of servers at OK.RU

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

Page 12: Managing thousands of servers at OK.RU

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

Page 13: Managing thousands of servers at OK.RU

Развитие CMDB

+ + +

Page 14: Managing thousands of servers at OK.RU

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

Page 15: Managing thousands of servers at OK.RU

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

Page 16: Managing thousands of servers at OK.RU

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

Монтаж

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

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

Ввод в работу

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

Page 17: Managing thousands of servers at OK.RU

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

Page 18: Managing thousands of servers at OK.RU

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

Монтаж

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

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

Ввод в работу

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

Page 19: Managing thousands of servers at OK.RU

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

Page 20: Managing thousands of servers at OK.RU

DSSH

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

MultiSSH

Page 21: Managing thousands of servers at OK.RU

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

Page 22: Managing thousands of servers at OK.RU

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

Page 23: Managing thousands of servers at OK.RU

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

Page 24: Managing thousands of servers at OK.RU

ВерсииCommunity edition (Core)

open source (GPL3)

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

Page 25: Managing thousands of servers at OK.RU

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

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

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

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

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

Page 26: Managing thousands of servers at OK.RU

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

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

только pull

Page 27: Managing thousands of servers at OK.RU

Политики

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

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

splaytime = 4

Page 28: Managing thousands of servers at OK.RU

Git mirror

Page 29: Managing thousands of servers at OK.RU

Hub fail

Page 30: Managing thousands of servers at OK.RU

Hub fail

Page 31: Managing thousands of servers at OK.RU

Master fail

Page 32: Managing thousands of servers at OK.RU

Master fail

Page 33: Managing thousands of servers at OK.RU

Мониторинг

INSERT SELECT

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

INSERT

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

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

Page 34: Managing thousands of servers at OK.RU
Page 35: Managing thousands of servers at OK.RU

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

Монтаж

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

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

Ввод в работу

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

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

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

Page 36: Managing thousands of servers at OK.RU

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

Page 37: Managing thousands of servers at OK.RU

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

Page 38: Managing thousands of servers at OK.RU

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

О д н о к л а с с н и к и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