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

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 
Ищите метку? просто начните печатать.