Сегодня занимался предрелизным тестированием нашего ПО и очень нужна был конструкция из трех отдельных серверов с запущенными MySQL’ями. После коротких раздумий я пришел к выводу, что проще всего будет использовать мою “старую” рабочую машину (на самом деле, это неплохой Sempron с 2Gb RAM, но сейчас я использую мой macbook в качечтве рабочей станции) и поставить на нее 3 отдельных виртуальных сервера. Конечно, как все админы, я ленивый и потому ставить Debian 3 раза подряд мне не показалось правильным решением ;-). Потому было принято решение создать одну машину, поставить на нее свежий Debian Etch и потом поискать варианты клонирования этой машины чтобы исаользовать ее в 3-х копиях. Когда все было закончено, я решил потратить сэкономленное время на то, чтобы написать эту небольшую заметку и рассказать, как простыми средствами создать клом машины в VmWare Server.

Во-первых, нам нужно найти, где именно располагаются файлы виртуальных машин в нашей системе. После недолгих поисков они были обнаружены в каталоге /var/lib/vmware/Virtual Machines. Для каждой из уже созданных в системе машин там находится один каталог, имя которого совпадает с именем машины. В моем случае я хотел склонировать машину db1 в db2 и, позже, в db3.

Я скопировал каталог db1 со всеми файлами в отдельный каталог:

scoundrel@scoundrel-desktop:/var/lib/vmware/Virtual Machines$ cp -ax db1 db2

Следующим шагом было переименования файлов дисковых образов (возможно, этот шаг был не обязательным, но я решил, что так будет правильнее). Для управления файлами дисковых образов vmware вы можете использовать утилиту vmware-diskmanager которая расположена в каталоге скриптов vmware (в моем случае - /vmware/bin):

scoundrel@scoundrel-desktop:/var/lib/vmware/Virtual Machines/db2$ /vmware/bin/vmware-vdiskmanager -n db1.vmdk db2.vmdk

Следующим (и, на самом деле, последним) шагом было переименование конфигурафионного файла виртуальной машины и смена имени дискового образа в этом файле:

scoundrel@scoundrel-desktop:/var/lib/vmware/Virtual Machines/db2$ mv db1 db2
scoundrel@scoundrel-desktop:/var/lib/vmware/Virtual Machines/db2$ sed -i 's/db1.vmdk/db2.vmdk/' db2

Вот и все! Теперь мы можем запустить созданную машину с помощью VMware server console, она спросит нас о смене UUID (который совпадает с MAC-адресом машины) и после смены uuid эта машина сможет получить новый IP адрес от dhcp-сервера (в моем случае - от wifi-роутера). Как всегда, процесс настройки всей этой конструкции оказался простым и интерсным. Оставайтесь на связи и в следующей заметке я расскажу вам почему не стоит использовать конфиг-файл MySQL (my.cnf) для настройки репликации между серверами.