Виртуальные машины

Skip to end of metadata
Go to start of metadata
Виртуальные машины запрещено использовать для продакшна. 

Все рекомендации ниже даны исключительно для того, чтобы посмотреть на возможности Carbon Reductor во время тестового периода.

В случае, если от данной инсталляции зависит отсутствие/наличие штрафов за пропуски обязательно использование физического сервера.

Более подробно узнать, почему нельзя их использовать в продакшне можно по ссылке: https://strizhechenko.github.io/2016/11/09/reductor-and-vm.html

Общие рекомендации

Постарайтесь всё же вместо виртуальной машины использовать физическую!

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

1. Принять пакет в сетёвку.
2. Принять пакет в ОС.
3. Разобрать пакет
4. Проанализировать, требуется ли ответить на него
5. Сформировать ответный пакет
6. Отправить его.

и пакет ещё должен вылететь в сеть и пролететь до абонента. В случае, если модули фильтрации будут ждать своей очереди крутиться на процессоре, а в это время он будет нагружен другими делами (например проверять, стоит ли сбросить кэши виртуальных дисков на физический диск или вообще сейчас ядро процессора используется другой виртуальной машиной) - ничего хорошего из этого не выйдет: у вас появится пропуск в проверке ревизора, а у нас лишняя задача в хелпдеске.

Так что лучше установить Carbon Reductor на физический хост и не рисковать!

Если вы всё таки решили положиться на вашу систему виртуализации:

  1. При нагрузке больше 100 пользователей выделяйте Carbon Redcutor 4+ ядра процессора, которые никто кроме него не будет использовать (если кто-то использует их, то даже от 16 ядер ситуация лучше не станет - редуктор будет периодически обрабатывать пакеты медленнее, чем требуется).
  2. Лучше, если других виртуальных машин на сервере не будет вообще (хотя, в таком случае, зачем вообще виртуализация? )
  3. Старайтесь напрямую пробрасывать сетевые карты.
  4. Хост система тоже должна удовлетворять системным требованиям (хост с realtek-сетевками и эмуляцией e1000 внутри виртуалки - не даст повышения производительности).

XEN

Иногда ок, иногда имеются проблемы с передачей пакетов модулю xt_reductor для анализа.

KVM

отлично работает при использовании прямого проброса оборудования или тюнинга сетевых карт на хосте и при условии что сетевая карта или выделенные виртуальной машине с Carbon Reductor ядра процессора используются только им.

ЗАМЕЧАНИЕ: Если не блокируется только http-трафик, а https - да, то можно попробовать сменить тип виртуальных сетевых карт, например на e1000.

Proxmox

Не рекомендуем на каналах больше 100мбит/с.

VMWare ESXi

Хорошо зарекомендовал себя при использовании на каналах до 10гбит/сек.

Совет - для зеркала трафика используйте тип сетевых карт VMXNET 3, а не e1000.

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

Известные проблемы:

  1. Имели место случаи изменения порядка пакетов редиректа и RST. Точная причина не обнаружена (возможно промежуточное оборудование, возможно хост-система, при включенном tcpdump/tshark не воспроизводилась).
  2. По умолчанию люди часто забывают настроить vSwitch для приёма зеркала.

VirtualBox

Не надо, просто не надо. Это не для продакшна.

LXC и OpenVZ

Из-за ограничений на modprobe (и ещё нескольких capabilities)  не подходят для работы с Carbon Reductor. (не позволяют загрузить модули внутри контейнера).

Hyper-V

Ни разу не тестировалось. Если у вас успешно работает Carbon Reductor на этой платформе - пожалуйста, сообщите нам!

В случае работы на Windows server 2012 Standart нужны следующие действия:

1. Установить и применить пакет обновления от Microsoft KB2885541 (https://support.microsoft.com/ru-ru/kb/2885541)
2. Настроить зеркалирование через PowerShell (всего три команды):

> $ExtPortFeature=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port SecuritySettings"

> $ExtPortFeature.SettingData.MonitorMode = 2

> PS C:\Windows\System32\WindowsPowerShell\v1.0> Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName ALLTRAFFICMONITOR -VMSwitchExtensionFeature $ExtPortFeature

(вместо ALLTRAFFICMONITOR подставить название своего виртуального свича в Hyper-V)

Остальные действия через обычные настройки виртуальных машин.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.