Мы изучаем возможность использования инструмента управления конфигурацией (например, Salt или Puppet) для автоматизации того, что в настоящее время представляет собой большую ручную работу. Одно из требований состоит в том, что мы должны распространять на наши серверы довольно большие файлы / каталоги (в сумме около 400 ГБ). В будущем мы планируем обновлять эти файлы не реже одного раза в месяц, может быть, еженедельно, поэтому было бы неплохо, если бы процесс можно было полностью автоматизировать.
При поиске в Интернете кажется, что обычные инструменты CM не предназначены для работы с большими файлами. Знаете ли вы какой-нибудь инструмент CM, который хорошо справляется с этой задачей? А если нет, то каковы другие общие решения проблемы?
Спасибо!
Изменить, чтобы уточнить:
Мы хотим использовать CM-инструмент для многих других целей, а не только для копирования файлов. Поэтому я искал инструмент, который хорошо справился бы с обеими задачами.
Инструмент управления конфигурацией не подходит для такого рода задач.
Хотя все / большинство инструментов в этом домене смогут управлять синхронизацией файлов, не стоит прилагать усилия для реализации инструмента управления конфигурацией только для этого. В целом рекомендуется использовать инструмент управления конфигурацией, но не обязательно для синхронизации файлов.
Например, глядя на Модуль синхронизации Ansible это просто обертка вокруг rsync
. Небольшой сценарий bash вокруг rsync
вот что я бы использовал для такой задачи.
Вы можете использовать инструменты CM для хранения инструкций по настройке и хранения данных отдельно. Инструкции извлекут файлы данных из другого места, развернут и настроят. Данные могут храниться и управляться в файловой системе или с использованием диспетчера репозитория артефактов, например Nexus OSS или Artifactory.
Большинство инструментов контроля версий (VCS, например; git) плохо обрабатывают двоичные артефакты. Они не могут эффективно вычислять пригодные для использования дельты и в конечном итоге хранят полные копии двоичных файлов даже для незначительных изменений (например, метка времени в MANIFEST.MF файла war). Они могут дедуплицировать, если идентичные копии хранятся в нескольких местах в файле файловая система. Чтобы добиться большего, нужны дополнительные знания о внутреннем устройстве двоичного файла.