миграция физических Linux серверов в виртуальную среду гипервизора Microsoft Hyper-V

    Все неоднозначно в схеме миграции физических Linux серверов в виртуальную среду гипервизора Microsoft Hyper-V, тем не менее, не попробовав говорить однозначно об этом сложно.
    hyper-v dmitry galushka
    В продолжении «Вялых попыток Linux P2V-конвертации для Hyper-V» (Ивашенцева Андрея, http://bit.ly/hzaV6L ). В интернетах нет однозначного решения по такой миграции, основные варианты известны давно:
    1. Linux -> Vmware Converter 4 -> Vmware ESX -> VMDK2VHD -> Hyper-V -> Установка LinuxIC
    2. Альтернативные решения:
      1. PlateSpin® Migrate (принадлежит Novell, бывший Invirtus Enterprise VM Converter) ,
      2. Quest® vConverter (бывший Vizioncore),
      3. Citrix XenConvert (но тут без промежуточной миграции в Vmware не обойдешься).

    3. Установка Linux сразу в Hyper-V и миграция данных и конфигурации средствами Linux, тоже очень интересно.
    4. Возможно, есть что-то еще, буду рад, если кто-то поделиться этими знаниями.

    Hyper V и System Center Virtual Machine Manager не умеют мигрировать Linux P2V, что не мешает им довольно успешно его виртуализировать, есть инструменты интеграции hyper-v для Linux – LinuxIC.
    Задача, которую я пытался решить: освободить устаревшее оборудование, на котором крутятся базы данных Oracle, все это крутиться под Fedora и перенести виртуальные машины в используемый у нас гипервизор Hyper-V.

    Я пошел по известному пути номер один моего списка. Миграция состоит из следующих шагов, подразумевается, что у вас уже установлен Windows Server 2008 с Hyper-V и System Center Virtual Machine Manager:
    1. Установка Vmware Converter на Windows машину.
    2. Установка Vmware ESXi. Настройка SSH доступа.
    3. Процесс миграции в ESXi.
    4. Копирование VMDK c ESXi на сервер Hyper-V по SSH при помощи Winscp.
    5. Добавление папки c файлами vmware в библиотеку SCVMM, и конвертация V2V (VMDK в VHD при помощи Wizard SCVMM).
    6. Проверка и запуск вашего Linux сервера на Hyper-V .
    7. Интеграция компонентов LinuxIC.

    Vmware Converter понадобиться лишь на время миграции в Vmware, хорошо, если будет высокоскоростной Ethernet адаптер. Можно сразу попробовать возможность миграции вашего Linux сервера, начав миграцию и указав данные с рутовым доступом, и нажав View source details.




    C этого момента вы поймете что для миграции вам необходим Vmware ESXi, он бесплатен для загрузки и использования. Так же есть 60-дневный период для управления им через vSphere Client. Я ставил на первый попавшийся PC с процессором поддерживающим виртуализацию аппаратно. Установку Vmware ESXi описывать нет смысла, там нет ничего такого, что вызвало бы трудности (next – next –next). На всякий случай вот ссылка на руководство по установке (http://bit.ly/frcqdD). Единственное что нужно учитывать так это: места на жестком диске должно хватить для данных ваших мигрируемых серверов. Так же понадобиться настроить удаленный SSH доступ, как обозначено на скриншоте.



    Визардом Vmware Converter начинаем p2v миграцию, у меня это заняло около часа при 140 Gb данных одного из серверов.


    Следующий шаг, скачать, к примеру Winscp, чтобы по SSH скачать необходимые файлы после завершения миграции.



    В System Center Virtual Machine Manager добавляем папку с образом из Vmware, все файлы что я вытащил из Vmware ESXi по SSH.


    Добавив все, создаем задачу миграции V2V в SCVMM.



    Опять ожидаем, поскольку я разворачивал машину на сервере который является лишь хостом Hyper-V, а SCVMM стоит на отдельной машине – процесс занял около полутора часов.



    В итоге я получил работающую машину под Linux Fedora под Hyper-V



    Интеграция средств Hyper-V мне не понадобилась, машины будут спать и ждать часа когда они понадобятся.
    В дополнение могу сказать что, можно обойтись и без SCVMM, бесплатным средством: VMDK2VHD (http://bit.ly/i2IuaT)
    Поделиться публикацией

    Комментарии 39

      +7
      Linux -> Vmware Converter 4 -> Vmware ESX -> VMDK2VHD -> Hyper-V -> Установка LinuxIC
        0
        при необходимости туда же поставить компоненты Vmware
        0
        И еще вопрос вдогонку, при использовании VMware vCenter Converter Standalone что мешает в качестве Destination выбирать не ESX/ESXi, а VMware Workstation и, соответственно, выгружать сконвертированную машину сразу в сетевую папку?
          0
          в версии 4.1.0 (в или той что сейчас является последней) такого выбора я к сожалению не обнаружил из чего сделал вывод: что Vmware Converter теперь нет возможности выбрать destination
          0
          Кстати, у цитрикса есть конвертор в VHD. Возможно, стоит Phy -> Xen Cloud Plaform ->?

          (я бы на этапе XCP и остановился, ибо линуксу комфортнее всего в родном PV окружении Xen'а :)
            –1
            Ну оно понятно что ему там комфортнее, но админам ТВ3 удобнее в SCVMM ;)

            Вопрос, сколько шансов если взять VHD, подключить каким угодно образом (хоть iSCSI) к машине источнику, dd..., и потом под Hyper-V запустить? Я понимаю что вопрос, мягко говоря, вакуумно-сферичен, но всё-таки?
              +1
              Если VHD был от HVM, то шансы, я думаю, довольно большие (ведь Hyper-V тоже некое legacy hardware эмулирует?). Формат VHD XCP/XenServer цитрикс сделала совместимым с MS (за что её сильно ругали, ибо из-за этого добавились проблемы с снапшотами).

              Чистый PV, c -xen ядром, понятное дело, запустить не получится. С pv_ops, вероятнее всего, получится (особенно, если это generic kernel с пачкой дров).
                0
                Intel® 82371AB/EB PCI Bus Master IDE-контроллер
                и
                DEC 21140 10/100TX 100 MB
                В качестве видео — эквивалент S3 то ли Trio, то ли Virge.

                Я некорректно выразился, если взять и сделать dd с машины работавшой на реальном железе в машину под Hyper-V?
                  0
                  Ну, собственно, в чём вопрос?

                  1) Умеет ли hyper-v с тупыми копиями работать? Я знаю, что xen через loop умеет. Вопрос: умеет ли винда работать с образами дисков, записанными в файл? Насколько я знаю, нет, не умеет.
                  2) Что будет делать линукс после запуска? Ну, зависит от того, как монитирование сделано. Если через метки uuid'ы, то ничего не заметит (возможно, нужно будет поправить сеть из-за persistent rules). Если через пути, то смена /dev/sda на /dev/hda может потребовать м… руками бутлоадер поправить.

                  Так что вопрос исключительно в функционале виндов.
                    0
              0
              Зачем поддерживать несколько гипервизоров если используется Hyper-V.

              Насколько Linux комфортнее в Xen чем в Hyper-V?
                –1
                Насколько комфортнее админам поддерживать ещё один гипервизор без мониторинга и управления если уже есть один с мониторингом и управлением?
                  +7
                  Hyper-V как минимум, требует установки посторонней ОС со своими тараканами и концепциями. Майкрософт за столько лет до сих пор не соблаговолила написать клиента для RDP (да, потому мы с freerdp/rdesktop и мучаемся, включая глюки транслитерации и залипающий Альт), а по ssh администрировать винды неудобно, не смотря даже на наличие power shell.

                  Далее: xapi/xend позволяют использовать общую файловую систему. Я могу открыть легко файловую систему гостя из dom0. Как там у Hyper-V и её административной системы с поддержкой btrfs, xfs, raiserfs, ext4, zfs? Что-то мне подсказывает, что большую часть ой, не поддерживает. Я даже оставляю в стороне несовместимость атрибутов на ФС и кривую поддержку симлинков. Аналогично действует и в обратную сторону — MS так и не сподобилась написать модули для ntfs/exfat, так что если что, придётся пользоваться неизвестной стабильности модулями, основанными на реверс-инжиниринге.

                  Далее. Хост-система в Hyper-V не имеет штатно клиента для подключения к гостевым доменам по родным для него протоколам (где ssh от MS?).

                  Всё это приводит к простой вещи: из виндов управлять линуксовыми гостями неудобно, потому что майкрософт ленится реализовать interoperability. (Отвечая на вопрос: в обратном направлении усилия делаются, но всё упирается в невозможность, например, коммитнуть драйвер ext3 в ванильную ветку виндов).
                    +1
                    спасибо за подробный ответ.
                      +1
                      Плюс Xen позволяет использовать паравиртуализацию, что иногда актуально. Можно ли мигрировать установленный на железо линукс (как минимум смена ядра) на паравирт — вопрос к тому же amarao.
                        +1
                        Вообще говоря ничего не мешает.
                          +1
                          Вам понадобится ядро нужного дистра, собранное с поддержкой работы в DomU (для убунты это linux-image-ec2. Его необходимо поставить и вытащить из файлухи с тем чтобы впоследстии скормить Xen. После чего надо просто сделать образы разделов и подрубить их к виртуалке. Если вдруг что-то не заведётся, вас выкинет в консоль initramfs, откуда можно невозбранно подмонтировать раздел и поправить fstab.
                            +2
                            не совсем. xen уже давно поддерживает pv_ops ядра. Соответственно, generic ядро в котором pv_ops включено (насколько я знаю, оно включено в большинстве дистрибутивов) с зеном в pv будет работать, так же как в HVM, так же как на baremetall.
                              0
                              Там у меня какая-то проблема была, уже не помню какая, в итоге плюнул и использую ядро для ec2.
                    +8
                    Перенос Linux-серверов под управление Windows — звучит как издёвка.
                      0
                      Ответьте на один вопрос: что удобнее:
                      а) поддерживать один гипервизор с его инструментами мониторинга, управления и автоматизации (hyper-V + scvmm), или
                      б) два гипервизора, один с полной интеграцией в существующую инфраструктуру (hyper-v + scvmm) и один полностью неподдерживаемый и не интегрируемый в существующеющую инфраструктуру?
                        +2
                        Т.е. вы оправдываете такое решение только в безвыходной ситуации, когда компания уже плотно сидит на игле внедрённых решений от Microsoft?
                        Я правильно понимаю?
                          –2
                          думаю мы оба пытаемся сказать что не Xen'ом единым…
                            0
                            Более того, я его поддерживаю, т.к. если нет планов по использовании *nix виртуализации в организации, то во внедрении одного сервера только ради «православности» я не вижу смысла, в т.ч. финансового.

                            ЗЫ ESX сюда не подходит, т.к. SCVMM умеет работать с продуктами VMWare.

                              +3
                              Я могу назвать как минимум одну важную плюшку зена по сравнению с hyper-v — это лицензирование. Во многих продуктах лицензирование по числу сокетов процессора. В зене можно все ядра объединять в единый сокет (то есть получается этакий монстр с одним процом и 16-32-48 и т.д. ядрами).
                                0
                                Интересно, возьму на заметку.
                                  0
                                  Блин, мне все говорят про эту фичу, но я так и не нашёл документации (поисками занимался года полтора назад). Как это делать-то? Киньте линком, пожалуйста.
                                    0
                                    xe vm-param-set platform:cores-per-socket=X
                                      0
                                      Так это только для XenServer что ли?

                                      Я думал — открытый Xen сам по себе умеет.
                                        0
                                        что значит «открытый зен»? Xen Cloud Platform — оперсорс, GPL. (упреждая вопросы: XCP с XenServer соотносятся примерно как федора с RHEL).
                                          0
                                          Хорошо, просто гуголь нашёл по этой команде мне именно KB XenServer. Пусть будет Xen Cloud Platform.

                                          Так это возможно только в составе Xen Cloud Platform? Stand-alone такую функциональность не реализует?
                                            0
                                            Поскольку это функциональность не domain builder'а (чем различаются xapi и xend), а гипервизора (который и там и там один и тот же), то, наверное, можно. Более того, так как XenAPI одинаков (по-крайней мере за пределами концепции пулов), то вероятнее всего, в xend этот функционал тоже есть. Я xend знаю хуже xapi, так что точно сказать не могу.
                          0
                          А ничего, что Microsoft официально поддерживает лишь очень малую часть ОС с линуксом и в любой момент все ваше хозяйство может накрыться медным тазом?
                            +3
                            Сомнительно, что накроется.

                            Мокросовт, конечно, лошадка тёмная, но всё-таки общие подходы их работы прослеживаются чётко — совместимость, которую они однажды сделали, они обычно очень долго тянут даже когда она никому не нужна.

                            Кроме того, если они сделают такую подлянку, они заработают себе очень жирный минус в карму, а заодно разом потеряют все установки Hyper-V, в которых есть виртуализованный Linux.
                              +1
                              Танки грязи Майкрософт кармы не боится. А совместимость могут поломать и с стороны линукса. Причём, если в случае обычного опенсорса это решается патчем на продукт, то в случае МС нужно, чтобы сначала кто-то из поддерживаемых вендоров это адаптировал, потом МС пошевелилась, и только после этого вышел бы KB/SP с поддержкой нужной фичи.

                              Ближайший пример — допустим, по какой-то причине нужно будет поломать pv_ops, на уровне ABI. Сколько времени пройдёт до появления патчей в KVM/Xen? Думаю, чуть меньше, чем понадобится VMWare, чтобы адаптироваться.

                              Сколько времени понадобится MS, чтобы обратить внимание на то, что в ванильном ядре какие-то изменения? Если в списке саппорта половина — RHEL-производные, которые до сих пор (в пятой версии) на 2.6.18, а о 2.6.34-36 ни сном ни духом?
                            +3

                            Не?
                              0
                              Вообще, от подхода Microsoft к виртуализации я вижу реально ровно одно действительно существенное удобство (для себя).

                              А именно, если вы купили Windows 2008 и поставили его на железо, вы имеете право запустить ещё одну копию Windows 2008 в виртуалке. Мы звонили в MS, уточняли — имеется ли ввиду именно Hyper-V, или можем запускать в Xen? Нам ответили — не важно, в какой именно виртуалке; в любой можно.
                                +1
                                Это уже преимущества лицензирования.
                                Windows Server 2008 R2 лицензируется одинаково для любой из виртуальных сред, однако Hyper-V идет в комплекте бесплатно и с большим количеством фич. Лицензия на Windows Server 2008 R2 Datacenter Edition лицензируется «на процессор» и позволяет запускать неограниченное количество экземпляров Windows Server в виртуальной среде.
                                  0
                                  рекомендую вам цикл статей на Technet: Лицензирование виртуальных машин (http://j.mp/dZltKa). Там все подробно описано, плюсы действительно есть.

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

                                Самое читаемое