image

В последние недели специалистам нашей техподдержки поступает много обращений с просьбой помочь перенести данные, размещённые на виртуальном выделенном сервере (VDS) другого хостинга. Особенно число таких запросов выросло после появления новости о закрытии с 25 декабря 2023 года проекта CloudLITE.

В целом, необходимость перенести свой виртуальный сервер возникает довольно часто. Это может быть связано с желанием повысить производительность, уровень обслуживания или с изменением потребностей бизнеса. Как правило, для владельцев онлайн-проектов перенос VDS с одного хостинга на другой выглядит как вызов.

В статье мы подробно расскажем, как перенести VDS на операционной системе Windows или Linux.

Перенос Windows-сервера


Для переноса виртуального сервера на другой хостинг удобнее всего следующая схема: владелец виртуалки создаёт образ системы на старом хостинге, заказывает сервер на новом хостинге, передаёт созданный образ специалистам технической поддержки нового хостинга, и те воспроизводят новый сервер, используя образа старого. При таком подходе виртуальный сервер будет в точности воссоздан на новом месте. И здесь важно заказать конечный VDS с характеристиками, по крайней мере не уступающими конфигурации исходного сервера. Во всяком случае объём жёсткого диска виртуалки на новом хостинге не должен быть меньше, чем на старом, чтобы можно было перенести туда перемещаемые данные.

Для создания образа Windows-системы хорошо подходит Disk2vhd. Это бесплатная утилита, которая предназначена для создания образа диска в формате, позволяющем использовать его в виртуальных средах Microsoft Hyper-V или Microsoft Virtual PC. В своей работе Disk2vhd применяет механизм снапшотов, что делает возможным создание копии системы без необходимости производить её остановку, то есть прямо «на ходу». Утилита делает моментальный снимок раздела, после чего экспортирует его в файл в формате VHD/VHDX. Полученный файл можно будет подключить к виртуальной среде и в конечном итоге воссоздать из него копию сервера со всеми данными.

В простейшем примере мы подключили к нашей виртуальной машине сетевой диск, расположенный на другом VDS и, может, даже на другом хостинге, но с таким расчётом, чтобы на расшаренный ресурс поместился образ диска C:\ исходного сервера. Объём нашего диска C:\ составляет 30 ГБ, свободного места на подключённой шаре — почти 40 ГБ, то есть должно хватить.

image

Теперь скачиваем дистрибутив, распаковываем загруженный архив Disk2vhd.zip, после чего запускаем исполняемый файл disk2vhd64.exe (установки в системе данное приложение не требует). В интерфейсе утилиты указываем, куда нужно будет скопировать создаваемый образ (у нас это сетевой диск Z:\), устанавливаем галочку Use Volume Shadow Copy, в основном окне отмечаем галочкой диск C:\ и том, зарезервированный системой, потом нажимаем Create.

image

Дальше ждём какое-то время, чтобы сформировался файл образа, и после того как утилита завершит данный процесс, обнаруживаем его, как это и предполагалось, на сетевой шаре.

image

После чего останется заказать VDS на новом хостинге и через форму обратной связи связаться с техподдержкой, попросив на заказанной виртуалке восстановить систему из созданного образа. При этом следует учитывать, что специалистам технической поддержки нужно будет пояснить, как они могут получить от вас файл образа. Либо вы предоставляете им доступ к этому расшаренному ресурсу, либо заливаете образ на какой-то файлообменник или ftp-сервер. В общем, тут есть варианты, и выбор способа передачи файла такого объёма за вами.

Когда техподдержка получит доступ к образу и восстановит его на новом месте, то естественно, о завершении работ сообщит, чтобы можно было убедиться в результате проделанной процедуры.

Здесь следует уточнить, что по большому счёту использование утилиты Disk2vhd, или её аналогов, вовсе не является обязательным. Хостеры, как правило, адекватно относятся к желанию своих клиентов перенести куда-либо виртуалку или сделать её копию, поэтому почти всегда есть возможность запросить у хостинга образ VDS для дальнейшего восстановления его на новом месте. Единственное условие заключается в том, что на RUVDS можно воссоздать сервер только из образа в формате VHD/VHDX.

Перенос данных на Linux


