Как узнать, почему дропаются пакеты (DRBD+iSCSI и GigabitEthernet)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
ArhAngel
Сообщения: 33
ОС: Gentoo Linux

Как узнать, почему дропаются пакеты (DRBD+iSCSI и GigabitEthernet)

Сообщение ArhAngel »

Я сделал систему распределённого хранения с помощью 2-х серверов, Gigabit Ethernet и DRBD.
Необходимо отдавать этот сетевой mirror по iscsi (для этого использую sys-block/iscsitarget-1.4.19)

Собственно, ситуация следующая:
Когда я отдаю по iSCSI блочное устройство /devdrbdX самого DRBD
у меня начинают дропаца пакеты на принимаюшем/отдающем iSCSI интерфейсе.

Код: Выделить всё

storage1-esx ~ # ethtool -S eth0
NIC statistics:
     tx_packets: 767809
     rx_packets: 1323766
     tx_errors: 0
     rx_errors: 0
     rx_missed: 11658
     align_errors: 0
     tx_single_collisions: 0
     tx_multi_collisions: 0
     unicast: 1300916
     broadcast: 22729
     multicast: 121
     tx_aborted: 0
     tx_underrun: 0

Делаю следующее:

Код: Выделить всё

отдаю по iSCSI таргет
Lun 0 Path=/dev/drbd0,Type=blockio
принимаю этот таргет
iscsiadm -m node -T iqn.2009-12.dsi.storage-esx:iSCSI.disk1 -p 10.10.101.11 -l
монтирую его
mount /dev/sdc1 /mnt/temp
проверяем скорость
dd if=/dev/zero of=111

на гигабитном интерфейсе выдаёт вот такое:

Код: Выделить всё

storage1-esx ~ # dstat -N eth0,eth1
----total-cpu-usage---- -dsk/total- --net/eth0----net/eth1- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send: recv  send|  in   out | int   csw
  0   5  92   0   1   2|  88M 2583k|   0     0 :   0     0 |   0     0 |9728    13k
  0   1  97   0   1   0|   0    36M|8443k   37k:  73k   12M|   0     0 |4642  3851
  1   2  97   0   0   1|   0    24M|8335k   37k:  49k 8269k|   0     0 |3750  3411
  0   2  97   0   1   0|   0    30M|  11M   55k:  60k   10M|   0     0 |4958  3953
  0   2  96   0   0   1|  12k   41M|  13M   65k:  81k   14M|   0     0 |6249  5515
  0   1  98   0   0   1|   0    18M|7438k   37k:  34k 5839k|   0     0 |3099  2356
  0   3  95   0   1   1|   0    45M|  15M   78k:  91k   15M|   0     0 |7196  5283
  0   2  97   0   0   0|   0    38M|  12M   68k:  73k   13M|   0     0 |5900  4703
  0   1  98   0   0   0|   0    26M|8674k   42k:  46k 8781k|   0     0 |3930  3035
  0   3  95   0   1   1|   0    33M|  16M   68k:  67k   12M|   0     0 |6150  5913
  0   3  95   0   1   1|   0    41M|  16M   68k:  76k   13M|   0     0 |6482  6235
  0   1  98   0   0   0|   0    30M|3749k   22k:  60k   11M|   0     0 |3358  2017
  0   1  98   0   0   0|   0    18M|7814k   36k:  37k 6201k|   0     0 |3196  2808
  0   2  96   0   1   1|   0    33M|9674k   48k:  65k   11M|   0     0 |4812  4042
  0   2  97   0   0   0|   0    26M|8889k   42k:  50k 8783k|   0     0 |4032  3341
  0   3  95   0   1   1|   0    37M|  16M   73k:  73k   12M|   0     0 |6586  6166 ^C

eth0 - это iSCSI, eth1 - синк между DRBD
Система практически не занята, прерываний не так много
но пакеты продолжают дропаться
причём дропаются при ситуации, когда я отдаю по iscsi DRBD-диск.
Если отдавать при тех же настройках (net.ipv4, net.core iSCSI-taget'a) отдавать само блочное устройство /dev/sdXX то всё очень даже отличено работает.
Чтение на гигабитном интерфейсе происходит просто супер

Где что можно ещё помониторить?
Спасибо сказали:
Аватара пользователя
ArhAngel
Сообщения: 33
ОС: Gentoo Linux

Re: Как узнать, почему дропаются пакеты (DRBD+iSCSI и GigabitEthernet)

Сообщение ArhAngel »

Заметил станный момент
на одной части сторы вот так

Код: Выделить всё

user@storage2-esx:~$ cat /proc/interrupts
           CPU0       CPU1
  0:        418          0   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  7:          0          0   IO-APIC-edge      parport0
  8:          1          0   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          4          0   IO-APIC-edge      i8042
 14:          0          0   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:        145          0   IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel, i915
 18:     509110          0   IO-APIC-fasteoi   uhci_hcd:usb4, eth0
 19:   20221719          0   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb3, eth1
 23:          0          0   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2
NMI:          0          0   Non-maskable interrupts

а на другой части
вот

Код: Выделить всё

user@storage1-esx:~$ cat /proc/interrupts
           CPU0       CPU1
  0:        234        184   IO-APIC-edge      timer
  1:          3          1   IO-APIC-edge      i8042
  7:          0          0   IO-APIC-edge      parport0
  8:          0          1   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 12:          2          4   IO-APIC-edge      i8042
 14:          0          0   IO-APIC-edge      ata_piix
 15:          0          0   IO-APIC-edge      ata_piix
 16:         56         55   IO-APIC-fasteoi   uhci_hcd:usb5, HDA Intel
 18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
 19:    1252259    1252649   IO-APIC-fasteoi   ata_piix, uhci_hcd:usb3
 23:    8879332    8883150   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb2, eth1
 26:    5894933    5890732   PCI-MSI-edge      eth0

прерывания на eth0 распределяются равномерно и на первой сторе сейчас нет дропов
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: Как узнать, почему дропаются пакеты (DRBD+iSCSI и GigabitEthernet)

Сообщение Frank »

ядра разные?
Изображение
Спасибо сказали:
Аватара пользователя
ArhAngel
Сообщения: 33
ОС: Gentoo Linux

Re: Как узнать, почему дропаются пакеты (DRBD+iSCSI и GigabitEthernet)

Сообщение ArhAngel »

абсолютно одна и таже конфига
процы абсолютно одинаковые: E2200
но мамки разные, может что-то мамка глючит
Спасибо сказали: