Как-то раз мне пришлось собирать несколько серверов виртуализации, и на них надо было установить порядка 500 машин, каждая из которых должна была быть клонирована.
Самые разношёрстные машины. Некоторые из них жили на Windows, а некоторые на Linux. Машины достаточно самостоятельные. В них уже установлены клиенты, которые занимались подключением и настройкой ОС, но сами ОС необходимо было доустанавливать.И если с Linux у нас всё ещё более-менее просто — rsync и grub, и всё готово, то Windows не настолько “переносимая” ОС (меня ждало создание sysprep образ и клонирование именно его).
Мне не хотелось устанавливать различные инструменты, такие как Puppet или Ansible. Более того, диски различных машин имели разный размер. К сожалению, надо было именно клонировать, а не просто копировать образы qcow дисков.
В итоге, просидев несколько дней над достаточно разрозненной документацией старого, надёжного и проверенного временем инструмента, я нашёл способ легко и безболезненно, а главное — автоматически, клонировать ОС.
Более того, в сети не пришлось устанавливать и настраивать никакие инструменты. Единственное, что мне потребовалось — это SSH сервер, на который были сложены образы ОС.
Итак, под кат.