Проверить шейперы. Проверка шейперов
1. Проверить скорость канала.
Запустить две консоли помощника или рута
На первой консоли запустить пункт меню "Мониторинг сети", на а второй консоли такую команду:
ip link set down imq1; ip link set down imq0; sleep 60; ip link set up imq1; ip link set up imq0;
эта команда на 60 секунд отключит шейперы и канал будет отдавать столько сколько может
Отключаем шейперы под рутом
ip link set down imq1; ip link set down imq0;
Смотрим загрузку через menu
Включаем шейперы
ip link set up imq1; ip link set up imq0;
- Если при выключении шейперов скорость увеличивается - нужно перестроить шейперы (если скорость соответствует заявленной).
Перенастроить шейпер без перезагрузки сервера
Выполните в консоли под удаленным помощником команду:
/etc/init.d/firewall_usersd stop; /usr/local/ics/bin/qos.sh; /etc/init.d/firewall_usersd start
- Если при выключении шейперов скорость не меняется - нужно смотреть дерево шейперов (если скорость соответствует заявленной).
2. Дерево шейперов. Построение дерева шейперов.
Важно: Строить дерево можно только при включенном шейпере
Следующие инструкции позволяют получить в наглядном виде полное дерево шейперов для дальшейшего анализа
imq0 - исходящий
imq1 - входящий
cd /tmp /usr/local/ics/bin/render.sh cat /tmp/stat_imq0.txt cat /tmp/stat_imq1.txt
Примечание: Техподдержке эту информацию лучше предоставлять в виде отдельных файлов, чтобы не побились отступы.
3. Анализ дерева шейперов
Проверяем скорости указанные в дереве шейперов. Нас интересует строка вида:
1:1 rate=710000Kbit ceil=710000Kbit now=5120
rate - общая гарантированная скорость
ceil - общая максимальная скорость
now - текущая общая скорость
Если значение now сильно ниже rate Проверяем:
3.1 Проверить и выставить настройки QOS (в консоли) согласно внешнему каналу.
3.2 Использовать тарифы справедливый канал.
3.3 Расширить потребляемый канал.
Решение проблем:
1. Скорости у абонентов не соответствуют скоростям в тарифах.
Посмотреть вкладку Диагностика в менеджере и нажать кнопку Информация. Вам выведется информация по пользователю и его ограничения шейпера.
Также вы можете получить эту информацию в консоли.
Найти текущий активный шейпер абонента по id клиента
/usr/local/ics/bin/userinfo <id абонента> | grep -m1 'class htb'
Вы получите примерно следующий вывод
class htb 1:2119 parent 1:1097 leaf 2119: prio 0 rate 32Kbit ceil 10000Kbit burst 1603b cburst 2878b
Элемент class htb 1:2119 отражает текущий шейпер пользователя.
parent 1:1097 говорит о текущем тарифе пользователя (в данном случае это тариф №97)
Если у абонента в выводе отсутствует parent, то это может говорить о том что при построении дерева шейперов произошел сбой и абоненту не назначилась корневая группа, у абонента будут проблемы со скоростью.
При возникновении такой проблемы нужно перестроить шейперы без перезагрузки сервера как описано выше.
Ограничение скорости с локального интерфейса сервера
Если есть необходимость установить определенную скорость для трафика, идущего с сервера Carbon Billing, можно добавить правило в системный firewall:
При этом скорость с локального ip 10.0.0.1 сервера будет 4096 кбит/с.
Как ограничить локальный и городской трафик
В новых версиях не поддерживается отдельные разные шейперов у пользователя для городских и локальный т.к. это на два порядка увеличивает нагрузку и не дает преимуществ.
Есть несколько вариантов как другим способом ограничить локальную и городскую скорость
Вариант 1
Шейпер работает по умолчанию с внешней подсетью.
Ограничить локальный и городской трафик можно по сессиям в меню оптимизация сети
Ограничить скорость локального трафика, n Кбит на сессию 500
Ограничить скорость городского трафика, n Кбит на сессию 500
Дополнительно можно ограничить суммарный локальный трафик, в Carbon Manager в системном firewall
src 10.0.0.0/255.255.0.0
dst 10.0.0.0/255.255.0.0
действие шейпер, скорость 30000кбит
Вопрос: В локальном меню Carbon Billing есть возможность задать скорость "Городского трафика", что это за трафик?
Ответ: "Городской трафик" это трафик из внешних сетей, которые в тарифе не ограничены по скорости.
Вариант 2
Использование в тарифе правил только для внешней сети (ALL) без правил для локальной и городской
Вариант 3
Ограничение на коммутаторе, многие коммутаторы позволяют ограничить скорость порта.
Рекомендации
Мы не рекомендуем ограничивать локальную скорость, тк это устаревшая традиция и большие провайдеры уже давно не используют такое ограничение.
Городские и пиринг сети рекомендуем ограничивать только если они значительно загружают канал, и ограничивать их только суммарно.
Как исключить бэкап-сервер из ограничения скорости
Для того, чтобы добавить ip-адрес внутреннего сервера (или подсеть) в исключения правил firewall и шейпера, необходимо произвести следующие действия:
mount -o rw,remount /mnt/ro_disc/
chattr -i /usr/local/ics/bin/ics_tune.sh
chmod +w /usr/local/ics/bin/ics_tune.sh
mcedit /usr/local/ics/bin/ics_tune.sh
В файле ics_tune.sh добавить следующие строки:
if [ "$1" = "firewall.sh" ]; then iptables -t mangle -I POSTROUTING -d <ip_сервера_статистики> -j ACCEPT iptables -t mangle -I PREROUTING -s <ip_сервера_статистики> -j ACCEPT fi
Затем следует перезагрузить сервер либо выполнить команду:
/usr/local/ics/bin/ics_tune.sh firewall.sh
Примечание: не следует вносить более трех правил, т.к. это может значительно повлиять на загрузку сервера.