Шейперы

Все шейперы в XGE являются динамическими.
Статичные при желании можно создать вручную стандартными средствами Linux (tc).

Перестроение шейпера вручную

При необходимости шейпер можно перестроить выполнив команду:

chroot /app/xge shaper.sh
chroot /app/xge xge_sync

Первая команда удалит дерево шейпера и заново создаст корневые шейперы.
Вторая команда синхронизирует шейперы абонентов.

В конфигурационном файле /app/xge/cfg/config должен быть включен скрипт синхронизации:
app['xge_sync']='1'

Просмотр дерева шейперов

Посмотреть дерево шейперов можно выполнив скрипт render_shaper.sh:

chroot /app/xge/ render_shaper.sh

Вывод будет приблизительно следующий:

imq0
1:1 rate=830000Kbit ceil=830000Kbit now=Kbit
   1:100 rate=138333Kbit ceil=830000Kbit now=Kbit
      1:2009 rate=10000bit ceil=10000bit now=Kbit
      1:2001 rate=1024Kbit ceil=1024Kbit now=Kbit
      1:2003 rate=1024Kbit ceil=1024Kbit now=Kbit
   1:200 rate=50000Kbit ceil=500000Kbit now=Kbit
   1:300 rate=50000Kbit ceil=500000Kbit now=Kbit

imq1
1:1 rate=830000Kbit ceil=830000Kbit now=Kbit
   1:100 rate=138333Kbit ceil=830000Kbit now=Kbit
      1:2009 rate=10000bit ceil=10000bit now=Kbit
      1:2001 rate=1024Kbit ceil=1024Kbit now=Kbit
      1:2003 rate=1024Kbit ceil=1024Kbit now=Kbit
   1:200 rate=50000Kbit ceil=500000Kbit now=Kbit
   1:300 rate=50000Kbit ceil=500000Kbit now=Kbit

Исходящий корневой шейпер на все сети: imq0 1:100
Входящий корневой шейпер на все сети: imq1 1:100
Под каждым из них идут шейперы абонентов.

Как посмотреть шейпер абонента

  1. Получите ID шейпера по IP-адресу абонента:
    chroot /app/xge/ xgesh session 192.168.0.101 info

    Вывод:

    192.168.0.101 S192.168.0.101 - in|30000|30720|10000|out|30000|30000|10000 xge_auth_list - 2028 UP IPOE - 1544191194 - - - - - - - - - - - - - - - - - - - - -

    Здесь ID шейпера - 2028

  2. Выполните скрипт render_shaper.sh и отфильтруйте вывод по ID шейпера абонента:
    chroot /app/xge/ render_shaper.sh | grep 2028

    Вывод:

          1:2028 rate=30000Kbit ceil=30000Kbit now=Kbit
          1:2028 rate=30000Kbit ceil=30720Kbit now=Kbit

    В первой строке будет исходящий шейпер, во второй - входящий.

Алгоритм для просмотра суммарной гарантированной скорости всех абонентов, в статусе UP, исключая абонентов IPOE

Первый скрипт записывает все гарантированные скорости таких абонентов в файл /root/all_speed. Выполнение данного скрипта может занять около 10 минут:
chroot /app/asr_billing/
xgesh session dump | grep -i up | grep -v IPOE | awk  '{print $7}' | while read line; do render_shaper.sh | grep -i $line | uniq | awk  '{print $2}' | sed -r "s/rate=//g" | sed -r "s/Kbit//g" >> /root/all_speed ; done
Второй скрипт суммирует все скорости и выводит результат в Килобитах. Предварительно нужно выйти из контейнера /app/xge/:
echo `cat /app/xge/root/all_speed` | tr " " "+" | bc

Отключение шейперов

При нагрузочном тестировании канала полезно отключить шейперы.

Отключить шейпр
ip link set down dev imq0
ip link set down dev imq1

После тестирования не забудьте включить шейпер.

Включить шейпр
ip link set up dev imq0
ip link set up dev imq1