Search
Write a publication
Pull to refresh
-1
0
Павлов Дмитрий @Dimonyga

System architect

Send message

Эластичное избыточное S3-совместимое хранилище за 15 минут

Reading time6 min
Views60K
S3 сегодня не удивишь наверное никого. Его используют и как бэкенд хранилище под веб сервисы, и как хранилище файлов в медиа индустрии, так и как архив для бэкапов.



Рассмотрим небольшой пример развертывания S3-совместимого хранилища на основе объектного хранилища Ceph
Читать дальше →

Asterisk в примерах: балансировка каналов

Reading time5 min
Views51K
Всё больше и больше организаций выбирают для телефонии не астрономически дорогие, жутко запутанные и ограниченные по функционалу готовые ATC, а современный, расширяемый и абсолютно бесплатный софт, который можно установить на любой дистрибутив Linux. Самым известным и широко распространённым решением для телефонии на базе Linux является, безусловно, Asterisk.

К сожалению для системных администраторов, Asterisk недалеко ушёл от корпоративных АТС в плане простоты настройки. Безусловно, Asterisk может, пожалуй, всё, что только возможно вообразить, но ценой этому является далеко не тривиальная настройка.

У меня за время работы с Asterisk накопилось множество различных примеров конфигурации. Полностью цифровые факсы с возможностью отправки из любого приложения в один клик, интеллектуальная запись звонков, всякие штуки с IVR и т.д. и т.п. Будет заинтересованность — со временем выложу.

В этом же посте хотелось бы поделиться системой простой балансировки исходящих соединений исходя из «веса» канала. Простейший пример, для чего это может понадобиться — звонки через обычные SIM нескольких операторов с безлимитными тарифами. У всех операторов есть некое максимальное значение минут, которые можно бесплатно проговорить в рамках тарифа в месяц. Поэтому хотелось бы распределить исходящие звонки по симкам в некой пропорции.
Читать дальше →

Миллион PPS в секунду — связанность и балансировка

Reading time7 min
Views28K

На последней конференции РИТ++ мне посчастливилось стать впервые докладчиком конференции такого масштаба и такой значимости. В этой статье я не просто хочу пересказать всё, о чём я докладывал. Выступать впервые перед такой большой аудиторией для меня было непривычно и я половину забыл рассказать, нервничал немного. Речь пойдет о создании с нуля собственной отказоустойчивой структуры для веб-проектов. Мало кому из системных администраторов дается возможность с нуля запустить в production крупный проект. Мне повезло.

Как я уже написал, я не смог рассказать всё, что планировал со сцены, в этой статье я восполню эти пробелы, да и для того, кто не смог там присутствовать — это будет приятно, видео с конференции так и не дали бесплатно всем. Да и стать пользователем Хабра я хотел давно, вот только не было времени. Майские праздники дали время и силы. Статья будет не столько технической с кучей конфигов и графиков — статья будет принципиальная, все пробелы мелких технических вопросов можно будет восполнить в комментариях.
Читать дальше →

Сборка упаковщика Cmake-ом или тренировка на кошечках

Reading time6 min
Views14K
— Вы не скажете сколько сейчас градусов ниже нуля?
— Чего чего?
— Ну я …. тренируюсь.
— Тренируйся лучше..(смотрит на Моргунова) … на кошках.

В статье описывается опыт использования CMAKE и LZ4 c некоторым уклоном на embedded системы.
Читать дальше →

Кластерное хранилище в Proxmox. Часть вторая. Запуск

Reading time7 min
Views44K
Здравствуйте!

Это вторая часть статьи о работе c кластерным хранилищем в Proxmox. Сегодня поговорим о подключении хранилища к кластеру.

В начале хочу привести выдержку из прошлой статьи, чтобы никто не забыл, зачем нам весь огород с кластером:
В нашем случае проблема организации общего хранилища сводится к двум аспектам:

  1. У нас есть блочное устройство, отдаваемое по сети, к которому будут иметь доступ несколько хостов одновременно. Для того, чтобы эти хосты не подрались за место на устройстве, нам нужен CLVMClustered Logical Volume Manager. Это то же самое, что LVM, только Clustered. Благодаря CLVM каждый хост имеет актуальную информацию (и может ее безопасно изменять, без риска нарушить целостность) о состоянии LVM-томов на Shared Storage. Логические тома в CLVM живут точно так же, как в обычном LVM. В логических томах находятся либо KVM-образы, либо кластерная FS.
  2. В случае с OpenVZ у нас есть логический том, на котором расположена файловая система. Одновременная работа нескольких машин с некластерной файловой системой ведет к неминуемым ошибкам в работе всего — это лебедь, рак и щука, только хуже. Файловая система обязательно должна знать о том, что она живет на общем ресурсе, и уметь работать в таком режиме.

