СПОСОБ, СИСТЕМА И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ ДЛЯ ВЫПОЛНЕНИЯ МИГРАЦИИ С ФИЗИЧЕСКИХ МАШИН НА ВИРТУАЛЬНЫЕ

1. Способ миграции с физического сервера на виртуальную машину (P2V), включающий:
передачу данных с дисков физической машины на сервер, эти данные будут использоваться сервером для создания и запуска виртуальной машины (VM) на основе данных с дисков физической машины;
получение первых недостоверных данных, созданных в результате выполнения программы на физической машине пока идет процесс передачи данных с дисков физической машины;
обновление на основе полученных первых недостоверных данных и данных с дисков физической машины, используемых для создания виртуальной машины;
управление, с учетом обновленных данных на дисках виртуальной машины, виртуальная машина возобновляет выполнения программы в виртуальной среде с учетом всех ранее выполненных в ней действий.
2. Способ по п.1, отличающийся тем, что получение первых недостоверных данных, созданных в результате выполнения программы на физической машине пока идет процесс передачи данных с дисков физической машины, включает:
мониторинг, в процессе переноса данных с дисков физической машины для создания файла записи, учитывающего действия, которые программа выполнила на физической машине;
получение первых недостоверных данных, созданных в результате выполнения программы на физической машине, на основе файла записи.
3. Способ по п.2, отличающийся тем, что получение первых недостоверных данных, созданных в результате выполнения программы на физической машине, на основе файла записи, включает:
передачу файла записи на виртуальную машину с выдачей проверочного кода, который формируется и выдается виртуальной машиной на основе полученного файла записи;
вычисление проверочного кода для локального файла, соответствующего программе;
сопоставление проверочного кода, выданного виртуальной машиной, с вычисленным проверочным кодом для получения первых недостоверных данных.
4. Способ по п.3, отличающийся тем, что сопоставление проверочного кода, выданного виртуальной машиной, с вычисленным проверочным кодом для получения первых недостоверных данных, включает:
последовательное считывание вычисленного проверочного кода с учетом смещения файла;
сопоставление проверочного кода, полученного при каждом считывании, с проверочным кодом, выданным виртуальной машиной;
выявление не удовлетворяющих условиям проверки данных после получения первых недостоверных данных, созданных в результате выполнения программы на физической машине.
5. Способ по п.3, отличающийся тем, что проверочный код содержит «сильный» и «слабый» проверочные коды;
а сопоставление проверочного кода, полученного при каждом считывании, с проверочным кодом, выданным виртуальной машиной, предполагает:
выполнение первого сопоставления первого прочитанного «слабого» кода со вторым «слабым» проверочным кодом, возвращенным виртуальной машиной;
если первое сопоставление неудачно, выдается ошибка сопоставления;
если первое сопоставление проходит успешно, выполняется второе сопоставление, где сравниваются первый «сильный» проверочный код, соответствующий первому «слабому» проверочному коду, и второй «сильный» проверочный код, соответствующий второму «слабому» проверочному коду;
если второе сопоставление неудачно, выдается ошибка сопоставления.
6. Способ по п.3, отличающийся тем, что формирование виртуальной машиной проверочного кода, создаваемого на основе файла записи, включает:
считывание данных в файле записи;
сегментирование считанных данных в блоки данных с учетом фиксированной длины в байтах;
создание соответствующего проверочного кода для каждого сегмента блока данных.
7. Способ по п.1 или 2, отличающийся тем, что обновление с учетом полученных первых недостоверных данных и данных с дисков физической машины, используемых для создания виртуальной машины, включает:
передачу первых недостоверных данных на виртуальную машину, чтобы на их основе выполнить первое обновление данных;
получение вторых недостоверных данных, созданных в результате выполнения программы на физической машине пока идет процесс первого обновления данных;
передачу вторых недостоверных данных на виртуальную машину, чтобы на их основе выполнить второе обновление данных;
повторение вышеописанного процесса до тех пор, пока не будут получены N-ые недостоверные данные, пока не завершится выполнение программы и пока N-ые недостоверные данные не будут переданы в виртуальную машину, которая выполнит N-е обновление на основе N-ых недостоверных данных,
при условии, что размер N-ых недостоверных данных меньше предварительно установленного порогового значения.
8. Способ по п.7, отличающийся тем, что после получения N-ых недостоверных данных, дополнительно предполагается передача запроса на остановку выполнения программы в виртуальной машине с целью получение отклика, выдаваемого виртуальной машиной в ответ на этот запрос.
9. Способ по п.7, отличающийся тем, что выполнение в виртуальной машине первого обновления данных, проводимого на основе первых недостоверных данных, включает:
создание первого временного файла;
запись в первый временный файл первых недостоверных данных и первых данных, хранимых в виртуальной машине, для формирования второго временного файла, при этом первые данные представляют собой данные, за исключением части файла со смещением, соответствующие первым недостоверных данным в файле, относящемся к данной программе;
замену файла, относящегося к программе и хранимого в виртуальной машине, вторым временным файлом.
10. Способ по п.9, отличающийся тем, что после формирования второго временного файла дополнительно предполагается:
вычисление общего проверочного кода для второго временного файла;
определение соответствия между общим проверочным кодом для второго временного файла и проверочным кодом файла, относящегося к программе.
11. Способ по п. 1 или 2, дополнительно включающий:
сравнение информации о типе и версии операционной системы (ОС) на физической машине с указанной информацией о типе и версии ОС на виртуальной машине;
обновление диска, относящегося к ОС на виртуальной машине, в случае, когда определяется, что тип ОС на физической машине совпадает с указанным типом ОС на виртуальной машине, а версия ОС на физической машине отличается от указанной версии ОС на виртуальной машине.
12. Способ по п.11, дополнительно включающий:
установление различий между версией диска, соответствующей ОС на физической машине и указанной версией диска, соответствующей ОС на виртуальной машине;
определение того, как это различие согласуется с предварительно заданными условиями обновления диска.
13. Способ по п.11, отличающийся тем, что обновление диска, соответствующего ОС на виртуальной машине включает:
получение файла различий между диском, относящимся к ОС на физической машине, и указанным диском, относящимся к ОС на виртуальной машине;
передачу файла различий на виртуальную машину для выполнения обновления диска, относящегося к ОС на виртуальной машине, с учетом этого файла различий.
14. Система для миграции с физического сервера на виртуальную машину (P2V), включающая:
модуль обработки, настроенный на передачу данных с дисков физической машины на сервер, эти данные будут использоваться сервером для создания и запуска виртуальной машины на основе данных с дисков физической машины;
модуль сбора данных, настроенный для получения первых недостоверных данных, созданных при запуске программы на физической машине в процессе передачи дисковых данных с этой физической машины;
модуль обновления, настроенный для выполнения обновления с учетом полученных первых недостоверных данных и данных с дисков физической машины, используемых для создания виртуальной машины;
модуль управления, настроенный для работы с учетом обновленных данных на дисках виртуальной машины, производящий замену программы, выполняемой на физической машине, программой, выполняемой в виртуальной среде.
15. Система по п. 14, отличающаяся тем, что модуль сбора данных дополнительно включает:
мониторинг в процессе переноса данных с дисков физической машины для создания файла записи, учитывающего действия, которые программа выполнила на физической машине;
получение первых недостоверных данных, созданных в результате выполнения программы на физической машине, на основе файла записи.
16. Система по п. 15, отличающаяся тем, модуль сбора данных включает:
передачу файла записи на виртуальную машину с выдачей проверочного кода, который формируется и выдается виртуальной машиной на основе полученного файла записи;
вычисление проверочного кода для локального файла, соответствующего программе;
сопоставление проверочного кода, выданного виртуальной машиной, с вычисленным проверочным кодом для получения первых недостоверных данных.
17. Система по п. 16, отличающаяся тем, что модуль сбора данных дополнительно включает:
последовательное считывание вычисленного проверочного кода с учетом смещения файла;
сопоставление проверочного кода, полученного при каждом считывании, с проверочным кодом, выданным виртуальной машиной;
выявление не удовлетворяющих условиям проверки данных после получения первых недостоверных данных, созданных в результате выполнения программы на физической машине.
18. Система по п. 16, отличающаяся тем, что проверочный код содержит «сильный» и «слабый» проверочные коды; и
модуль сбора данных дополнительно настроен на:
выполнение первого сопоставления первого прочитанного «слабого» кода со вторым «слабым» проверочным кодом, выданным виртуальной машиной;
определение, если первое сопоставление неудачно, выдается ошибка сопоставления;
если первое сопоставление проходит успешно, выполняется второе сопоставление, где сравниваются первый «сильный» проверочный код, соответствующий первому «слабому» проверочному коду, и второй «сильный» проверочный код, соответствующий второму «слабому» проверочному коду;
определение, если второе сопоставление неудачно, выдается ошибка сопоставления.
19. Система по п. 16, отличающаяся тем, что модуль управления включает:
управление виртуальной машиной для чтения данных в файле записи;
сегментирование считанных данных в блоки данных в соответствии с фиксированной длиной в байтах;
создание соответствующего проверочного кода для каждого сегмента блока данных.
20. Система по п. 14 или 15, отличающаяся тем, что модуль управления дополнительно включает:
передачу первых недостоверных данных виртуальной машине, с целью выполнения первого обновления данных на их основе;
получение вторых недостоверных данных, созданных в результате выполнения программы на физической машине пока идет процесс первого обновления данных;
передача вторых недостоверных данных на виртуальную машину, чтобы на их основе выполнить второе обновление данных;
повторение вышеописанного процесса до тех пор, пока не будут получены N-ые недостоверные данные, пока не завершится выполнение программы и пока N-ые недостоверные данные не будут переданы в виртуальную машину, которая выполнит N-е обновление на основе N-ых недостоверных данных,
при условии, что размер N-ых недостоверных данных меньше предварительно установленного порогового значения.
21. Система по п. 20, отличающаяся тем, что модуль обновления дополнительно включает передачу запроса на остановку выполнения программы в виртуальной машине с целью получение отклика, выдаваемого виртуальной машиной в ответ на этот запрос.
22. Система по п. 20, отличающаяся тем, что модуль обновления дополнительно включает:
создание первого временного файла;
запись в этот первый временный файл первых недостоверных данных и первых данных, хранящихся в виртуальной машине, для формирования второго временного файла, при этом первые данные представляет собой данные, за исключением части файла со смещением, соответствующие первым  недостоверным данным в файле, относящемся к данной программе;
замену файла, относящегося к программе и хранящегося в виртуальной машине, вторым временным файлом.
23. Система по п. 22, отличающаяся тем, что модуль обновления дополнительно включает:
вычисление общего проверочного кода для второго временного файла;
определение соответствия общего проверочного кода для второго временного файла совпадает и проверочным кодом файла, относящегося к программе.
24. Система по п. 14 или 15, дополнительно включающая модуль фильтрации, настроенный для сравнения информации о типе и версии операционной системы (ОС) на физической машине с указанной информацией о типе и версии ОС на виртуальной машине; обновление диска, относящегося к ОС на виртуальной машине, в случае, когда определяется, что тип ОС на физической машине совпадает с указанным типом ОС на виртуальной машине, а версия ОС на физической машине отличается от указанной версии ОС на виртуальной машине.
25. Машиночитаемый носитель, настроенный для сохранения выполняемой программы, в то время как эта программа запускается для реализации способа миграции P2V по любому из вариантов в пп. 1-13.