Как перенести физическую систему на виртуальный сервер KVM с доступом только к сети?
У меня работает устаревший сервер приложений linux, который я хотел бы перенести на виртуальный сервер KVM с более высокими характеристиками.
У меня нет физического доступа к самой машине или ее жестким дискам.
У меня есть доступ только к серверу по сети.
Если это может быть использовано для чего-либо, у меня уже есть пустой запасной HD, установленный на сервере. Этот второй HD примерно в три раза больше, чем тот, на котором хранятся данные.
Пожалуйста, попросите любые другие детали, которые вам могут понадобиться.
3 ответа
Предполагая, что у вас нет удаленного доступа к консоли, или через какой-то дурацкий ужасный бесполезный Java-апплет:
- SSH к удаленной системе и выключите как можно больше служб. В основном все, кроме самого сервера ssh.
Из локальной системы скопируйте копию образа работающего диска обратно в локальную систему:
ssh root@remote.example.com "dd if=/dev/sda bs=1024k" > p2v.img
Подождите несколько часов. В зависимости от размера жесткого диска и доступной пропускной способности, это может занять очень много времени.
Вы получите файл
p2v.img
, Подключите его к виртуальной машине KVM в виде необработанного образа диска иfsck
это, так как будут ошибки.
Поскольку у вас есть удаленный консольный доступ к серверу, я бы сделал что-то вроде этого:
- С удаленной консоли переведите систему в однопользовательский режим (
init 1
с правами root или перезагрузитесь1
добавлено в командную строку загрузки). - Подключите сеть вручную, например, с помощью
ifconfig
а такжеroute
команды. P2V это к удаленному гипервизору (или серверу хранения):
dd if=/dev/sda bs=1024k | ssh root@kvmhost.example.com "cat > /path/to/p2v.img"
Создайте новую виртуальную машину 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
узел.