В качестве кластерной файловой системы мы используем Global File System 2.
Читать дальше →

Кластерное хранилище в Proxmox. Часть первая. Fencing

Reading time7 min
Views50K
Здравствуйте!

Хочу рассказать о том, как мы используем у себя Proxmox Virtual Environment.

Я не буду описывать установку и первоначальную настройку — Proxmox очень прост и приятен и в установке, и в настройке. Расскажу о том, как мы используем систему в кластерном окружении.

Для полноценной работы кластера необходимо, чтобы управление виртуальной машиной оперативно могли брать на себя разные хосты кластера. Данные виртуалок при этом не должны никуда копироваться. То есть все хосты кластера должны иметь доступ к данным конкретной машины, или, иными словами, все хосты кластера должны работать с единым хранилищем данных, в рамках которого работает конкретный набор виртуальных машин.

Proxmox работает с двумя типами виртуализации: уровня операционной системы, на основе OpenVZ и аппаратной, на основе KVM. В этих двух типах используется разный подход к утилизации дискового пространства. Если в случае с OpenVZ-контейнерами работа с диском виртуальной машины осуществляется на уровне файловой системы хоста, то в случае с KVM-машинами используется образ диска, в котором находится собственная файловая система виртуальной машины. Операционная система хоста не заботится о размещении данных внутри KVM-диска. Этим занимается гипервизор. При организации работы кластера вариант с образами диска реализуется проще, чем работа с файловой системой. Данные KVM-машины с точки зрения операционной системы хоста могут просто находиться "где-то" в хранилище. Эта концепция замечательно ложится на схему работы LVM, когда образ KVM-диска находится внутри логического тома.

В случае же с OpenVZ мы имеем дело с файловой системой, а не просто с областями данных на Shared Storage. Нам нужна полноценная кластерная файловая система.

О кластерной файловой системе речь пойдет не в этой части статьи. О работе с KVM — тоже. Сейчас поговорим о подготовке кластера к работе с общим хранилищем.
Читать дальше →

Кастомизация скроллбаров в браузере: компромисс между технологиями html, css, js и удобством использования

Reading time12 min
Views69K
Приветствую всех!


Статья посвещена решению проблемы кастомизации скроллбаров браузера ради воплощения в жизнь амбициозных идей дизайнера. Статья расчитана на тех, кто свободно ориентируется в технологиях html, css, js, т.к. предлагаемое решение основано на их компромиссном использовании.



В статье будут описаны и решены следующие задачи и цели:
  • минимум JavaScript вычислений при прокрутке и изменении размеров элемента
  • кроссбраузерность и работа на мобильных браузерах
  • простота использования, кастомизации и внедрения
  • учитывание поведения элементов при прокрутке с помощью выделения контента
  • обновление параметров скроллбаров при обновлении, изменении или догрузке контента
  • обход стандартного поведения содержимого браузера при изменении ширины его окна

Читать дальше →

Обучение в Японии, в Киотском Университете. Начало

Reading time5 min
Views135K
Хотелось бы тоже написать о своем опыте обучения в Японии, а именно в Киотском Университете. Сразу оговорюсь, что обучение не было связано с IT, происходило это 8 лет назад, но возможно кому-то пригодиться мой опыт. Это будет вводная статья о этапе подготовки документов и прохождения отбора. Надеюсь тот, кто ездил по этой программе недавно, сможет дополнить более свежей информацией. Раньше уже был пост от об учебе в Aizu от cherepaha, так что часть информации будет пересекаться.

Как все начиналось.

Земля остыла, вымерли динозавры и в один солнечный весенний вечер, решил я посетить презентацию программ обучения в различных зарубежных странах. Организовывалось это представителями различных посольств и происходило все в Петербурге. Так я узнал о стипендии Monbukagakusho и программе стажер-исследователь поддерживаемой правительством Японии (Ministry of Education, Culture, Sports, Science and Technology). Всегда была мечта уехать в далекую экзотическую страну, также хотелось просто попробовать подать документы на обучение за границей. Я решил попробовать.
Что было дальше

Магистратура и аспирантура в Японии

