Текст книги "Asterisk™: будущее телефонии Второе издание"
Автор книги: Джим Меггелен
Соавторы: Джаред Смит,Лейф Мадсен
Жанр:
ОС и Сети
сообщить о нарушении
Текущая страница: 4 (всего у книги 41 страниц)
Выбор процессора
Поскольку требования, предъявляемые Asterisk к производительности, главным образом, обусловлены большим объемом производимых математических вычислений, естественным будет выбор процессора с мощным FPU. Для осуществляемой Asterisk обработки сигналов от ЦП может потребоваться проведение громадного числа сложных математических вычислений. Эффективность, с которой выполняются эти задачи, будет определяться мощностью FPU процессора. Назвать лучший процессор для Asterisk в этой книге означало бы бросить вызов закону Мура. Даже за то время, которое пройдет между написанием и публикацией книги, скорости процессоров существенно возрастут, так же как и поддержка Asterisk для различных архитектур. Несомненно, это хорошо, но по этой причине советы по данной теме являются абсолютно неблагодарным занятием. Естественно, чем мощнее FPU, тем больше одновременных задач по ЦОС сможет выполнять Asterisk. Это основной принцип. При выборе процессора исходная тактовая частота – только часть уравнения. То, насколько хорошо он справляется с операциями с плавающей точкой, будет основным определяющим фактором, поскольку операции по ЦОС в Asterisk будут предъявлять высокие требования именно к этому процессу.
ЦП производства компаний Intel и AMD имеют мощные FPU. От чипов текущего поколения любого из данных производителей можно ожидать хорошей производительности[14]14
Найти самую свежую информацию о том, какой из ЦП лидирует в гонке производительности, можно на сайтах Tom's Hardware (http://www.tom– shardware.com) или AnandTech (http://www.anandtech.com), где представлена масса информации как о современных, так и об устаревших ЦП, системных платах и наборах микросхем.
[Закрыть].
Сам собой напрашивается вывод, что необходимо выбирать самый мощный процессор из тех, которые позволяет ваш бюджет. Однако не торопитесь покупать самый дорогой из доступных процессоров. Помните о требованиях своей системы. В конце концов, болид «Формулы-1» Ferrari совершенно неуместен в мегаполисе с его многокилометровыми пробками в часы пик. Более медленные ЦП часто слабее нагреваются, и, таким образом, используя их, можно построить систему Asterisk для небольшого офиса с меньшим энергопотреблением, без вентиляторов, которая, возможно, смогла бы работать в условиях повышенной запыленности.
Чтобы ввести некий критерий, исходя из которого можно принимать решения о платформе, мы решили определить три типа систем Asterisk: малая, средняя и большая.
Малый тип систем
Требования Asterisk к производительности для малых систем (до 10 телефонов) ничем не отличаются от всех остальных, но, как правило, возможности современных процессоров позволяют справиться с нагрузкой, типичной для таких систем.
Если малая система создается на базе случайно подвернувшихся под руку старых компонентов, следует ожидать, что уровень производительности будет ниже, чем у более мощных машин, и что для нее снижение рабочих характеристик будет наблюдаться при значительно меньших нагрузках. Любительские системы могут прекрасно работать на маломощном оборудовании, но добиться этого сможет только эксперт в вопросах настройки производительности Linux[15]15
Грег Бенлеин (Greg Boehnlein) однажды скомпилировал и запустил Asterisk на процессоре Pentium с частотой 133 МГц, но это был по большей мере эксперимент. Вероятность возникновения проблем с производительностью очень велика, и, чтобы сконфигурировать такую систему надлежащим образом, необходимо быть экспертом Linux. Мы не рекомендуем использовать Asterisk в системах с процессором, частота которого ниже 500 МГц (для производственной системы 2 ГГц было бы благоразумным минимумом). И все же гибкость Asterisk просто поразительна.
[Закрыть]. Если система Asterisk настраивается в целях обучения, построить полнофункциональную платформу можно, используя относительно маломощный процессор. Авторы данной книги выполняли настройку нескольких лабораторных систем Asterisk с использованием процессоров Celeron с частотами от 433 до 700 МГц, но рабочая нагрузка таких систем минимальна (не более двух одновременных вызовов).
AstLinux и Asterisk на OpenWRT
Те, кто действительно прекрасно себя чувствует, работая с Linux на встроенных платформах, несомненно, захотят присоединиться к рассылке AstLinux и опробовать творение Кристиана Кайл– хофнера (Kristian Kielhofner) AstLinux, или приобрести Linksys WRT54GL и установить версию Asterisk, созданную для этой платформы Брайаном Капучем (Brian Capouch). В этих проектах Asterisk представлен в базовой форме, что позволяет развертывать невероятно мощные приложения офисных АТС на очень недорогом оборудовании.
Хотя для работы с обоими проектами необходимо обладать изрядным объемом знаний и готовностью приложить большое количество усилий, они очень эффектны, чрезвычайно популярны и обеспечивают исключительное качество.
Средний тип систем
Сложнее всего решать вопросы производительности именно в системах среднего типа (от 10 до 50 телефонов). Как правило, такие системы развертываются только на одном или двух серверах и, таким образом, каждая машина должна будет обрабатывать по несколько специальных задач. По мере роста нагрузки платформа все больше приближается к своим предельным значениям технических характеристик. Пользователи могут начать испытывать проблемы с качеством связи, не понимая, что это происходит не потому, что система неисправна, а просто из-за того, что достигнуты пределы ее возможностей. По мере роста нагрузки на систему проблемы будут увеличиваться, а удовлетворенность пользователей, соответственно, падать. Исключительно важно, чтобы проблемы с производительностью были выявлены и решены до того, как они будут замечены пользователями. Отслеживание производительности в таких системах и быстрое реагирование на любые возникающие тенденции – основные условия, которые гарантируют, что платформа обеспечит качественную телефонную связь.
Большой тип систем
Большие системы (более 120 каналов) обычно развертываются на нескольких системах и сайтах, и, таким образом, вопросы производительности можно решать путем добавления компьютеров. Очень большие системы Asterisk созданы именно так.
Построение большой системы требует наличия глубоких знаний по множеству различных дисциплин. Не будем подробно останавливаться на этом в данной книге, отметим только, что проблемы, возникающие в этом случае, будут аналогичны сложностям, которые появляются при любом использовании нескольких серверов, обрабатывающих одну распределенную задачу.
Выбор системной платы
Просто чтобы сразу устранить любую предвзятость, мы также не будем рекомендовать конкретную системную плату в данной книге. В условиях, когда каждую неделю появляются новые системные платы, любые рекомендации станут неактуальными еще до того, как книга появится на полках книжных магазинов. Более того, системные платы подобны автомобилям: принцип один, отличия – в деталях. И поскольку Asterisk – приложение, требовательное к производительности, детали имеют большое значение.
Однако мы все-таки дадим некоторое преставление о том, какие системные платы обеспечат хорошую работу Asterisk и платы с какими характеристиками можно считать подходящими. Главное – они должны обеспечивать стабильность и высокую производительность. Вот некоторые рекомендации:
Различные системные шины должны обеспечивать минимально возможную задержку при обработке данных. Если планируется PSTN– соединение с использованием аналогового или PRI-интерфейсов (обсуждаются в этой главе ниже), наличие в системе плат Zaptel обеспечит формирование 1000 запросов на прерывание в секунду. Наличие других устройств на шине, мешающих этому процессу, приведет к снижению качества связи. Наборы микросхем производства Intel (для процессоров Intel) и nVidia nForce (для процессоров AMD) считаются лучшими в этой области. При оценке любой системной платы проверьте ее набор микросхем, чтобы убедиться, что для него не зафиксированы случаи возникновения проблем со временем ожидания запроса на прерывание.
При использовании в системе плат Zaptel необходимо убедиться, что BIOS[16]16
Basic Input-Output System, BIOS – базовая система ввода/вывода. - Примеч. науч. ред.
[Закрыть] обеспечивает максимальный контроль над распределением прерываний. Как правило, системные платы высокого класса обеспечивают намного большую гибкость при настройке BIOS; дешевые платы обычно предлагают очень ограниченные возможности управления. Однако это спорный вопрос, поскольку системные платы с включенным встроенным APIC[17]17
Advanced Programmable Interrupt Controller, APIC – усовершенствованный программируемый контроллер прерываний. - Примеч. науч. ред.
[Закрыть] передают управление прерываниями операционной системе.
Серверные системные платы обычно реализуют иной PCI-стандарт, нежели системные платы для рабочих станций. Различий много, но наиболее очевидное и широко известное – то, что эти две версии имеют разные напряжения. Приобретая платы, необходимо знать, какие PCI-разъемы нужны: с напряжением 3,3 или 5 В. На рис. 2.1 наглядно показано, чем отличаются разъемы 3,3 и 5 В[18]18
С появлением PCI-X и PCI-Express становится все сложнее правильно выбрать системную плату с соответствующими типами разъемов. При покупке необходимо удостовериться, что тип и количество разъемов для плат соответствуют имеющемуся оборудованию. Большинство компаний, выпускающих платы для Asterisk, предлагают и PCI, и PCI-Express, а уж вам решать, какой вариант подойдет для выбранного сочетания системной платы и системного блока.
Ну конечно же, это был не настоящий трактор, но шума от него было столько же. Кто-нибудь знает, где достать бесшумные вентиляторы для процессоров Xeon? Очень уж шумно в лаборатории.
[Закрыть]. На большинстве серверных системных плат есть оба типа разъемов, но платы для рабочих станций обычно имеют только разъем 5 В.
Есть свидетельство тому, что объединение двух совершенно независимых однопроцессорных систем может обеспечить намного больше преимуществ, чем использование двух процессоров в одном компьютере. В этом случае не только удваивается мощность процессора, но также достигается намного лучший уровень избыточного резервирования по цене, равной стоимости компьютера с одним системным блоком и двумя процессорами. Однако нельзя забывать, что спроектировать решение Asterisk с двумя серверами намного сложнее, чем с одним компьютером.
• Рассмотрите вариант использования нескольких процессоров или процессоров с несколькими ядрами. Это улучшит возможность системы обрабатывать несколько задач, а для Asterisk предоставит особые преимущества при выполнении операций с плавающей точкой.
• Если требуется модем, лучше установить внешнее устройство, подключаемое через последовательный порт. Если должен использоваться внутренний модем, необходимо убедиться, что это не так называемый Win-модем1, это должно быть абсолютно автономное устройство (заметьте, что такое устройство очень сложно или практически невозможно найти).
• Следует учесть, что при использовании встроенных сетевых устройств в случае их выхода из строя придется заменить всю системную плату. С другой стороны, если устанавливается внешняя сетевая интерфейсная плата (Network Interface Card, NIC), вероятность поломки возрастает из-за присутствия большого количества механических соединений. Также может быть целесообразным использование разных сетевых плат для телефонов и пользователей (внутренней сети) и провайдеров VoIP и внешних сайтов (внешней сети). Сетевые адаптеры стоят недорого; рекомендуем всегда иметь под рукой по крайней мере пару.
1 Также такие модемы иногда называют soft-модемами. - Примеч. науч.ред.
Стабильность и качество системы Asterisk будет зависеть от компонентов, выбранных для ее архитектуры. Asterisk – хищник, его надо очень хорошо «кормить». Но, как практически во всем, высокая цена не всегда является синонимом качества. Вы должны будете стать знатоком компьютерных комплектующих.

