Отказоустойчивый кластер Hyper-V 2012

    Сразу отмечу, что многие, кто сталкивался с виртуализацией от Microsoft, ничего нового для себя не найдут — это небольшой гайд по созданию кластера на базе Hyper-V 2012 с некоторыми тонкостями, касающихся конкретной конфигурации.
    Итак, что мы имеем:
    • Два сервера с внешним SAS портом и 4-х портовой сетевой картой
    • Дисковое хранилище HP P2000 G3 SAS
    • Коммутатор, а лучше два в стеке, с поддержкой LACP, в моем случае — это стек из двух Cisco 2960S

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

    Так же нам потребуется:
    • Домен AD
    • Компьютер или ноутбук в домене с установленной ОС Windows 8 или 8.1, для управления
    • Средства удаленного администрирования сервера — RSAT для windows 8 или 8.1

    Важно отметить, что для управляющего ПК, windows 7 не подойдет, т.к. некоторый функционал RSAT для win 7 не работает с серверами семейства 2012.

    Скачиваем Hyper-V Server 2012, потребуется бесплатная регистрация, и любым, удобным для вас способом, ставим его на два наших сервера. Напомню, что мы используем Core версию, т.к. GUI нам на сервере не нужен.

    Настраиваем сеть
    В консоли сервера переходим в командную строку и далее в Powershell, одноименной командой, объединим все 4 интерфейса в один логический и зададим режим объединения LACP:
    New-NetLbfoTeam –Name Team –TeamMembers “ethernet 2”,“ethernet 3”,“ethernet 4”,“ethernet 5”
    Set-NetLbfoTeam -Name Team –TeamingMode LACP
    На коммутаторах так же объединим нужные порты в Port-Channel c поддержкой LACP и включим на нем trunk:
    Switch(config-if)#switchport mode trunk
    Switch(config-if)#channel-group 1 mode active
    После этого в списке сетевых адаптеров на сервере будет виден наш новый интерфейс Team в статусе Up:
    PS C:\Users\administrator> Get-NetAdapter
    
    Name                      InterfaceDescription                    ifIndex Status
    ----                      --------------------                    ------- ------
    Team                      Microsoft Network Adapter Multiplexo...      24   Up
    Ethernet 5                HP Ethernet 1Gb 4-port 366i Adapter #4       16   Up
    Ethernet 3                HP Ethernet 1Gb 4-port 366i Adapter #2       14   Up
    Ethernet 4                HP Ethernet 1Gb 4-port 366i Adapter #3       15   Up
    Ethernet 2                HP Ethernet 1Gb 4-port 366i Adapter          13   Up
    

    И статус тиминга:
    PS C:\Users\administrator> Get-NetLbfoTeam
    
    Name                   : Team
    Members                : {Ethernet 4, Ethernet 2, Ethernet 5, Ethernet 3}
    TeamNics               : Team
    TeamingMode            : Lacp
    LoadBalancingAlgorithm : TransportPorts
    Status                 : Up
    


    Дальше через псевдо-графическое меню можно присвоить настройки IP, включить удаленное управление, ввести в домен. После перезагрузки, можно будет воспользоваться удобным рабочим местом и все делать удаленно с помощью нашего ПК/ноутбука с Win 8/8.1 на борту.
    Устанавливаем RSAT по ссылка выше, включаем компонент Hyper-V в панели управления — программы и можем уже управлять гипервизором, но нам нужен кластер.

    Создаем кластер
    Из оснастки диспетчер серверов, добавим наши сервера, и можем смотреть всю информацию по ним, от туда же подключаемся powershell'ом к серверу и добавляем компонент отказоустойчивого кластера:
    Install-WindowsFeature Failover-Clustering
    Install-WindowsFeature RSAT-Clustering-PowerShell
    После этого уже из оснастки диспетчера отказоустойчивости создаем кластер через GUI либо через PS:
    New-Cluster –Name HV-Cluster –Node Srv01,Srv02 –StaticAddress 192.168.10.5

    Настраиваем общее хранилище
    На хранилище выделяем два LUNa, один под виртуальные машины, второй под кворум (1Гб)
    Инициализируем эти два диска на серверах через диспетчер дисков, преобразовываем их в GPT и форматируем, буквы можно не присваивать.
    Чтобы кластерный тест принял эти диски необходимо поменять тип шины с RAID на SAS, (Источник HP) необходимо в реестре поменять параметр BusType с 8 на А по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hpcisss2\Parameters\
    Так же необходимо установить MPIO от Microsoft:
    Install-WindowsFeature Multipath-IO
    Добавляем поддержку SAS в оснастке mpiocpl и после перезагрузки в диспетчере дисков LUNы не будут двоиться если сервер подключен двумя SAS кабелями.
    После данных манипуляций можно добавлять диски в оснастке диспетчера отказоустойчивости, там же делаем кворум из добавленного диска.

    Создаем виртуальный коммутатор
    Через оснастку Hyper-V создаем внешний виртуальный свич и ставим галку «Разрешить управляющей ОС предоставлять доступ к адаптеру», Vlan не ставим. Тоже самое через PS:
    New-VMSwitch “Lan” –NetAdapterName “Team” –AllowManagementOS:$True
    В самих виртуальных машинах, сможем добавлять несколько сетевых адаптеров с одинаковым виртуальным коммутатором но с разными Vlan.

    На этом собственно все, дальше можно создавать виртуальные машины и помещать их на разделяемом хранилище, напомню, что общий диск монтируется в папку C:\ClusterStorage\Volume1\
    Поделиться публикацией

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

      0
      Это не отказоустойчивый кластер. Это кластер перехода по отказу.
        0
        А что по вашему «отказоустойчивый кластер»? В данном случае, в случае выхода из строя одной ноды, виртуальные машины переедут на живую ноду, правда с перезагрузкой ВМ. Либо можно перевезти ВМ с одной живой ноды на другую живую, практически без потери связи.
          –1
          А что по вашему «отказоустойчивый кластер»?

          VMware Fault Tolerance или Stratus ftServer, которые переживают отказ без прерывания сервиса, а тут рассматривается высокодоступный кластер.
          Либо можно перевезти ВМ с одной живой ноды на другую живую, практически без потери связи.

          Увенены, что за 4 минуты ВМ успеют загрузиться на запасном узле?
            0
            Ок, это все трактовки, главное, что бы было понятие, что будет происходить в конкретных случаях.
            Уверены, что за 4 минуты ВМ успеют загрузиться на запасном узле?

            Откуда взялась цифра в 4 минуты я не знаю, однако этот функционал работал еще на прошлом кластере Hyper-V 2008, и проводил подобные опыты и ВМ поднимались на рабочей ноде.
              0
              Я тоже не вполне понял откуда взялись 4 минуты, но это действительно высокодоступный кластер, а не отказоустойчивый.
                0
                Пардон, почему-то вспомнилось про таймаут tcp, но при падении сервера это не будет иметь значения.
                  0
                  Если вдаваться в лингвистику, то данный кластер спасает от отказа одного узла, соответственно его можно назвать отказоустойчивым.
                  Но как я уже писал выше, мне не важно как он будет называться, хоть гиперкластером, главное я знаю какие задачи он решает.
          0
          Либо я чего-то не понимаю, либо автор делает свой велосипед. Если у вас есть отдельное хранилище, то можно без проблем использовать Shared Storage, специально для Hyper-V было придумано.
            0
            Так оно и есть, хранилище, а точнее даже LUN одновременно используется двумя нодами.
              0
              Так машины виртуальные не должны тогда прерываться?
                0
                Если оба узла работают, то переезд ВМ проходит без перезагрузки ВМ, однако, если один узел отключится (сгорел сервер, например), то ВМ переедет на рабочий узел с перезагрузкой ВМ, т.е. фактически ВМ аварийно выключится и включится уже на другом узле.
            +1
            Коммутатор, а лучше два в стеке, с поддержкой LACP, в моем случае — это стек из двух Cisco 2960S

            Ещё лучше коммутаторы с поддержкой RDMA.
              –1
              Я этим летом делал похожий проект, правда у нас не было общего хранилища. Поэтому у нас не получилось сделать НА кластер, остановились на кластере с миграцией вм каждые 5 минут.

              В вашем случае(когда есть общее хранилище для данных) можно без проблем построить НА-кластер. На оба сервера устанавливаете hyper-v и failover cluster, добавляете sas-диски, настраиваете их как shared storage и добавляете к failover кластеру вм роль. Что-то похожее описывается тут.

              По поводу RDMA (тоже была это тема в связке с hyper-v). Это всё очень повышает скорость и доступность. Проблема в том, что если нельзя делать кластер с hyper-v и самба3 на одном сервере.

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

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