|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (60)
просмотр истории страницы... |
{warning} Виртуальные машины запрещено использовать для продакшна. |
{warning} {info} Все рекомендации ниже даны исключительно для того, чтобы *посмотреть на возможности* Carbon Reductor во время тестового периода. {info} В случае, если от данной инсталляции зависит отсутствие/наличие штрафов за пропуски *обязательно* использование физического сервера. |
|
Все рекомендации ниже даны исключительно для того, чтобы *посмотреть на возможности* Carbon Reductor во время тестового периода. |
|
В случае, если от данной инсталляции зависит отсутствие/наличие штрафов за пропуски *обязательно* использование физического сервера. {warning} |
h1. Общие рекомендации |
Постарайтесь *Коротко*: постарайтесь всё же вместо виртуальной машины использовать физическую\! |
|
Виртуальная машина, это всегда какая-никакая, а прослойка между ресурсами процессора и выполняемыми задачами. Обработка зеркала трафика это практически задача реального времени, на которую отведен очень короткий промежуток времени, в течении которого Carbon Reductor должен успеть: |
Виртуальная машина, это прослойка между ресурсами процессора и выполняемыми задачами. |
|
1. Принять пакет на сетевой интерфейс. 2. Принять пакет в ОС. 3. Разобрать пакет 4. Проанализировать, требуется ли ответить на него 5. Сформировать ответный пакет 6. Отправить его. |
Обработка зеркала трафика это задача реального времени. На неё отведен короткий промежуток времени, в течении которого Carbon Reductor должен успеть среагировать на пакет. |
|
и пакет ещё должен вылететь в сеть и пролететь до абонента. В случае, если модули фильтрации будут ждать своей очереди крутиться на процессоре, а в это время он будет нагружен другими делами (например проверять, стоит ли сбросить кэши виртуальных дисков на физический диск или вообще сейчас ядро процессора используется другой виртуальной машиной) - ничего хорошего из этого не выйдет: у вас появится пропуск в проверке ревизора, а у нас лишняя задача в хелпдеске. |
В некоторых сетях требуется вводить оптимизации для надёжной работы на всех возможных уровнях схем ниже: |
|
Так что лучше установить Carbon Reductor на физический хост и не рисковать\! |
* Снимать зеркало трафика ближе к абонентам * Использовать OSPF, чтобы снизить число промежуточных хостов для пакетов с редиректами * Использовать BGP Blackhole с блокировкой на маршрутизаторе до зеркала трафика, чтобы снизить его объём. |
|
Если вы всё таки решили положиться на вашу систему виртуализации: |
h2. Без виртуализации |
|
# При нагрузке больше 100 пользователей выделяйте Carbon Redcutor 4\+ ядра процессора, +которые никто кроме него не будет использовать+ (если кто-то использует их, то даже от 16 ядер ситуация лучше не станет - редуктор будет периодически обрабатывать пакеты медленнее, чем требуется). # Лучше, если других виртуальных машин на сервере не будет вообще. # Старайтесь напрямую пробрасывать сетевые карты. # Хост система тоже должна удовлетворять системным требованиям (хост с сетевыми картами realtek и эмуляцией e1000 внутри виртуальной машины - не даст повышения производительности). |
!Снимок экрана 2018-07-24 в 15.40.09.png|border=1,width=600! |
|
h1. XEN |
h2. С виртуализацией |
|
Иногда имеются проблемы с передачей пакетов модулю xt_reductor для анализа. |
Эта схема - упрощённый пример, все этапы обработки пакетов и работы систем виртуализации можно расписать подробнее, некоторые нюансы могут отличаться. |
|
h1. KVM |
Есть несколько способов снизить задержки и потери пакетов вносимые системой виртуализации: |
|
Отлично работает при использовании прямого проброса оборудования или тюнинга сетевых карт на хосте и при условии что сетевая карта или выделенные виртуальной машине с Carbon Reductor ядра процессора используются только им. |
* Проброс PCI-устройств. * Полное выделение оперативной памяти (а не по требованию). * Эксклюзивное выделение ядер процессора. * Выделение большего числа ядер процессора. * Тюнинг сетевого стека хост-системы. * Выбор аппаратного обеспечения хост-системы, соответствующего [системным требованиям|CarbonReductor:Системные требования]. |
|
*ЗАМЕЧАНИЕ*: Если не блокируется только http-трафик, а https - да, то можно попробовать сменить тип виртуальных сетевых карт, например на e1000. |
Но они не избавляют от них целиком. |
|
h1. Proxmox |
!Снимок экрана 2018-07-24 в 15.40.21.png|border=1,width=600! |
|
Не рекомендуем на каналах больше 100мбит/с. |
В случае, если модули фильтрации будут ждать своей очереди выполняться на ядре процессора, а в это время он будет нагружен другими делами - это закончится запоздалой реакцией на пакет или его потерей. У вас появится пропуск в проверке ревизора, а у нас лишняя задача в хелпдеске. Лучше установить Carbon Reductor на физический сервер и не рисковать. |
|
h1. VMWare ESXi |
|
Хорошо зарекомендовал себя при использовании на каналах до 10гбит/сек. |
h1. Рекомендации по системам виртуализации |
|
*Совет* \- для зеркала трафика используйте тип сетевых карт VMXNET 3, а не e1000. |
h2. VMWare ESXi |
|
Для зеркала трафика используйте тип сетевых карт *vmxnet3*, а не e1000 или vmxnet. |
Эти сетевые карты поддерживают [распределение прерываний по нескольким ядрам процессора, что позволяет снизить нагрузку|Потери на сетевых картах, задержки в обработке и как с ними бороться]. Известные проблемы: # Имели место случаи изменения порядка пакетов редиректа и RST. Точная причина не обнаружена (возможно промежуточное оборудование, возможно хост-система, при включенном tcpdump/tshark не воспроизводилась). |
# По умолчанию люди часто забывают [настроить vSwitch для приёма зеркала.|reductor5:Reductor в VMWare] |
# Нужно [настроить vSwitch для приёма зеркала|reductor5:Reductor в VMWare], иначе в зеркало трафика будет приходить только broadcast-трафик. |
|
h2. KVM |
|
h1. VirtualBox |
* Поддерживает прямой проброс оборудования. * Сетевую карту можно настроить на хосте. * Можно эксклюзивно выделить сетевую карту и ядра процессора виртуальной машине. |
|
Не надо, просто не надо. |
*ЗАМЕЧАНИЕ*: Некоторые виды виртуальных сетевых карт приводят к проблемам с фильтрацией по данным в пакете. Если вы столкнулись с этой проблемой, попробуйте поменять тип сетевой карты на e1000. |
|
h1. LXC и OpenVZ |
h2. Proxmox |
|
Из-за ограничений на modprobe (и ещё нескольких capabilities) не подходят для работы с Carbon Reductor. (не позволяют загрузить модули внутри контейнера). |
Не рекомендуем на каналах больше 100мбит/с. |
|
h1. Hyper-V |
h2. XEN |
|
Ни разу не тестировалось. Если у вас успешно работает Carbon Reductor на этой платформе - пожалуйста, сообщите нам\! |
Иногда имеются проблемы с передачей пакетов модулю для анализа, смещены указатели на данные. |
|
h2. VirtualBox Не подходит ни для реальной эксплуатации ни для тестирования качества фильтрации. h2. LXC, OpenVZ, Docker Из-за ограничений на взаимодействие с ядром ОС не подходят для работы с Carbon Reductor. h2. Hyper-V |
В случае работы на 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" |
# Настроить зеркалирование через PowerShell: |
|
{code} > $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 {code} |
|
> PS C:\Windows\System32\WindowsPowerShell\v1.0> Add-VMSwitchExtensionPortFeature \-ExternalPort \-SwitchName ALLTRAFFICMONITOR \-VMSwitchExtensionFeature $ExtPortFeature |
(вместо Вместо ALLTRAFFICMONITOR подставить название своего виртуального свича в Hyper-V). |
--- Остальные действия через обычные настройки виртуальных машин. |