Pull to refresh
276
0
Георгий Шуклин @amarao

Забанен за упоминание войны. Больше не на хабре.

Send message

12-дисковое лезвие для HP BladeSystem

Reading time2 min
Views9.1K
HP StorageWorks D2200sb Storage BladeНа долю лезвий HP сегодня приходится более половины мировых продаж блейд-серверов. И успех выпущенной пять лет назад HP BladeSystem c-Class во многом связан с тем, что HP построила, как это принято говорить, большую экосистему лезвий. Кроме «массовых» двухсокетных блейд-серверов ProLiant BL460c в шасси HP BladeSystem c-Class можно установить четырехсокетные лезвия и блейд-серверы HP Integrity на базе процессоров Itanium, специализированные лезвия для виртуализации и высокопроизводительных вычислений, а также рабочую станцию, выполненную в форм-факторе лезвия.

Несколько лет назад отделение HP StorageWorks разработало для HP BladeSystem c-Class шестидисковое лезвие HP StorageWorks SB40c, а также лезвие со встроенным ленточным стримером LTO. Сейчас же компания представляет новое дисковое лезвие HP StorageWorks D2200sb Storage Blade, которое при тех же габаритах, что и SB40c (т.е. один отсек шасси половинной высоты) вмещает уже двенадцать жестких дисков SAS 2,5” с горячей заменой. Сейчас оно поддерживает диски емкостью до 600 Гб, но уже появились 2,5-дюймовые накопители SAS на 1 Тб. После того как новые диски пройдут стандартную процедуру тщательного тестирования, максимальная емкость лезвия вырастет до 12 ТБ. Лезвие оборудовано RAID-контроллером HP Smart Array P410i с энергонезависимой кэш-памятью 1 Гб, поддерживающим RAID 0, 1, 1+0, 5 и 6.

HP предлагает два варианта использования нового дискового лезвия.
Читать дальше →
Total votes 11: ↑8 and ↓3+5
Comments9

Пример Makefile

Reading time7 min
Views74K
Написание makefile иногда становится головной болью. Однако, если разобраться, все становится на свои места, и написать мощнейший makefile длиной в 40 строк для сколь угодно большого проекта получается быстро и элегантно.

Внимание! Предполагаются базовые знания утилиты GNU make.
Читать дальше →
Total votes 126: ↑118 and ↓8+110
Comments59

Перехват системных вызовов с помощью ptrace

Reading time4 min
Views32K
ptrace (от process trace) — системный вызов в некоторых unix-подобных системах (в том числе в Linux, FreeBSD, Max OS X), который позволяет трассировать или отлаживать выбранный процесс. Можно сказать, что ptrace дает полный контроль над процессом: можно изменять ход выполнения программы, смотреть и изменять значения в памяти или состояния регистров. Стоит оговориться, что никаких дополнительных прав при этом мы не получаем — возможные действия ограничены правами запущенного процесса. К тому же, при трассировке программы с setuid битом, этот самый бит не работает — привилегии не повышаются.

В статье будет показано, как перехватывать системные вызовы на примере ОС Linux.
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments9

Виртуализация Juniper JunOS в среде GNS3

Reading time4 min
Views35K
image

Вступление


В телекоммуникации можно наблюдать одно неоспоримое явление, связанное с техническим персоналом – его становится все меньше, при этом требования к конкретным специалистам возрастают. В те периоды, когда цифровые системы коммутации на телефонных станция оставались фантастикой, штат сотрудников станции включал значительное число электромехаников. Многие операции по переключению абонентов, изменению нумерации, созданию новых направлений выполнились «руками», в последствии при переходе на цифровые системы большинство действий стали решаться программно, с привлечение меньшего числа персонала. Аппаратно-программные комплексы развивались и совершенствовались и становились сложнее и требования с инженеру возрастали.
Под катом много снимков экрана.
Читать дальше →
Total votes 33: ↑31 and ↓2+29
Comments19

Linux: Ускоряем софтрейд и RAID6 в домашнем сервере

Reading time4 min
Views31K
Чем можно заниматься в 0 часов 0 минут в Москве? Сидеть за праздничным столом и праздновать? Как бы не так. В этот праздничный миг я хочу поделиться с вами моими сегодняшними изысканиями по тюнингу производительности софтрейда в домашнем сервере. Можно пропустить теорию и сразу читать последний абзац где основная соль.

