home start up prev next

7.5. Телепортация

Начиная с версии 3.1, VirtualBox поддерживает функцию "миграции (teleporting)" -- которая позволяет перемещать виртуальные машины по сети с одного хоста VirtualBox на другой, не прерывая работы машины. Данная возможность не зависит от операционной системы хоста: например, вы можете переносить виртуальные машины между хостами Solaris и Mac.

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

Миграция производится через сеть TCP/IP; для источника и цели необходимо только назначить номера портов TCP/IP, которые указываются в настройках миграции.

В настоящее время, имеется несколько требований для реализации миграции:

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

  2. Обе виртуальных машины должны иметь общую систему хранения данных (использовать один и тот же жесткий диск, дисковод и/или образ CD/DVD). Это значит, что они обе должны использовать один iSCSI targets или хранилище виртуальных носителей должны находиться в сети и они обе должны иметь доступ к нему через NFS или SMB/CIFS.

    Это означает также, что виртуальная машина-источник и машина-цель не должны иметь снимков состояний.

Далее выполняются следующие шаги:

  1. На целевом хосте, виртуальная машина настраивается на ожидание запроса миграции. Это выполняется командой VBoxManage :

    VBoxManage modifyvm <targetvmname> --teleporter on
    VBoxManage modifyvm <targetvmname> --teleporterport <port>

    где <targetvmname> это имя виртуальной машины на целевом хосте, а <port> это номер порта TCP/IP используемый обоими хостами. Например, используете 6000. За подробностями обращайтесь к Раздел 8.7.5, “Настройки миграции” .

  2. Запустите ВМ на целевом хосте. Вы увидите, что вместо обычного запуска будет показано диалоговое окно выполнения процесса, указывающее что выполняется ожидание поступления запроса миграции.

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

    VBoxManage controlvm <sourcevmname> teleport --host <targethost> --port <port>

    где <sourcevmname> имя виртуальной машины источника (машина которая в настоящее время работает), <targethost> имя хоста или IP адрес целевого хоста на котором машина ожидает запроса миграции, а <port> должен иметь тот же номер, что и указанный в команде выше для целевого хоста. За подробностями обратитесь к Раздел 8.11, “VBoxManage controlvm” .

Для тестирования, вы можете также выполнять миграцию на одном хосте; в данном случае, в качестве имени хоста укажите "localhost" для хоста-источника и хост-цели.

Замечание

В редких случаях, если процессоры источника и цели сильно различаются, миграция может завершиться с ошибкой, или целевой хост может зависнуть. Это обычно случается если программное обеспечение на ВМ оптимизировано для работы с процессором, без корректной проверки, с предположением того что нужные функции ЦП всегда присутствуют. VirtualBox фильтрует возможности CPU которые предоставлены гостевой ОС. Опытные пользователи могут ограничить эти виртуальные возможности ЦП с помощью команды VBoxManage --modifyvm --cpuid ; см. Раздел 8.7.5, “Настройки телепортации” .

home start up prev next
Сайт создан в системе uCoz