Большая книга рецептов или часто задаваемые вопросы...

Preview:

Citation preview

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

Титов Александр, Игорь КурочкинSkype

• Один сервер - ручное администрирование• 5 серверов - набор скриптов, спагетти из shell кода

• 20 серверов - ?

Эволюция

• Начинают возникать проблемы из-за разницы конфигураций

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

• Надо управлять не отдельной машиной, а кластером

Больше 20 машин - большая система

• Суперкомпьютеры• Google

• Facebook

• Amazon

Чужой опыт

Своя платформа?

• система автоматической установки машин (IaaS)

• система управления конфигурацией (PaaS)

• абстрактные сервисы - мониторинг, бэкапы (SaaS)

• абстрактное управление

• Поддержка CentOS, RHEL, Debian, Ubuntu

• Физические и виртуальные машины• Удобные инструменты - CLI, Web, API

• Передача сервера в Chef

Cobbler. Автоматическая установка машин

Chef. Управление конфигурацией

• Ohai (база данных о хостах)

• Cookbooks

• Roles

• Environments

Chef. Поиск

• Zabbix API

• Hosts, Groups, Templates

• Applications (Items, Triggers, Graphs)

Мониторинг

• Конфигурация в Chef

• Бэкапим статику, БД и репозитории

• Автоматизируем

Бэкапы

• LVM

• Firewall

• Accounts

• Repos

Лего

• создание разделов и директорий• создание пользователей и групп• поиск других хостов• установка пакетов, создание конфигов и стартовых скриптов

• открытие портов, добавление проверок и задач для бэкапа• настройка системы деплоя

Cервис

• Система контроля версий• Самодокументирование• Общий стиль, подход, правила

Chef как средство командной работы

Knife. Абстрактное управление• knife search node 'role:mysql' -r

• knife ssh "role:ruby" "sudo /etc/init.d/nginx-passenger status"

• knife ssh "role:ruby" interactive

• knife ssh "role:ruby" tmux

• knife ec2 server create -r "role[ruby]"

• knife exec -E 'nodes.all {|n| puts "#{n.name} has #{n.memory.total} free memory"}'

Полезные ссылки• http://wiki.opscode.com/display/chef/Home

• http://jtimberman.posterous.com/

• http://vagrantup.com/

• https://github.com/jedi4ever/veewee

• http://blog.frameos.org/

• http://blog.cyclecomputing.com/

• http://www.jedi.be/blog/

Вопросы?контакты:

mail: titoff.a@gmail.com, igor.itl@gmail.comtwitter: @osminog, @ igoritl

Recommended