Почему RAID-6?


Как известно, RAID-5 выдерживает смерть одного веника, и после этой самой смерти – до момента когда закончится восстановление рейда с новым винчестером ваши данные под угрозой – восстановление обычно занимало до 70 часов для больших массивов и еще один веник может легко умереть в это время.
RAID-6 выдерживает смерть 2-х любых веников. Из минусов – общепризнанное мнение что тормозит, особенно запись, даже по сравнению с RAID-5. Что-ж, проверим.
Читать дальше →
Total votes 137: ↑131 and ↓6+125
Comments129

Настройка Active/Passive PostgreSQL Cluster с использованием Pacemaker, Corosync, и DRBD (CentOS 5,5)

Reading time16 min
Views28K
В этой статье объясняется, как настроить Active/Passive кластера PostgreSQL, с использованием Pacemaker, Corosync и DRBD.
Подготовлено Рафаэль Марангони, из команды BRLink Servidor Linux
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments12

Мониторинг состояния канала по jitter / packet loss

Reading time4 min
Views42K
Добрый день, коллеги.

Собравшись с мыслями, решил нормально оформить родившееся у меня решение.

Итак, постановка задачи:

Есть два канала между точками А и Б, чаще всего от разных провайдеров. Необходимо обеспечить учет качества обслуживания на данных каналах, а именно:
1. При потерях >0.5% на канале, канал не должен использоваться.
2. При jitter > 10мс, канал не должен использоваться.

Такая задача возникла у меня на работе, поскольку два города соединены двумя каналами, по которым бегает в большом количестве голос, который, как известно, весьма капризен в отношении вышеописанных показателей. Кому интересно — милости прошу под кат.
Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments37

Еще раз об архитектуре сетевых демонов

Reading time13 min
Views19K
Во многих статьях, в том числе на хабре, упоминаются и даже описываются разные способы построения архитектуры сетевых сервисов (демонов). При этом мало у кого из авторов есть реальный опыт создания и оптимизации демонов, работающих с десятками тысяч одновременных соединений и/или гигабитным трафиком.

Так как большинство авторов не удосуживается хотя бы залезть в документацию, то обычно в таких статьях вся информация базируется на неких слухах и пересказах слухов. Эти слухи бродят по сети и поражают википедию, хабрахабр и другие уважаемые ресурсы. В результате получаются опусы вроде "Вы наверное шутите, мистер Дал, или почему Node.js" (пунктуация автора сохранена): она, в основном, верная по сути, но изобилует неточностями, содержит ряд фактических ошибок и изображает предмет с какого-то непонятного ракурса.

Мне было сложно пройти мимо статьи, изобилующей фразами вроде «эффективные реализации polling'а на сегодняшний день имеются лишь в *nix-системах» (как будто poll() есть где-то, кроме некоторых *nix). Этот пост начинался как комментарий, разъясняющий уважаемому inikulin ошибки в его статье. В процессе написания оказалось, что проще изложить предмет с самого начала, что я собственно и делаю отдельным постом.
В моем очерке нет срыва покровов или каких-то неизвестных трюков, здесь просто описываются преимущества и недостатки разных подходов человеком, который проверял, как всё это работает на практике в разных операционных системах.
Для желающих просветиться — добро пожаловать под кат.
Читать дальше →
Total votes 161: ↑159 and ↓2+157
Comments53

Linux HA на основе Pacemaker

Reading time5 min
Views121K
В своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
Читать дальше →
Total votes 59: ↑54 and ↓5+49
Comments32

Установка Asterisk в контейнере OpenVZ Ubuntu 10.04.1 LTS на хосте Debian GNU/Linux 5.0

Reading time10 min
Views8.5K
image

Исходные данные:


  • Asterisk 1.6.2 — из родного репозитория Ubuntu
  • Ubuntu 10.04.1 LTS — контейнер в минимальной установке (x64bit)
  • Хостовая система для OpenVZ — Debian GNU/Linux 5.0 (Lenny) 2.6.26-2-openvz-amd64 — ядро из родного репозитория.

Устанавливаем и настраиваем OpenVZ хост. Особенности настройки OpenVZ-хоста тут рассматриваться не будут.
Считаем, что у нас он корректно настроен, включая NAT для гостевых машин и проброс необходимых для сервера портов.
Читать дальше
Total votes 12: ↑8 and ↓4+4
Comments4

