- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF119:История успеха
Материал из Linuxformat.
Inquisitor тестирует, чтобы вы спали спокойно
- Покупаете новый компьютер или даже отвечаете за парк машин в организации? Inquisitor поможет вам сэкономить нервные клетки, заранее проинспектировав ваше «чудо техники», а Михаил Якшин подскажет, как это сделать, а заодно объяснит, зачем и почему этим выгодно заниматься.
Прежде всего, хотелось бы внести ясность в то, что такое Inquisitor (http://www.inquisitor.ru). Inquisitor — не просто еще один тест оборудования: Inquisitor — это некая «пусковая установка» для набора уже существующих тестов.
К Inquisitor имеет смысл присмотреться, если необходимо автоматизировать проверку множества компьютеров. Например, сейчас Inquisitor постепенно внедряется в CERN (это там, где строится Большой адронный коллайдер) в качестве систем приемки нового оборудования, мониторинга и проверки старого оборудования, коего в такой организации, как CERN, великое множество.
Хотя Inquisitor изначально разрабатывался для автоматизирования тестирования компьютеров в промышленных масштабах, для продвинутого домашнего пользователя существует LiveCD, который может скачать любой желающий.
Мне приходилось видеть достаточно много компьютерных производств, дата- центров и просто больших организаций, имеющих парк в несколько тысяч компьютеров. В большинстве случаев там наблюдается довольно разная (в зависимости от количества денег), но одинаково грустная ситуация:
- Либо вообще нет никакой систематизации, и компьютеры тестируются чем взбредет в голову тестировщику в этот день. Результаты, естественно, нигде не протоколируются (то есть тесты типа 3DMark запускаются полностью вручную: «прошло – и ладненько»).
- Либоиспользуются самописные «наколенные» решения, которые пытаются вызывать проприетарные тесты с помощью всяких ухищрений, что в случае закрытых программ весьма нетривиально.
- Либо используются ужасно дорогие системы, обычно обклеенные стикерами вида «Industrial grade» или «Enterprise». Как правило, за ними скрывается то, что поставщик такого сверхдорогого решения заплатил и в индивидуальном порядке договорился с десятком производителей тестов типа 3DMark и лицензировал их продукцию.
Я лично категорически против тестирования, в котором участвуют какие- то закрытые тесты, драйверы или оборудование. Жизнь показала уже массу примеров того, куда заводит эта тропинка. Напомню, например, что уже упомянутый к слову 3DMark в свое время «попал под раздачу», когда выяснилось, что производители видеокарт «оптимизировали» в своих драйверах выполнение тестов 3DMark, искусственно занижая качество рендеринга для приложения типа 3dmark2003.exe.
Еще один пример: посмотрите на красивую на бумаге инициативу SPEC (Standard Performance Evaluation Corporation) и на то, как она дискредитировала себя сейчас. По замыслу SPEC должен был быть единым универсальным сравнительным тестом [benchmark]. Заинтересованному пользователю по идее достаточно было оценить, сколько у него денег, посмотреть в список и увидеть, какую производительность можно за них купить. Но разве кто-то всерьез рассматривает эти тесты, когда приобретает сейчас компьютер? Гонка за результатами в SPEC давно уже превратилась в состязание по «оптимизации» BIOS’ов, прошивок, прописыванию всевозможных настроек и обманок, которые помогли бы получить больше очков. Для конечного пользователя разница в полтора раза в очках SPEC не значит ровным счетом ничего, так как на его конкретных приложениях эта аппаратура может показать совсем другую производительность.
Открытый тест честнее
С помощью LiveCD Inquisitor мне действительно удалось локализовать трудноуловимую проблему (время от времени, примерно раз в день происходили программные сбои без какой- либо системы – оказывается, перегревался процессор) и ликвидировать ее (понизил частоту системной шины и убедился, что тесты теперь проходят без проблем). Программа выполнила свою задачу, но ее интерфейс требует кардинальной переработки, поскольку его вид, как и отсутствие документации в сборке LiveCD, весьма удручает
При разработке под Linux и с привлечением свободного программного обеспечения эти проблемы во многом сглаживаются. Если «тормозит » какой- то конкретный тест, то при некотором наличии желания и определенной квалификации можно влезть с отладчиком и разобраться, почему. Какой- то практический результат отличается от теоретического? Наверняка есть рациональное объяснение – код доступен, то есть все в ваших руках. А самое главное в свободном сообществе – это естественность и отсутствие специально организуемых препятствий. Хочешь использовать тест – бери и используй. Да и по самой идеологии системы, как правило, практически все приложения в Linux имеют хотя бы простой интерфейс командной строки, что значительно облегчает автоматизацию
На мой взгляд, Inquisitor – это один из тех случаев, когда открытая модель разработки может удачно сочетаться с бизнес-интересами и серьезными коммерческими внедрениями. К сожалению, часто можно видеть, как открытая разработка коммерциализируется в ключе «несколько человек делают проект N лет Just for Fun, а потом приходит корпорация X и продает плоды их трудов, наживаясь на бесплатной кодовой базе». В нашем случае, такой вариант развития событий маловероятен за счет того, что:
- Основная платформа доступна под GPLv3+ и будет оставаться свободной, что бы ни случилось.
- Основной труд по развертыванию решения на базе Inquisitor «сидит» именно в организационно-внедренческой части. Если кто-то возьмет и установит Inquisitor у себя – отлично, так как мы ничего не теряем, а скорее всего, приобретаем. Такой человек с большой долей вероятности присоединится к сообществу/проекту и поделится основной массой своих наработок.
В частности, по этой причине основной упор пока еще делается именно на предприятия, то есть те места, на которые ориентирован Inquisitor Enterprise. При использовании этого продукта разворачивается сервер, который в дальнейшем обслуживает некую специализированную сеть по DHCP. Компьютеры могут загрузиться с нее, как- то идентифицироваться, распознать оборудование, отправить результаты на сервер и выполнить набор назначенных им заданий (тестов). На сервере есть web-интерфейс по типу такого: http://demo.inquisitor.ru.
Безусловно, мы не хотим обижать домашнего пользователя, противопоставляя его корпоративному – просто в этом направлении мы делаем только первые шаги и будем благодарны за любые идеи и помощь. Сейчас можно скачать третью версию нашего LiveCD http://www.inquisitor.ru/download.html. Там гарантированно есть ошибки. Интерфейс пользователя и документацию, очевидно, есть куда развивать, но это только первый шаг к «светлому будущему», когда пользователь сможет без страха пойти в компьютерный магазин с нашим CD в руках, дабы сразу на месте протестировать будущую покупку.
Два пути
Inquisitor – это не законченный продукт и не «коробочное» решение. Inquisitor – это платформа или конструктор, из которой можно сделать все, что угодно, приложив некоторое количество усилий. Если к нам приходит человек (лучше через списки рассылки http://sourceforge.net/mail/?group_id=100064) с неким «хочу», то ему на выбор предлагаются два варианта, которые устраивают нас как команду:
- Человек вливается в проект, внедряет его у себя. По ходу процесса у него практически наверняка возникнут тысячи различных сложностей. И здесь мы как некое сообщество всячески помогаем и способствуем решению этих проблем. В итоге сам проект и все сообщество получает новые наработки, новые тесты, новые решения, а также новые интересные и неожиданные сферы и возможности применения платформы. И человеку хорошо, так как он сэкономил на внедрении и не писал все с нуля, и нам хорошо, так как проект развивается и живет.
- Человек не хочет вливаться в проект. Обычно это происходит потому, что он или его компания не обладают необходимыми знаниями, навыками, ресурсами, или он просто не хочет заниматься внедрением такой системы и нести за нее ответственность. Зато у него есть средства, чтобы нанять одного или нескольких членов нашей команды для создания именно того решения, которое будет наиболее адекватно.
Яркий пример первого подхода – это Андрас [Andras Horvath], швейцарец, пришествие которого в команду сделало нас понастоящему интернациональными. Андрас возглавляет подразделение системного администрирования в CERN – огромном научном центре, в парке которого несколько тысяч серверов и десятки тысяч рабочих станций. Большой адронный коллайдер – это в первую очередь огромный генератор данных объемом многие терабайты в день. Все эти нечеловеческие потоки нужно хранить и обрабатывать, и для этого нужно действительно стабильное оборудование.
По словам самого Андраса, до недавнего времени администрирование и поддержка всего этого комплекса была сумасшедшей по сложности задачей, так как далеко не все компьютеры, даже известных марок, приходили в исправном состоянии. Более того, ввиду распределенной структуры CERN, на разных факультетах/филиалах оборудование закупалось по принципу «что нашли» (издержки тендеров: выигрывает тот, кто предложил самое дешевое решение), без выстраивания какой- то общей линии по поставщикам или комплектующим. В итоге, когда он пришел в CERN, там был (и по сей день остается) страшный зоопарк.
Первым нововведением, которое неожиданно сильно облегчило жизнь системных администраторов CERN, стал Einarc. Это такой подпроект – в общем-то, совершенно отдельный пакет, разработанный в рамках Inquisitor. Einarc позволяет управлять многими видами аппаратных RAID из одного унифицированного интерфейса (как программного, так и пользовательского). Не важно, какой применяется RAID- контроллер (Areca, Adaptec, LSI или еще что-то): создание нового логического диска всегда делается простой и понятной командой logical add, а просмотр их состояний – командой logical list.
Второй подход тоже имеет место быть. У многих из нас за плечами солидный опыт подобных внедрений, и хотя это недешевое удовольствие, пока все без исключения организации, внедрившие у себя Inquisitor, отмечают, что эти вложения окупаются даже в краткосрочной перспективе. Не говоря уже о том, что затраты на сервис могут уменьшаться на порядок-два. Так что если вы что-то тестируете – то мы идем к вам. LXF