Reading time4 min
Views37K
С опозданием поздравляю с началом учебного года всех хабровчан, для которых это событие не является простой календарной датой. Надеюсь, небольшой рассказ о магистратуре и аспирантуре в университете, где я сейчас работаю, вызовет у вас интерес.



Речь пойдёт об университете Aizu, где я тружусь в меру сил уже почти два года и, если не случится никаких неожиданностей, продолжу деятельность и в обозримом будущем. Кстати, на фотографии — наш кампус.
Читать дальше →

Магистратура и аспирантура в Японии: 2012

Reading time1 min
Views20K
Казалось, совсем недавно я писал о возможности пройти обучение в японской магистратуре или в аспирантуре. Однако прошли новогодние праздники, а с ними пришли новые известия, с которыми я и хочу ознакомить всех интересующихся в этой короткой заметке (даже ката не потребуется!):
  1. Похоже, один из хабрачитателей таки стал нашим магистрантом (по моей рекомендации) в этом году! Подробностей пока не будет — боюсь спугнуть. Ещё в одной инстанции его заявку должны завизировать. Если всё получится, попрошу написать его о впечатлениях.
  2. В апреле открывается общий приём заявок через посольства. Доступны магистратура и аспирантура, а также базовое высшее образование. Честно говоря, я и не знал, что к нам можно ехать сразу после школы, но оказывается, есть и такая программа. Впрочем, не уверен, стоит ли её советовать — чем меньше у кандидата образования, тем больше «лотерейности», поскольку неясно, как хороших отсеивать от не очень хороших.
  3. Стипендия для магистрантов составляет 152 тыс. иен, т.е. примерно 60 тыс. рублей по нынешнему курсу. Для докторантов чуть побольше, для бакалавриата — поменьше. Все стипендиаты освобождаются от платы за обучение. Кроме того, за счёт Японии оплачивается авиаперелёт.
  4. Все требуемые документы можно оформить за две недели. Исключение — сертификат TOEFL. Он необязателен, но очень желателен.
Разумеется, вы можете планировать учёбу в любом японском вузе, но я как патриот своего заведения буду агитировать за него. Как обычно, буду рад ответить на любые вопросы. Только читайте, пожалуйста, сначала мои посты и побродите по ссылкам. А то в прошлый раз было уж очень много вопросов, ответы на которые и так уже были даны в тексте.
Читать дальше →

Аспирантура в Японии — опыт поступления и личные впечатления

Reading time10 min
Views60K
Конничива, дорогие читатели.

Тема обучения в магистратуре и аспирантуре в Японии на хабре поднималась уже неоднократно. Автор упомянутых постов, уважаемый rg_software, преподает в University of Aizu, где я сейчас работаю над получением степени PhD. В предлагаемом вашему вниманию посте я постарался, во-первых, осветить вопрос поступления в аспирантуру и получения стипендии от японского правительства, и, во-вторых, изложить личные впечатления от без малого года пребывания на гостеприимной японской земле.

(На фото — вход в университетскую столовую)


Много букв под катом

Как мы делали Трубу Рубенса

Reading time2 min
Views205K
image

Несколько лет назад в «Разрушителях мифов» Адам и Джемми сооружали «Трубу Рубенса». Это было так зрелищно и прикольно, что я очень им позавидовал. Ну а теперь, когда подвернулась возможность построить нечто подобное, удержаться от соблазна было невозможно.
Читать дальше →

Пример использования Custom Destination в FreePBX

Reading time2 min
Views34K
Привет Хабр!

Цель данного поста на примере показать как в FreePBX с помощью Custom Destination регистрировать кастомные контексты, созданные пользователем (обычно в файле /etc/asterisk/extensions_custom.conf).

Читать дальше →

18-ступенчатый гауссган

Reading time2 min
Views370K
В дни моей бурной молодости, когда Fallout еще не был забыт народными массами, а в Сталкера играл каждый второй школьник, среди технически образованной молодежи было модно собирать (или хотя бы пытаться собирать) гауссганы, рейлганы и другие «вундервафли», виденные в компьютерных играх. На некоторых сайтах поддерживались мировые рейтинги любительских конструкций, и конечно же я хотел быть в них первым. С этой целью я замыслил собрать 18-ступенчатый гауссган.


Читать дальше →

Быстрое развертывание телефонной сети на Asterisk+Cisco