Подбор 14 символьного сложного пароля за 5 секунд

Reading time2 min
Views231K
image

Достаточно давно и долго говорят о том что с использованием высоких скоростей GPU подбор паролей существенно ускорится. Но есть технологии которые позволяют перебор сделать еще
быстрее. Швейцарская компания, специализирующаяся в области безопасности Objectif Sécurité воспользовалась для своей технологии SSD дисками с радужными таблицами.
Читать дальше →
Total votes 206: ↑172 and ↓34+138
Comments104

Готовим скриншоты для документации в GIMP (часть 2)

Reading time6 min
Views18K
В первой части статьи мы рассмотрели script-fu скрипты «Быстрая тень» и «Подрезать уголки» и пообещали показать, как красиво оформить скриншот фрагмента окна. Пришло время исполнить обещанное. Сегодня будем разбирать скрипт «Кадрирование с эффектом волны», который позволяет отсечь часть изображения по волнистым линиям, похожим на синусоиды.

Дополнительно мы рассмотрим, как можно собрать несколько скриптов в один для ускорения выполнения типовых действий над изображением.
Читать дальше →
Total votes 127: ↑118 and ↓9+109
Comments14

Репликация в Postgresql 9.0

Reading time3 min
Views86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments42

Полнофункциональный RDP клиент — FreeRDP

Reading time3 min
Views421K
Не секрет, что в современном мире без продуктов Microsoft практически не обойтись. Однако во многих случаях получается так, что гораздо эффективней использовать на рабочих компьютерах системы на базе GNU/Linux, а не Windows. Это значительно упрощает администрирование и сокращает расходы, предоставляя при этом пользователям гораздо больше легкодоступного функционала. Но что делать с теми приложениями, которые работают только под Windows и которым нет подходящего аналога в мире Linux? Поскольку обычно таких приложений единицы (иначе просто нету смысла ставить Linux на рабочий компьютер), то разумным выбором может стать использование терминальных серверов, работающих под серверными ОС от Microsoft. Кроме того, Linux лучше всего подходит для любых тонких клиентов, поскольку адекватных версий Windows для них просто не существует.

В любом случае необходимо уметь подключаться к терминальным серверам Windows. Для этого в MS был разработан свой протокол удалённого рабочего стола — RDP. Однако до недавнего времени для Linux существовал единственный открытый клиент для работы с этим протоколом — rdesktop. К сожалению, его развитие давно остановилось, и он испытывает огромные трудности при взаимодействии с современными версиями Windows.

Но недавно тихо и незаметно проект rdesktop был форкнут, в результате чего на свет появился новый открытый RDP клиент — FreeRDP. Первый же релиз этой программы разом исправил большинство известных проблем rdesktop, и проект продолжает активно развиваться. Почему-то появление столь полезного приложение обошли вниманием, поэтому я и решил опубликовать этот пост, чтобы хоть как-то исправить эту ситуацию и рассказать всем о существовании нормального RDP клиента для Linux. Под катом — описание возможностей FreeRDP и немного про отличную графическую оболочку Remmina для него.

Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments75

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

Reading time8 min
Views67K
image

Хочу признаться сразу, что я вас отчасти обманул, ибо драйвер, если верить википедии это компьютерная программа, с помощью которой другая программа (обычно операционная система) получает доступ к аппаратному обеспечению некоторого устройства. А сегодня мы создадим некую заготовку для драйвера, т.к. на самом деле ни с каким железом мы работать не будем. Эту полезную функциональность вы сможете добавить сами, если пожелаете.

То, что мы сегодня создадим, корректнее будет назвать LKM (Linux Kernel Module или загрузочный модуль ядра). Стоит сказать, что драйвер – это одна из разновидностей LKM.

Писать модуль мы будем под ядра линейки 2.6. LKM для 2.6 отличается от 2.4. Я не буду останавливаться на различиях, ибо это не входит в рамки поста.

Мы создадим символьное устройство /dev/test, которое будет обрабатываться нашим модулем. Хочу сразу оговориться, что размещать символьное устройство не обязательно в каталоге /dev, просто это является частью «древнего магического ритуала».

Читать дальше →
Total votes 251: ↑240 and ↓11+229
Comments78

Готовим скриншоты для документации в GIMP (часть 1)