Для комфортного переноса данных с одного VDS на другой при условии, что это Linux-серверы, можно использовать ispmanager. Это панель управления с большим набором функций, где при помощи веб-интерфейса можно управлять доменами, базами данных, почтовыми ящиками, учётными записями и много чем ещё, присущим полноценному веб-ресурсу. Кстати, до 31 декабря 2023 года RUVDS дарит панель ispmanager 6 lite при заказе сервера на Linux.

▍ Если на обоих серверах есть ispmanager


Итак, в случае, когда и на старом, и на новом серверах присутствует ispmanager, перенос данных будет выглядеть следующим образом. На новом сервере в панели переходим в АдминистрированиеИмпорт пользователя и в разделе Тип источника выбираем из панели ISPmanager 5, ISPmanager 6 (через rsync). Здесь нужно указать данные VDS, с которого осуществляется перенос — URL-адрес его панели ispmanager, порт для подключения по SSH, логин администратора, а также его пароль либо ключ SSH.

image

В следующем окне активируем пользователей, которых необходимо импортировать, и обязательно ставим галочку в строке Включать доступ к shell автоматически. Жмём Далее.

image

В результате панель выведет отчёт о проделанной работе, там жмём Завершить.

image

При помощи панели ispmanager можно перенести на новый сервер сразу несколько сайтов. Для этого переходим в АдминистрированиеИмпорт пользователя и устанавливаем Тип источника из панели управления ISPmanager 5, ISPmanager 6 (через backup). Далее прописываем URL панели управления на старом сервере, имя и пароль учётной записи, а также указываем пользователей, подлежащих переносу.

image

После чего нажатием кнопки Импортировать запускаем отправку формы, по окончании которой все сайты окажутся на новом сервере.

Всё это выглядит легко и непринуждённо, когда к обеим виртуалкам прикручена панель управления.

▍ Если на старом сервере нет ispmanager


Порядок действий будет немного другой, но тоже ничего сложного. На новом хостинге создаём VDS с панелью, подключаемся к ней и переходим в СайтыСоздать сайт. Заполняем необходимые поля, жмём Оk. Обратите внимание, что дефолтная учётка владельца сайта называется www-root. Если планируете использовать другого пользователя, его нужно запомнить.

image

Созданный сайт должен появится в общем списке.

image

После этого подключаемся к серверу на новом хостинге по SSH, регистрируемся в системе под учётной записью суперпользователя при помощи команды su и запускаем на выполнение следующую команду, которая скопирует домашнюю директорию сайта со старого VDS на новый:

rsync -avP root@IP_old_server:/your_site/root_dir/old/ /your_site/root_dir/new/

Здесь:

  • IP_old_server — IP-адрес старого сервера;
  • /your_site/root_dir/old/ — домашний каталог сайта на старом сервере;
  • /your_site/root_dir/new/ — домашний каталог сайта на новом сервере.

Владельцем скопированной директории на новом сервере должен быть пользователь, указанный ранее как владелец сайта. По умолчанию это www-root.

chown -R www-root:www-root /your_site/root_dir/new/

Исходя из того, что на старом VDS к сайту привязана база данных, на новом создаём базу с таким же названием и пользователем, причём пользователю прописываем такой же пароль как и у его аналога на старом сервере. Для чего переключаемся в ispmanager и идём в Базы данныхСоздать базу данных.

image

Теперь снова подключаемся к новой виртуалке по SSH, регистрируемся суперпользователем и создаём дамп базы данных на старом сервере с сохранением полученного дампа на целевом сервере, например, в каталог /tmp. Это делается следующей командой:

ssh root@IP_old_server "mysqldump -u your-dbuser -p your_db" > /tmp/your_db.sql

Здесь:

  • IP_old_server — IP-адрес виртуальной машины на старом хостинге;
  • your_db — имя БД;
  • your-dbuser — имя пользователя БД.

Для воссоздания базы из дампа на новом сервере используем команду:

mysql your_db < /tmp/your_db.sql

Теперь остаётся проверить работоспособность сайта на новом хостинге и, если всё в порядке, меняем А-запись домена в соответствии с новым IP-адресом и ждём, когда обновится кэш DNS.

▍ Перенос одного из нескольких сайтов


