Как перенести физическую систему на виртуальный сервер KVM с доступом только к сети?

У меня работает устаревший сервер приложений linux, который я хотел бы перенести на виртуальный сервер KVM с более высокими характеристиками.

У меня нет физического доступа к самой машине или ее жестким дискам.

У меня есть доступ только к серверу по сети.

Если это может быть использовано для чего-либо, у меня уже есть пустой запасной HD, установленный на сервере. Этот второй HD примерно в три раза больше, чем тот, на котором хранятся данные.

Пожалуйста, попросите любые другие детали, которые вам могут понадобиться.

3 ответа

Предполагая, что у вас нет удаленного доступа к консоли, или через какой-то дурацкий ужасный бесполезный Java-апплет:

  1. SSH к удаленной системе и выключите как можно больше служб. В основном все, кроме самого сервера ssh.
  2. Из локальной системы скопируйте копию образа работающего диска обратно в локальную систему:

    ssh root@remote.example.com "dd if=/dev/sda bs=1024k" > p2v.img
    

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

  3. Вы получите файл p2v.img, Подключите его к виртуальной машине KVM в виде необработанного образа диска и fsck это, так как будут ошибки.


Поскольку у вас есть удаленный консольный доступ к серверу, я бы сделал что-то вроде этого:

  1. С удаленной консоли переведите систему в однопользовательский режим (init 1с правами root или перезагрузитесь1добавлено в командную строку загрузки).
  2. Подключите сеть вручную, например, с помощьюifconfigа такжеrouteкоманды.
  3. P2V это к удаленному гипервизору (или серверу хранения):

    dd if=/dev/sda bs=1024k | ssh root@kvmhost.example.com "cat > /path/to/p2v.img"
    
  4. Создайте новую виртуальную машину KVM, используяp2v.imgкак диск, запустите его и внесите необходимые изменения.


Инструмент virt-v2v также может подключить сервер Linux к виртуальной машине KVM.

Все основные гипервизоры имеют встроенный инструмент P2V. Выберите гипервизор и используйте его инструмент.

Командная строка, которая работала для меня:

 dd if=/dev/sda1  | (ssh root@10.1.1.1 of=/some-path-on-remote/file.img )

Я написал пошаговый подробный ответ о том, как я решил очень похожую задачу по вопросу: превращение работающей системы Linux в экземпляр KVM на другой машине. Надеюсь, это окажется полезным ответом и на этот вопрос.

Цель ответа: взять физический Linux P узел запускает live-production и виртуализирует его. Без необходимости создавать и размещать диски объемом несколько терабайт, а также не использовать md raid в V Гость, потому что целевой гипервизор (Proxmox 5) использовал ZoL/ZFS. Также хотел уменьшить время простоя / перезагрузки на работающем P узел.

Другие вопросы по тегам