Reading time5 min
Views24K
Как известно, неотъемлемой частью профессионального программного продукта является качественная документация. А документация, в свою очередь, немыслима без иллюстраций. В большинстве случаев иллюстрации представляют собой скриншоты, которые должны быть не только красивыми и информативными, но и единообразно оформленными. Последнее важно, если над разными разделами документации работают разные специалисты (технические писатели). В этой статье мы рассмотрим, как редактор растровой графики GIMP и его встроенный язык сценариев Script-Fu могут пригодиться для подготовки иллюстраций. В качестве примеров использованы скриншоты нашего продукта eXpressApp Framework.
Читать дальше →
Total votes 124: ↑119 and ↓5+114
Comments40

DKIM — это просто

Reading time3 min
Views374K
Здравствуйте.

Хочу поделиться своим небольшим опытом прикручивания DKIM (DomainKeys Identified Mail) к своему домену и почтовому серверу.

Мы имеем:
Задача:
  • Разобраться в системе подписи сообщений DKIM, что бы gmail признал её валидной и выдал заветные: dkim=pass.

Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments34

Грабли при верстке HTML писем

Reading time3 min
Views103K
Довольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.

Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Читать дальше →
Total votes 282: ↑273 and ↓9+264
Comments77

Уязвимость в стандартной функции glob() как угроза для FTP-серверов

Reading time2 min
Views3K
Сайт SecurityReason сообщает об обнаружении опасной ошибки в реализации библиотечной функции glob() из стандартной библиотеки языка C (libc) на множестве платформ.

Эта функция предназначена для получения списка файлов, чьи имена удовлетворяют заданному шаблону. Ошибка заключается в том, что ограничение на выдачу функции, задаваемое переменной GLOB_LIMIT, не действует в случае задания некорректных путей в шаблоне. Такими некорректными значениями могут быть, например, «*/../*/../*foo» или «{..,..,..}/*/{..,..,..}/*bar». При этом вызов функции glob() может исчерпать всю доступную память процесса.

Особенную опасность данная ошибка представляет для (S)FTP-серверов, особенно с разрешенным анонимным доступом. Очевидно, запрос на листинг файлов с вышеприведенной маской приводит к скорому отказу в обслуживании FTP-сервера.

Уязвимости подвержены, по последним данным, как минимум следующие ОС: OpenBSD 4.7, NetBSD 5.0.2, FreeBSD 7.3/8.1, Oracle/Sun Solaris 10, а также все версии Linux с GLIBC. Уязвимость пока что устранена только в NetBSD; компании и сообщества, занимающиеся разработкой вышеперечисленных (за исключением NetBSD) операционных систем, пока не дают никакой информации; именно поэтому уязвимость классифицируется как «0-day». Сообщается также, что vsftpd не подвержен уязвимости.

Желающим попробовать уязвимость в действии могу предложить набрать в bash консоли команду наподобие
ls ../../*/../*/*/../../*/*/*/*

Можно эксплуатировать, например, из PHP:
php -r 'print glob("../../*/../*/*/../../*/*/*/*");'

или Python
python -c 'import glob; glob.glob("../../*/../*/*/../../*/*/*/*")'
и из любого другого языка, обращающегося к этой функции.

Оригинальный отчет об уязвимости тут: securityreason.com/securityalert/7822
Total votes 87: ↑81 and ↓6+75
Comments50

Ставим вторую видеокарту в разъём PCI-Express x1

Reading time8 min
Views436K
Если в компьютере имеются 2 видеовыхода и захотелось подключить 3 монитора, то с некоторой вероятностью сделать это просто добавлением второй видеокарты не удастся — не все материнские платы имеют 2 разъёма PCI Express X16, а в многочисленные разъёмы PCI Express X1 видеокарты обычного размера не встанут из-за несовместимости по разъёму. Не все знают, что на самом деле установка длинного разъёма X16 в короткий слот возможна, поэтому не обязательно для 3-го монитора покупать другую и более дорогую материнскую плату. Способам расширения потенциальных возможностей компьютера посвящена эта статья, а также она развеивает сомнения и опасения о том, что что-то при доработке платы напильником не получится. Час работы — и 3-й монитор к Вашей системе будет подключен.
Читать дольше
Total votes 118: ↑111 and ↓7+104
Comments105

Information

Rating
Does not participate
Registered
Activity