Назад | Перейти на главную страницу

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

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

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

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

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

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

Предположим, у вас нет доступа к удаленной консоли или это через какой-то ужасный, ужасный бесполезный 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. Выберите гипервизор и воспользуйтесь его инструментом.

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

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

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

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