Reading time20 min
Views46K
Так случилось, что в короткие сроки появилась необходимость перевезти 70 человек с аналоговыми телефонами из одного бизнес центра в другой. Ситуация усугублялась тем, что в новом офисе у владельца не было аналоговых портов в АТС, а АТС в старом принадлежала телефонной компании. Пришлось в короткие сроки внедрять IP телефонию с переносом всех аналоговых городских линий на Asterisk. Поставка оборудования была назначена на день предшествующий дню переезда, что означало — времени на развертывание телефонии будет очень мало.

Что из этого вышло под катом.
Материала много, так что не пугайтесь.
Читать дальше →

Запускаем .NET MicroFramework на STM32F4Discovery (перевод)

Reading time4 min
Views35K
image
Несколько месяцев назад STMicroelectronics бесплатно раздавали отладочную плату STM32F4 Discovery. Я стал одним из тех, кому повезло получить ее бесплатно. Последний семестр я использовал плату для моего проекта (realtime и embedded OS) с применением Keil. У меня так-же есть отладочная плата Netduino, которая является моим фаворитом среди моих отладочных плат потому что я могу использовать Visual Studio и C#. Я знаю об ограничениях управляемого кода, связанных с расходами ресурсов на CLR, но моя программа не является программой реального времени. В последнюю неделю я случайно наткнулся на сайт netmf4stm32.codeplex.com и был приятно удивлен тем, что .NET MicroFramework был портирован на отладочные платы STM32F4. Так почему-бы не попробовать? Одновременно я описывал весь процесс, разбавляя текст скриншотами. Источником этой работы стал пост netmf4stm32.codeplex.com/discussions/400293. Благодарю LouisCPro и членов netmf4stm32.codeplex.com/team/view. Все это отняло у меня не более 2 часов (включая установку Visual C# Express 2010). Начнем…
Читать дальше →

LinkMeUp. Выпуск 0

Reading time6 min
Views18K
Всё началось с очень долгой дороги домой.
Это время нужно было чем-то занимать. Когда-то это были ESL (English is a Second Language) – весьма полезный в плане изучения языка, но обычные выпуски приедаются быстро, а интересные – English Cafe – выходят недостаточно часто. Потом я открыл для себя CBT-Nuggets – интереснейшая вещь, но курс довольно короткий. И наконец Радио-T, который, вроде бы, и ИТшный, но как-то сильно уж яблочный и программистский.
Был ощутимый голод по телекомовским темам. Спрос в количестве нескольких человек по крайней мере был, а предложения не было – ни одного подкаста в этой сфере. Были околосвязисткие вещи, но всё не то.
А там, где есть спрос, будет и предложение, пусть даже создавать его буду я.

Итак, мы рады представить нулевой выпуск подкста для связистов ЛинкМиАп.
В этом выпуске обсуждаем:
1) Переносимость мобильных номеров между операторами и регионами. MNP – Mobile Number Portability.
2) Технологии для осуществления голосовых вызовов в сетях LTE: CSFB, IMS.
3) Практическая тема: как ведёт себя маршрутизатор, если настроить интерфейс в качестве Next Hop, вместо IP-адреса.

Нас можно слушать на нашем сайте или на rpod.

Ниже краткий бриф и схемы для того, чтобы разобраться в темах было проще.

Если у вас есть предложения, какие темы было бы интересно обсудить в следующих выпусках, с удовольствием принимаем их в комментариях.

Шоуноуты

Pocketsphinx. Распознавание речи и голосовое управление в Linux

Reading time11 min
Views126K
— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»

Введение


В 1997-ом году Лукьяненко пророчил для десктопа сочетание CLI и голосового управления. Однако сейчас голосовое управление — достаточно узкая ниша.
Голосовое управление — взаимодействие с устройством при помощи звуковых команд. Не путайте это понятие с распознаванием речи. Для голосового управления достаточно, чтобы устройство реагировало на единственную нужную команду (ведь ваша собака не может работать машинисткой?). Распознавание речи — гораздо более глобальная проблема: в этом случае устройство должно преобразовывать в текстовый формат все слова, произнесенные вами. Как легко догадаться, распознавание речи на данный момент реализовано поверхностно относительно человеческих возможностей.
Функционал, рассмотренный в статье, может быть применен, к примеру, для организации модного сейчас «умного дома» или просто управления компьютером. Честно говоря, для описания управления компьютером хватило бы пары абзацев, но я попытаюсь показать вам основы работы с CMU Sphinx.
Кстати, процентов 70 описанного здесь подойдет и пользователям Windows.
Научим Linux слушаться?

Information

Rating
Does not participate
Location
Вильнюс, Литва, Литва
Date of birth
Registered
Activity