![Клонирование удаленного виртуального сервера](https://rvso.com/image/1114414/%D0%9A%D0%BB%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0.png)
Я арендовал виртуальный сервер под управлением Ubuntu. Чтобы протестировать изменения в моей конфигурации, я хотел бы иметь возможность опробовать их на локальной машине. Так что, по сути, я хотел бы создать клон виртуального сервера (мне все равно, будет ли этот клон работать как физический сервер или виртуализирован на локальной машине) и либо отслеживать любые изменения, чтобы получить какой-то скрипт или плейбук для их воссоздания на удаленной системе, либо автоматически публиковать эти изменения.
На удаленной системе у меня есть ssh, а целевая система — моя с физическим доступом, поэтому никаких ограничений локально быть не должно.
Поскольку пропускная способность сети ограничена, мне бы хотелось максимально уменьшить объем копируемых файлов.
К чему это сводится:
- Какие файлы или каталоги необходимы для репликации удаленной машины?
- Какой лучший способ передачи данных? (заархивировать все с помощью tar и scp?)
- Есть ли способ создать сценарий или книгу игр?
решение1
Вы можете использовать dd через SSH.
dd создает буквальную копию всего, на что вы указываете, и помещает ее в файл в указанном вами месте назначения.
Вот статья с подробностями:
http://karlherrick.com/dev/2008/09/12/dd-backups-over-ssh/
Время, необходимое для копирования образа диска, вероятно, будет значительно меньше, чем время, которое вам пришлось бы потратить на выяснение того, какие файлы необходимо скопировать, и вы можете заархивировать файл с помощью tar/gzip, если хотите сократить накладные расходы на передачу.