Панель управления ispmanager позволяет выбрать и перенести один сайт из нескольких, запущенных на Linux-сервере. Чтобы это сделать, переходим в Сайты, выбираем необходимый сайт и жмём РедактироватьИзменить. Здесь выставляем соответствующие параметры в настройках и жмём Ok.

image

После чего переходим в панель управления на новом сервере и создаём там новый сайт с таким же названием и настройками как и у его аналога на старом VDS.

Теперь возвращаемся в панель старого сервера, переходим в раздел Сайты, где находим переносимый сайт, выделяем его и жмём на кнопку Файлы сайта. В открывшемся менеджере файлов переходим на одну директорию выше, чтобы получить возможность оперировать всей директорией сайта, выделяем её и жмём Скачать.

image

Таким образом мы загрузим себе на локальную рабочую станцию файл архива корневой директории сайта, с помощью которого мы перенесём сайт на новый хостинг. Переключаемся в панель нового сервера, переходим в СайтыФайлы сайта и при помощи кнопки Загрузить копируем сайт на новый сервер, указав в качестве источника файл архива.

image

По окончании загрузки архива выделяем его, жмём АрхивИзвлечь и в качестве директории для извлечения выбираем ту, которая содержит корневой каталог созданного ранее сайта. При нажатии на кнопку Распаковать панель распакует содержимое архива, заменив тем самым файлы созданного сайта файлами сайта с исходного сервера.

Теперь переносим базу данных. Для этого на новом сервере создаём новую базу с точно таким же, как на старом сервере названием, именем пользователя и паролем пользователя. Далее переходим в панель на старом VDS, идём в раздел Базы данных, выделяем нужную базу и жмём ДампЭкспорт.

image

В результате система создаст дамп базы и сохранит его на наш локальный компьютер. Затем переходим в панель на новом сервере, идём к созданной вручную базе данных, выделяем её и жмём ДампИмпорт. Теперь устанавливаем тип файла в Файл с локального компьютера, выбираем файл загруженного дампа и жмём Загрузить. В результате система воссоздаст на новом сервере нашу базу данных, используя сохранённый ранее дамп.

Заключение


Резюмируя вышесказанное, подведём итоги. Для виртуальных серверов, работающих на Windows Server, наиболее удобный способ переноса — это создание образа сервера при помощи утилиты Disk2vhd. Disk2vhd может создать образ как системного диска, так и остальных томов, в формате VHD/VHDX. Данное приложение создаёт точную копию требуемых разделов виртуалки, доступ к созданной копии передаём специалистам технической поддержки, которые восстановят её на предварительной заказанном VDS.

Данные, расположенные на виртуальных серверах, работающих на Linux, можно копировать и перемещать при помощи функционала экспорта/импорта, реализованного в панели управления ispmanager. Работать с сайтами, учётными записями и базами данных представляется весьма комфортно в случаях, когда речь идёт о переносе одного сайта или даже сразу всех одномоментно. И даже если на VDS, с которого осуществляется перенос данных, нет панели управления, упростить себе данную задачу можно заказав новый виртуальный сервер в комплекте с ispmanager.

Скидки, итоги розыгрышей и новости о спутнике RUVDS — в нашем Telegram-канале ????

Комментарии (3)


  1. minyaugir
    07.12.2023 13:49
    +1

    Спасибо


    1. katerinkasoft
      07.12.2023 13:49
      +2

      Пожалуй, присоединяюсь


  1. mvv-rus
    07.12.2023 13:49

    Для создания образа Windows-системы хорошо подходит Disk2vhd.

    ...

    Когда техподдержка получит доступ к образу и восстановит его на новом месте, то естественно, о завершении работ сообщит, чтобы можно было убедиться в результате проделанной процедуры.

    Здесь всё не так однозначно. Если используются разные системы виртуализации, с разными средствами интеграции с хостом, то можно нараваться. Вплоть до полной неработоспособности системы, если в старой системе виртуализации критически важные устройства были ситетическими (как например в Hyper-V VM Gen2). IMHO использовать старый добрыйь Windows Server Backup с восстановлением его содержимого на заранее созданной на новом месте VM будет безопаснее.

    Ну, а заодно есть шанс нарваться с переносом таким образом всяческих распределенных БД (AD, метаданные DFS и пр.) - состояние копий разных VM, на которых эти базы были размещены, совсем не обязательно будет согласованным.