Интересный случай с QLogic 10Gb адаптером работающим в режиме FCoE

Недавно, работая у одного из заказчиков, который использует протокол Fiber Channel Over Ethernet (FCoE) я столкнулся с интересным поведением операционной системы Windows 2008 R2, которым и хотелось бы с вами поделиться.

Суть проблемы состоит в том, что при анализе системы заказчика я "потерял'  95 МБ/сек данных, которые "утекали" с сервера в неизвестном направлении.
На рисунке ниже отображен дисковый трафик. Как видно (в среднем) он составляет 108 МБ/сек. В системе есть еще диск C:. но его трафик составляет не более 1 МБ/сек.
 И как справедливо можно было бы предположить весь этот трафик должен "течь" через Ethernet адаптеры, присоединенные к системе поскольку других адаптеров в системе нет.

 Так полагал и я, до тех пор пока не увидел показания счетчиков трафика, протекающего через Ethernet адаптеры (см. рисунок ниже) 

Как видно на этом рисунке максимальный трафик, протекающий через один из адаптеров, составляет чуть более 13 МБ/сек, а через оставшиеся два адаптера он намного ниже.

Так куда же деваются оставшиеся 95 МБ/сек?

Как показали дальнейшие исследования никуда они эти мегабайты не деваются, они, как и положено, инкапсулируются в Ethernet фреймах, но они не "видны" счетчиками операционной системы, поскольку инкапсуляция производится значительно ниже того уровня на котором работают счетчики Performance Monitor.
При углублении в изучение реализации FCoE (https://blog.ipspace.net/2011/12/fcoe-and-lag-industry-wide-violation-of.html, https://www.confignotes.com/2011/02/fcoe/)  оказалось, что он может быть реализован двумя способами.

Первый способ программный. В этом случае используется объединение TCP/IP трафика на специальном "Bonded" (связанном) интерфейсе. При таком варианте объединения весь трафик протекающий через можно контролировать через средства Windows.

 Но есть и другой способ. При котором инкапсуляция трафика производится на аппаратном уровне. Для этого используются специальные CNA (Converged Network Adapter) адаптеры (https://www.qlogic.com/Products/adapters/Pages/ConvergedNetworkAdapters.aspx). Так вот трафик на такой системе может не отображаться счетчиками Performance Monitor.

 

Данная нестыковка решена в Windows 2012 R2 и возможно вы уже с ней не столкнетесь.

В любом случае, обнаружив какое-либо несоответствие полученных диагностических данных и ваших ожиданий не ищите утешение в словах "Это система "глючит"". Ищите разумное объяснение происходящему.   

  Александр Каленик, Senior Premier Field Engineer (PFE), MSFT (Russia)