Рис. 2.1. Внешний вид PCI-разъемов
Обсудив все это, мы должны вернуться к исходной точке: Asterisk может и будет замечательно устанавливаться практически на любую систему, работающую под управлением Linux. Лабораторные системы, использовавшиеся при написании этой книги, например, включали все, от Linksys WRT до «трактора» dual-Xeon1. У нас не возникало никаких проблем с производительностью или стабильностью при установлении до пяти одновременных соединений. В целях обучения Asterisk можно устанавливать на любую имеющуюся в распоряжении систему. Однако, когда вы будете готовы создавать системы для эксплуатации, необходимо понимать последствия принимаемых решений об использовании того или иного оборудования.
Требования к блоку питания
Блоку питания (и вопросу электропитания) ПК обычно уделяется недостаточно внимания. Для телекоммуникационных систем[19]19
А также любой системы, которая должна обрабатывать аудиоданные.
[Закрыть] эти компоненты могут играть важную роль в формировании хорошего впечатления у пользователя.
Блоки питания для компьютеров
Выбранный для системы блок питания будет играть жизненно важную роль в стабильности всей платформы. Asterisk не является особенно энергоемким приложением, но все, что связано с мультимедийными системами (будь то телефония, профессиональная аудио-, видеоаппаратура и т. п.), обычно чрезвычайно чувствительно к качеству электропитания.
Этот часто упускаемый из виду компонент может превратить высококачественную систему в груду хлама. Справедливо и то, что с первоклассным блоком питания дешевый ПК может стать настоящим чемпионом. Получаемая мощность должна не только удовлетворять потребности системы в энергии, необходимой для выполнения ее задач, но также обеспечивать стабильные и четкие сигнальные линии для всех уровней напряжений, ожидаемых системой.
Не пожалейте денег и приобретите высококлассный блок питания (геймеры отличаются особенно трепетным отношением к таким вещам, поэтому их выбор на рынке очень богат).
Блоки питания с резервированием
В средах операторского класса или бесперебойной работы принято развертывать серверы, использующие блок питания с резервированием. Фактически это два совершенно независимых блока питания, каждый из которых может полностью обеспечить требования по питанию системы.Опыт показывает, что для правильного резервирования такие блоки питания должны быть подключены к совершенно независимым источникам бесперебойного питания (Uninterruptible Power Supplies, UPSes), которые, в свою очередь, питаются от разных электрических сетей. В ответственных организациях (таких, например, как больницы) резервируются даже основные подводы электропитания зданий и для генерирования электричества во время длительных перебоев с электроэнергией (подобных, например, случившемуся на северо-востоке США 15 августа 2003 года) используются дизельные генераторы.
Окружение
Окружение системы образуют все факторы, которые сами по себе фактически не являются частью сервера, но тем не менее играют важную роль в формировании ожидаемых от системы надежности и качества. Электропитание, температура и влажность помещения, источники помех и безопасность – все эти факторы должны быть учтены.
Обеспечение требуемого качества электроэнергии и источники бесперебойного питания
При выборе источников питания для своей системы необходимо учесть не только потребляемую мощность, но также то, как эта энергия будет обеспечиваться.
Электроэнергия – это не просто напряжение в розетке на стене, и производственную систему никогда нельзя подключать к первому попавшемуся источнику питания[20]20
Ну ладно, систему можно подключить к чему угодно, и она даже, вероятно, будет работать, но когда в ней возникнут непонятные проблемы со стабильностью, перечитайте этот раздел, пожалуйста. Договорились? подключить к чему угодно, и она даже, вероятно, будет работать, но когда в ней возникнут непонятные проблемы со стабильностью, перечитайте этот раздел, пожалуйста. Договорились?
[Закрыть]. Продумав схему электропитания своей системы, можно создать намного более стабильное энергоокружение, что обеспечит наибольшую стабильность системы.
Одно из преимуществ соответствующей стандартам энергии хорошего качества – снижение тепловыделения, что означает меньшую нагрузку на компоненты и увеличение их срока службы.
Правильно заземленная, отвечающая стандартам электрическая сеть и высококачественный блок питания гарантируют четкий опорный сигнал «логическая земля» (то есть 0 В[21]21
В электронных устройствах двоичный нуль (0) обычно обозначает сигнал 0 В, тогда как двоичная единица (1) может быть представлена разными напряжениями (обычно в диапазоне от 2,5 до 5 В). Напряжение «земли», за которое система будет принимать 0 В, часто называют логическим нулем. Плохо заземленная система может иметь такой электрический потенциал на логическом нуле, что устройство сможет принять двоичный нуль за двоичную единицу. Это может серьезно навредить способности системы обрабатывать команды.
[Закрыть]) для системы и минимальный электрический шум[22]22
Колебания напряжения в электрической сети. - Примеч. науч.ред.
[Закрыть] на системной плате. Для данного типа оборудования существуют лучшие практики, принятые как отраслевой стандарт, которыми нельзя пренебрегать. Относительно простой способ обеспечить это – использовать UPS с поддержанием требуемого качества электроэнергии[23]23
Общепринятым заблуждением является мнение о том, что UPS обеспечивают соответствующую стандартам энергию хорошего качества. Это абсолютно не соответствует действительности.
[Закрыть].
UPS с поддержанием требуемого качества электроэнергии
UPS широко используются как аккумуляторы для снабжения системы питанием в случае аварии, хотя возможность высококачественных UPS обеспечивать электроэнергию в соответствии с техническими требованиями иногда не принимается во внимание.
Обеспечение требуемого качества электроэнергии создаст необходимый уровень защиты от электрической сети общего пользования за счет генерации соответствующего стандартам напряжения посредством разделительного трансформатора. Качественный стабилизатор напряжения в UPS устранит большую часть электрического шума, поступающего из питающей электросети, и гарантирует снабжение системы энергией в течение длительного периода.
К сожалению, не все UPS одинаковы; многие более дешевые модели не обеспечивают качественной стабилизации напряжения. Что хуже всего, производители этих устройств часто обещают все виды защиты от скачков, бросков, повышения напряжения и импульсных помех. Хотя такие устройства могут защитить систему от воспламенения во время грозы, они не приведут напряжение в норму на входе в систему и, таким образом, не сделают ничего для обеспечения стабильности. Убедитесь, что у вас UPS с поддержанием требуемого качества электроэнергии. Если это нигде прямо не указано, значит, он таковым не является.
Заземление
Напряжение определяется как разность потенциалов между двумя точками. Обычно считается, что напряжение «земли» (а это, по сути, не что иное как токопровод к земле) равно 0 В. Но если не определить эти 0 В относительно чего-то, мы рискуем делать предположения, не соответствующие действительности. Часто между двумя точками заземления существует некоторая разность потенциалов. Этого напряжения может быть достаточно для возникновения логических ошибок или даже повреждения системы, в которой имеется несколько контуров заземления.
Один из авторов данной книги вспоминает, как сжег звуковую карту, пытаясь подключить ее к стереосистеме друга. Даже несмотря на то что компьютер и стереосистема находились в одной комнате, между заземлителями двух электрических розеток, в которые подключались устройства, было замерена разность потенциалов в 6 В! Провод между стереосистемой и ПК (посредством звуковой карты) обеспечил свободную передачу этого напряжения, что сожгло звуковую карту, которая не была рассчитана на такой большой ток в сигнальном проводе. Подключение ПК и стереосистемы в одну розетку решило проблему.
Согласно правилам устройства электроустановок заземление – это, главным образом, средство обеспечения безопасности человека. В компьютере понятие «земля» используется для обозначения логического опорного сигнала 0 В. Электрическая система, обеспечивающая должную безопасность, не всегда будет обеспечивать соответствующее логическое опорное напряжение. Надо отметить, что задачи безопасности иногда идут вразрез с задачами по обеспечению качества напряжения. Естественно, если необходимо сделать выбор, безопасность должна быть на первом месте.
Поскольку разница между двоичным нулем и двоичной единицей представлена в компьютерах разностью напряжений, которая иногда меньше, чем 3 В, в условиях нестабильного напряжения, обусловленных плохим заземлением или электрическим шумом, вполне вероятно периодическое возникновение всевозможных проблем в системе. Некоторые исследователи вопросов напряжения и заземления утверждают, что 80% необъяснимых сбоев компьютеров происходит из-за неудовлетворительного качества электропитания. А большинство из нас ругают Майкрософт.
Современные импульсные источники питания несколько ушли от проблем с качеством электроэнергии, но любая высокопроизводительная система всегда выиграет от хорошо спроектированной системы электропитания. В больших ЭВМ, специализированных офисных АТС и на других дорогих вычислительных платформах вопросы заземления системы никогда не пускаются на самотек. Электроника и стойки этих систем всегда снабжены выделенным заземлением, которое не связано с защитным заземлением, поставляемым с подводом электропитания.
Независимо от того, сколько предполагается инвестировать в заземление, при определении системы электропитания для любой офисной АТС убедитесь, что в данную электрическую сеть подключена только ваша система (это обсуждается в следующем разделе) и что имеется отдельный изолированный заземляющий провод. Это может быть дорого, но значительно повысит качество энергоокружения системы[24]24
Для любительской системы, возможно, это излишнее требование, но если Asterisk планируется использовать для каких-нибудь важных целей, убедитесь, по крайней мере, что дали системе шанс на выживание; не включайте с ней в одну сеть кондиционеры воздуха, светокопировальные аппараты, лазерные принтеры, электродвигатели и т. п. Нагрузка, создаваемая подобными устройствами на сеть, сократит срок службы системы.
[Закрыть]. Также жизненно важно, чтобы абсолютно все периферийные устройства, подключаемые к системе, были включены в одну розетку (или, более конкретно, на одно заземление). Это сократит вероятность возникновения контуров заземления, которые могут вызвать все что угодно, начиная от шумов и заканчивая повреждением и выходом из строя оборудования.
Электрические сети
Если вам доводилось видеть мерцание освещения при подключении какого-либо электроприбора, вы были свидетелем воздействия мощного устройства на электросеть. Если бы вы взглянули на эффект от подключения множества подобных устройств, каждое из которых вносит дополнительную нагрузку на сеть, вы бы увидели, что система получает все что угодно, но не идеальную гармоническую волну с частотой 50 или 60 Гц. Гармонический шум – крайне распространенное явление в электрических сетях, и он может нанести непоправимый вред чувствительной электронной аппаратуре. Для офисных АТС эти проблемы могут проявляться как проблемы со звуком, логические ошибки и нестабильность системы.
В идеале сервер никогда не должен подключаться к электросети совместно с другими устройствами. В сети должна быть одна розетка, и в нее должна быть подключена только телефонная система (и ее периферийные устройства). Провода (включая заземление) должны проходить все вместе сразу за электрораспределительным щитом. Заземлитель должен быть изолирован и отделен от остальных проводов. Известно слишком много историй о том, как ксероксы, кондиционеры и пылесосы выводили из строя чувствительную электронику при пренебрежении этим правилом.

Региональные правила устройства электроустановок являются более приоритетными, чем все высказанные здесь рекомендации. В случае возникновения каких-либо сомнений необходимо обратиться за консультацией к региональному специалисту по качеству электроэнергии по поводу того, как обеспечить соответствие системы существующим правилам. Помните, правила устройства электроустановок определены исходя из условия, что безопасность человека выше безопасности оборудования.








