Каковы недостатки клонирования по сравнению с установкой по сценарию (с использованием Kick-start / Puppet)?
Я читал много профессиональных сценариев установки, в которых клонирование считается ненадежным методом из-за постоянно меняющейся аппаратуры.
В моем случае оборудование довольно унифицировано, поскольку мы используем одного и того же поставщика, и даже если оно изменится, попытка адаптировать настройки клонированного изображения (я использую SystemImager) не была очень сложной.
Кроме того, он намного быстрее и занимает около 5 минут против 20-30 при установке по сценарию (конечно, без локального зеркала) и может захватывать второстепенные биты, которые довольно сложно выполнить сценарием (например, защита MySQL DB).
Но все же клонирование получает много шума из того, что я читал, поэтому может ли кто-нибудь поделиться своим мнением и опытом по этому поводу, и стоит ли мне изменить нашу инфраструктуру развертывания на установку сценария?
Заранее спасибо!
Клонирование и кикстарт работают ... один раз. Они не являются решением для постоянного обслуживания ваших систем. Если вы не развертываете весь сервер каждый раз, когда вам нужно обновить сценарий или применить исправление.
Например, на днях у меня возникла проблема с тайм-аутом SSH. Добавление некоторых параметров в sshd_config устранило проблему. Я отредактировал свой стандартный файл sshd_config в моем репозитории марионеток, и это позаботилось о том, чтобы вытолкнуть обновленный файл и перезапустить SSH на каждом сервере. Кроме того, любой новый сервер, который я настраиваю, получит эту обновленную конфигурацию.
Если бы я использовал только клонирование всей системы, я мог бы редактировать sshd_config на главном образе, но тогда у меня не было бы простого способа обновить существующие файлы конфигурации на всех моих серверах.
Еще одно большое преимущество чего-то вроде марионетки - большая модульность. У вас может быть образ «apache» или образ «mysql», но что делать, если вам нужен сервер с apache И mysql? Это становится только хуже, чем больше комбинаций сервисов вам придется развернуть.
с моей конфигурацией марионетки это простой вопрос
include apache
include mysql::server
include ...
Наконец, еще одно преимущество марионетки - это действительно документирование настройки ваших серверов. Хотите знать, какие пакеты установлены или какие файлы изменены? Просто прочтите конфигурацию марионетки. Если вы используете эталонные изображения, вы постоянно пытаетесь синхронизировать документацию с изображением.
«Глобальные уникальные» идентификаторы - используются для всех видов вещей, на всех типах платформ (MSWindows COM, * nix, реплицированная база данных), часто включают в себя nic, mac-адреса как часть обеспечения «уникальности» в сети. Клонирование - которое может игнорировать это, дублирование - может привести к тому, что распределенные сетевые системы внезапно будут вести себя странным, недетерминированным образом (также известные как условия гонки - какой процесс получит сообщение первым). Осторожно!