null

Конфигурация LLT для VCS в виртуальной сети на основе Open vSwitch

Намедни пришлось конфигурировать Veritas Cluster Server на двух Windows 2012R2 в виртуальной среде. Как уже было сказано в заголовке, за сеть отвечал Open vSwitch, соединения между виртуальными машинами (на разных хостах) реализованы посредством GRE туннеля с MTU 1500, соответственно ограничением со стороны виртуалок являлось MTU ниже дефолного (в данном случае 1400). С точки зрения сетевого адаптера Windows это возможно настроить в cmd:

C:\>netsh interface ipv4 set subinterface "Ethernet 2" mtu=1400

и увидеть результат командой:

C:\>netsh interface ipv4 show subinterfaces

   MTU  MediaSenseState   Bytes In  Bytes Out  Interface
------  ---------------  ---------  ---------  -------------
4294967295                1          0          0  Loopback Pseudo-Interface 1
  1400                1      18959      23055  Ethernet
  1400                1      17807      21903  Ethernet 2

Однако LLT использует mtu, прописанный в файле llttab. После настройки графической утилитой VCS Configuration Wizard ноды "подружить" не удаётся.
Выглядит это следующим образом.
Одна из нод при старте стабильно зависает в состоянии REMOTE_BUILD:

C:\>hastatus -sum

-- SYSTEM STATE
-- System               State                Frozen

A  WIN20012             RUNNING              0
A  WIN20112             REMOTE_BUILD         0

Это состояние подразумевает, что нода пытается получить и применить конфигурацию с другой ноды. В рабочей конфигурации это состояние длится недолго, здесь же оно бесконечно.
GAB при этом ничего интересного не говорит:

C:\>gabconfig -a
GAB Port Memberships
=======================================
Port a gen   383b01 membership 01
Port c gen   383b03 membership 01
Port h gen   383b04 membership 01

А вот LLT-линки не поднимаются:

C:\>lltstat -nnv configured
LLT node information:
    Node                 State     Links
   * 0 WIN20012          OPEN        2
     1 WIN20112          OPEN        2

Статистика также показывает наличие исходящего трафика и практическое отсутствие входящего на обеих нодах:

C:\>lltstat
LLT statistics:
    132        Snd data packets
    1125       Snd retransmit data
    7335       Snd connect packets
    1623       Snd independent ACKs
    17         Snd piggyback ACKs
    0          Snd independent NACKs
    0          Snd piggyback NACKs
    65         Snd loopback packets
    28         Rcv data packets
    28         Rcv data packets in-sequence
    1          Rcv out of window
    0          Rcv duplicates
    0          Rcv datagrams dropped
    0          Rcv multiblock data
    2          Snd chained header
LLT errors:
    0          Rcv not connected
    0          Rcv unconfigured
    0          Rcv bad dest address
    0          Rcv bad source address
    0          Rcv bad generation
    0          Rcv no buffer
    0          Rcv malformed packet
    0          Rcv wrong length packet
    0          Rcv bad SAP
    0          Rcv bad STREAM primitive
    0          Rcv bad DLPI primitive
    0          Rcv DLPI error
    0          Snd not connected
    0          Snd no buffer
    0          Snd stream flow drops
    0          Snd no links up
    0          Rcv bad checksum
    0          Rcv bad udp/ether source address
    65         Snd loopback packets
    0          Rcv out of sequence

Имея знание нашей сетевой конфигурации, указываем MTU для LLT. Для этого редактируем файл llttab (по умолчанию располагающийся на виндовсах в C:\Program Files\Veritas\comms\llt\llttab.txt ) на обеих нодах следующим образом:

#было:
...
#link <tag-name> <device> <node-range> <link-type> <udp port> <MTU> <IP-address> <bcast-address>
link Adapter2 2E:DE:AD:BE:EF:00 - ether - -
link Adapter3 3E:DE:AD:BE:EF:00 - ether - -
...
#стало:
...
#link <tag-name> <device> <node-range> <link-type> <udp port> <MTU> <IP-address> <bcast-address>
link Adapter2 2E:DE:AD:BE:EF:00 - ether - 1400
link Adapter3 3E:DE:AD:BE:EF:00 - ether - 1400
...

Перезагружаем ноды, проверяем состояние:

C:\>lltstat -nvv configured
LLT node information:
    Node                 State    Link  Status  Address
   * 0 WIN20012          OPEN
                                  Adapter2   UP      2E:DE:AD:BE:EF:00
                                  Adapter3   UP      3E:DE:AD:BE:EF:00
     1 WIN20112          OPEN
                                  Adapter2   UP      2E:DE:AD:BE:EF:01
                                  Adapter3   UP      3E:DE:AD:BE:EF:01

C:\>hastatus -sum

-- SYSTEM STATE
-- System               State                Frozen

A  WIN20012             RUNNING              0
A  WIN20112             RUNNING              0

Линки поднялись, ноды успешно стартанули.