[Comm] Advanced Routing & QoS
Andy Gorev
=?iso-8859-1?q?gorev_=CE=C1_mailru=2Ecom?=
Чт Дек 5 17:41:32 MSK 2002
Andrey Orlov wrote:
>>Дело в том, Андрей, что статья изначально задумывалась как обзор
>>возможностей, с дальнейшей ссылкой на ресурсы с примерами по реализации,
>>а не инструмент для быстрой настройки. Другими словами, это не HOWTO.
>
>
> Ну если хотите мое сугубо личное мнение, как человека поддерживающего
> один из пакетов Alt и иногда реагирующего на вопросы пользователей - то
> нет никаких шансов, что пользователь пакета станет читать отвлеченную
> теорию. Даже на пакете масштаба Zope очень хорошо заметно, что
> на открытый исходный код находится спрос когда выделенные
> на проект деньги про-стите-трачены, а показывать заказчику что-то надо. А уж
> узкоспециальный QoS, iproute2 & всякий другой iptables - одназначно, когда припрет.
Согласен с Вами. Есть только одно но. Вы описали как раз тот случай,
когда эту самую информацию надо добывать. А речь идет о варианте
материала в Руководстве Администратора дистрибутива. Только совсем
ленивому будет не интересно пролистать IMHO самую интересную книжку из
коробки.
> Даже в методичке альтлинуха написано что "свойством человеческого
> чего-то там является то, что о вопросах безопасности задумываются
> только когда о них можно уже не думать" - я переврал, но смысл
> примерно такой. Соответственно в этот момент залатать-бы-чбы-не-потонуть, а теорию
Вот именно, за это деньги платят тех-поддержке, а не с коленки делают по
рецептам из книжки. Любое решение нужно опробовать, прежде чем внедрять
окончательно. А когда "тонут", скорее работает принцип "хоть бы
как-нибудь работало", чем "это работает не так как я думал".
> потом почитать можно. Со всей этой документации идущей вместе с пакетом я
> вижу единственный смысл - не превращать OpenSource в бесплатный хелпдеск.
Точно. Тем более "Обзор Возможностей" не должен быть им.
> А раз так - то доки должны давать конкретные ответы на конкретные вопросы,
А где они, эти конкретные вопросы?
> теорию потом можно подчерпнть в статье Кузнецова и Салли Флойд, а также
> других заметках, идущих вместе с пакетом.
>
> Сбсно основное впечатление от Вашей статьи (безусловно хорошо написанной в отличие от
> многих ваших предшественников, я не хотел бы пропустить это обстоятельство) - основное
И на этом спасибо :-)
> впечатление свелось к ощущению каких-то обманутых ожиданий: я не узнал ничего, чего
> не было бы ранее, в то время как мне много чего хотелось бы узнать.
Вы являетесь как-раз продвинутым человеком, а не новичком. Другими
словами, это писалось не для Вас. И в самом деле, как можно охватить в
рамках одной статьи вопросы, которые возникают по теме у самых разных
людей. Как это не парадоксально, но данный обзор не только не HOWTO, но
и не FAQ =)
>>Если расширять раздел 7, то там надо рассматривать редко-используемые
>>классификаторы, про описание которых даже в отмеченном HOWTO прямо так и
>>сказано, что: "For more filtering commands, see the Advanced Filters
>>chapter".
>
>
> Да, но там же есть эта "Advanced Filters chapter" - а у вас нет, у вас считайте битая ссылка
А надо? Если надо, добавим. Только нужно взвесить, будет ли кто
использовать классификаторы типа cls_tcindex, cls_route, или cls_rsvp. Я
что-то сильно сомневаюсь.
> (про man tc см.ниже) И даже тот объем, после которого написано "For more .." - вполне самодостаточен
> в HOWTO. Я не предлагаю написать второе HOWTO, только по-русски - я уже говорил что ваш
> стиль существенно лучше, но рассмотрите хотя бы один или два - тот же u32 & fw - и вложите
ОК, для того я и предложил комьюнити добавить к статье свои материалы.
> Что касается cbq.init - мы вообще о какой версии пакета iproute2 говорим,
> мбть у меня apt не так настроен? У меня вот этот стоит:
>
>
>>01:28:38 (cray на fire) /home/cray> rpm -qi iproute2
>>Name : iproute2 Relocations: (not relocateable)
>>Version : 2.4.7 Vendor: ALT Linux Team
>>Release : alt3.ss010824 Build Date: Wed Oct 30 23:48:40 2002
>>Install date: Thu Dec 5 00:47:10 2002 Build Host: office.altlinux.com
Именно об этой.
> в нем файла cbq.init просто нет.
Зато есть /etc/rc.d/init.d/cbq который в девичестве назывался cbq.init.
Зачем словесных баталий? Ведь из текста обзора и так было ясно, куда
смотреть (п.8 Реализация).
>>>/etc/sysconfig/cbq/cbq-0000.example
>
>
> не содержит ни одного комментария.
Все комментарии и пример смотрите в /etc/rc.d/init.d/cbq. Кроме того
есть некий микро-хауту в
README.iproute2+tc от Кузнецова.
> Я имел ввиду :
>
> "Что бы ограничить пользователя васю от скачивания 15гектар голых теток
> попробуйте написать :
QoS предназначен для несколько других целей.
> .....
> tc qdisc add dev eth0 parent 1:1 handle 10: tbf burst 270000 rate 10kbit latency 1
> tc filter add dev eth0 parent 1:0 pref 6 protocol ip u32 match ip dst 1.2.3.4/32 flowid 1:1
> "
>
> "Что бы дать пользователю пете получать почту в тот момент когда пользователь
> вася все-таки скачивает 15гектар голых теток, попробуйте :"
Вот это уже ближе.
> .....
> "
>
> И т.п. Только примеры должны быть реальными и гарантировано работающими (эти не работают,
> кстати) - а что до откомментированного cbq.init, то я тоже написал откомментированный
А они и не будут работать, т.к. не правильные. За правильными примерами,
и конкретными ответами на конкретные вопросы идите в указанный список
рассылки. Или, для начала, в его архив
http://mailman.ds9a.nl/pipermail/lartc/
> zope_proxy.conf - что не мешает пользователям задавать вопросы, читать howto на
> neural.ru (судя по статистике посещений) и наступать на все грабли, которые я позабыл упомянуть.
ARouting и QoS довольно мутная тема, как из-за сложности реализации, так
и практической недокументированности. Грабли будут всегда, как бы не
старались писать статьи.
>>смысл? Для неподготовленного статья и так трудно читается, а для
>>остальных указаны ссылки, по которым искать дополнительную информацию,
>>конфиги, примеры, и прочее.
>
>
> Я уже писал - неподготовленный читатель (например я) не нашел в статье ничего,
> что не было бы изложено раньше в doc/*ps.gz. Хотя многих спасет то, что
> на этот раз рассказано по-русски и более-менее доступным языком. Кроме того,
> неподготовленный читатель (например я) единственную помощь в реальных
> настройках нашел только в упомянутом HOWTO. Это несмотря на то, что
> неподготовленный читатель (например я) с большим интересом прочитал
> рекомендованную Кузнецовым статью Флойд, прикинул откуда следуют формулы
> и подивился забавному способу перенумеровки вершин дерева, и именно поэтому
> осмелился предположить что часть функционала, обещанного CBQ, не функционирует,
> по крайней мере в ALM2.0. Кстати когда тот же неподготовленный читатель попробовал
> применить "работающий пример" из doc/exmples - он не заработал (это было давно, но тогда помнится
> сам перлячий скрипт тупо осыпался, и даже после того как читатель это победил и вся байда
> создалась - траффик контролл не появился...). Теперь (подготовивишись) непоготовленный
> читатель понимает почему он не заработал, и утверждает что комментарии
> в примере абсолютно бесполезны.
Вы уже давно подготовленный ;) Более того, после чтения Флойд, я думаю
Вам здесь не будет равных ;-) Вот и поправьте неправильный комментарий
на правильный. Многие только спасибо скажут.
> Все, извините за этот невольный наезд - я просто думаю что критика будет
> отчасти полезна. Проблема в том, что я не до конца понимаю целевую
Критика в целом конструктивна и понятна, только зря. И вот почему. Я
ведь написал сюда не с просьбой покритиковать именно статью, а с
просьбой дополнить ее. Причем в основном тем, чего Вам так в ней и не
хватает. :-)) Я ведь не такой крутой хакер-ядерщик или спец по tc, как
может показаться. За рамки стандартных возможностей и конфигураций почти
не вылазил. Более того, в самом начале я отметил преимущества того, что
статья будет обсуждаться и дополняться здесь, прежде чем попадет в книгу.
> аудиторию статьи - если это читатель обзоров, интересующийся "а как там в мире?" -
> то мало сравнительной аналитики с той же CISCO & MS, и много формул (и вообще-то такие
> статьи лучше в КТ), если админ который полезет настраивать - то много рекламы и нет
> конкретных советов (я говорю это как тот самый админ), если читатель который ищет с чего
Аудитория - админы, которые не знали про существование таких
возможностей, или были сбиты с толку всеми этими множественными
аббревиатурами, и не знали с чего начать. И советы там тоже есть, причем
конкретные. Или для Вас конкретика это конфиги? Хорошему админу
достаточно идею подать, чтобы он начал думать и пробовать, а не тупо
копировать и спрашивать.
> начать и куда пойти дальше - то см. ниже про tc-filters (себя приводить в пример не буду, так
> как моменту прочтения уже начал). Вот это меня и смущает.
>
> На самом деле ни в коем случае не хочу умалять достоинства ну и так далее ;)
Вообще говоря, хорошую статью написать денег стоит. И написал я ее не
для того, чтобы самоутвердиться, или от того что у меня нет своей
работы, а потому что меня попросили. На atms выложил по понятным
причинам. Но основной вариант еще находится на доработке.
> Обновился. Похоже, мое письмо было невнимательно прочитано.
> Где среди них tc-filters? Не хорошо не проверять предлагаемые решения перед отправкой,
> тем более что проверочный тест был приведен в моем письме:
>
> 1. man 8 tc | grep -iE "u32|fw" - по прежнему пусто (а ссылка в статье стоит именно на него)
> 2. tc-filters - по прежнему нет (в том числе в вашем списке), равно как нет tc-u32 или tc-fw ;).
> 3. man 8 tc по прежнему при любых упоминаниях фильтров ссылается на man 8 tc-filters.
Вы пытаетесь меня обвинить, или Вам нужна информация? Ну нету там этого
файла, нету, и что дальше будем делать? Я вообще-то давал ссылки, где
искать информацию. Повторюсь, возможно
http://www.docum.org/stef.coene/qos/docs/filter.html поможет. А за
отсутствие или наличие документации в пакете я не могу отвечать.
>>Я не могу опровергнуть, или подтвердить ваши предположения, так как не
>>являюсь программистом, тем более на ядерном уровне. Однако у меня тоже
>
>
> Я не расчитывал - меня интересует в данный момент не аргументы
> на уровне листингов, а как-бы-это сказать - интуитивные ощущения
> от использования и от контактов с разработчиками / другими пользователями
Свои впечатления я Вам дал, другие возможно тоже ответят. Вам лучше
обратиться за деталями в упомянутый список рассылки.
> Похоже у меня на лице написано что я - микрософт сертифаед. Так это было
Неа, я бы не догадался ;)
>>нескольких серверах работает связка из CBQ+u32+TBF общим числом около
>>500 классов. Серверы, на которых крутится все это хозяйство далеко не
>>мощные, особенно по нынешним временам. Тем не менее особых проблем
>>замечено не было. На ядрах 2.2 _иногда_ были странные "отъезжания
>>крыши", если говорить несколько раз за сутки "service cbq restart".
>
>
> Это тоже похоже на неинициализированную память и неосвобождение ресурсов,
> хотя у меня стук был более явный.
Мы тоже так предположили.
>
> Я юзал примерно тоже, только prio+u32+tbf. А кстати - почему CBQ+TBF, ведь CBQ само
> по себе имеет шейпер и AFAIK не нуждается в TBF ? Я везде видел рекомендации
> типа CBQ + SFQ, и у вас в методичке тоже, AFAIR (нет под рукой), CBQ+u32+SFQ,
> и вдруг выясняется что вы сами-то используете CBQ+u32+TBF...
Все просто. Мы не стали изобретать скриптов, а просто наполнили каталог
/etc/sysconfig/cbq конфигами. Просто _внимательно_ перечитайте пункт 8 в
"методичке", и станет ясно почему так.
> У меня это подглюкивает на ядре 2.4.18(см оригинал письма).... Т.е. сейчас
> uptime 3дня без сбоев, но это после долгого перебора ключиков и подбора
> безглючной комбинации - хотя если верить методичкам все глючащие варианты должны были
> работать. И все работали - первые час-полтора-два, потом им сводило башню,
> что и навело меня на грустные предположения (см оригинал письма). И тот вариант который сейчас
> работает - это не тот вариант, который мне бы хотелось что бы работал, так как тому сводило-таки
> башню без видимых причин. Но как я говорил уже - писать багрепорты пока не считаю себя готовым.
На всех серверах 2.4.18 из Альта, и никаких проблем (с ip/tc во всяком
случае).
>>тестируют. Хотя возможно я и ошибаюсь. Следовательно, это вопрос
>>напрямую к Кузнецову. Попробуйте, может быть он вам и ответит ;-)
>
>
> Я правильно вас понимаю, что обычно он не отвечает? И тот же отказ от
> консультаций содержится в его инструкциях... И обещанная им дока по tc,
> судя по содержимому пакета, не написана до сих пор... (и, видимо, не будет - уже
> два года отложенных обещаний прошло, не так ли?)
Не могу говорить за Кузнецова, но в свое время, мы от него поддержки не
получили. Не думаю, что сейчас ситуация кардинально изменилась.
>>Если Вам удастся вытащить какую-либо информацию из Кузнецова, я думаю
>>она будет многим здесь интересна и полезна.
>
>
> Похоже Кузнецов сдерживает свое обещание никого не консультировать ;)
Давно не пробовали ;) Но доки он действительно долго пишет.
>>>1. Поискать другое решение (в случае если этот код вообще никто не
>>>поддерживает и это лишь
>>>забавный реликт, оставшийся от ядер 2.2.*);
>
>
>>Ни в коем случае не реликт!
>
>
> Место Кузнецова среди разработчиков этого кода уже не вакантно, его кто-то занял?
Т.е.? Я и не знал, что он больше эти не занимается.
>>Чтобы отказаться от этого "реликта", вам
>>придется отказаться не только от Альта, но и от Линукса вообще. Код
>
>
> Не думаю. Вы сами пишите что AltLinuxTeam его серъезно не разрабатывает
> и не использует - и тем не менее не отказывается от Линукса вообще ;).
> Да и честно говоря я очень сомневаюсь что при сегодняшнем обилии альтернатив найдется
> что-либо конкретное в линуксе, отказ от чего вынудит отказаться от линукса
> "вообще". Разве что ядро? Но что-то заставляет меня думать, что если припрет -
> тоже можно найти альтернативу.
Можно, но сложно. Мы искали. Уж проще на BSD тогда все шейпать.
>>находится в состоянии постоянного развития. Неужели ничего не говорит
>>хотя-бы факт появления HTB в последних ядрах? Для интереса, можете взять
>
>
> Мне значительно больше говорит факт того, что основной разработчик (насколько я
> понял ваши слова) отказывает кому-либо в консультациях о написанном им коде. Мне
Да не отказывает он. Он просто занят. Более того, его подельники сидят в
трижды-упомянутом списке, и с удовольствием поддерживают.
> это напоминает меня самого: однажды я делал один проект, успешно его сделал - в
> исследовательских целях - и больше он меня не интересовал. Исходники я передал
> другим людям, но советы им практически не даю: так как считаю что код и так понятен,
> а 150 с лишним страниц статьи написанной по этому поводу и содержащей изложение
> всей теории более чем достаточно. Почему меня этот код не интересует и я его не
> развиваю - отдельная история, но если в случае с tc то же самое (а некоторые паралели
> просматриваются), то я не завидую tc.
Я же предлагал уже посмотреть на перспективы в ядрах 2.5 ветки.
>>Это да, никогда не завредит. Особенно исходники. Код отлаженный,
>>проверенный, многими используется!
>
>
> Ой ли? Я не увидел в рассылке ни одного отзыва человека, который бы заявил
> что использует его, хотя даже на такую экзотику как maple в свое время откликнулось
> достаточно людей чбы попросили уйти ;). А несколько моих знакомых пользуются
> "другими способами" - например squid'ом как один из подписчиков здесь, причем не
> потому что "не получилось" - а потому что "нет необходимости".
Это и понятно. Тема довольно специфична, и практически не
документирована. Именно для того, чтобы заинтересовать комьюнити и был
написан обзор.
>>http://www.lartc.org/#mailinglist Средний трафик там 20-30 писем в сутки.
>
>
> Вначале надо будет отписаться от талкрума, но попробую.
Про 3 десятка я загнул. Меньше конечно.
>>Надеюсь помог =)
>
>
> Да, помогли, спасибо. Резюме подводить не буду, иначе боюсь станет
> страшно не только мне ;). Попробую понадеятся на пункт 3 все-таки.
А я подведу:
1) Без всяких личных притензий к Вам Андрей, давайте все вместе будем
дорабатывать статью до того варианта, который будет всем интересен.
2) Тем не менее, надо признать, "целевая аудитория" у нее более другая,
чем для Вас ;-) Вы можете нам помочь и дополнить ее, а не учиться на ней.
3) Не Кузнецов, не тем более мантайнер пакета IMHO не виноваты в
сложившихся у Вас впечатлениях. Если здесь Вам не помогут их развеять,
то уж в www.lartc.org/#mailinglist точно могут.
4) А "третьего пункта" остается только ждать, или написать самому :-)
--
С Уважением,
Андрей Горев
Подробная информация о списке рассылки community