Pull to refresh
1
0
Александр Неверов @usefree

User

Send message

Перенос работающей системы Ubuntu на зашифрованные диски

Reading time6 min
Views6.4K
Речь пойдет о том, как зашифровать уже работающею операционную систему Linux. Предположим, что у вас есть сервер, на котором уже работает ваш сайт или на котором сохранено много личной информации. Конечно же вы не хотите, чтобы это все попало в чужие руки. Также, если вы используете сервер как хранилище даны – явно не хочется, чтобы эти данные были кем-то использованы при изъятии жестких дисков. Ситуаций может быть много… По этому нам нужно защитить наше содержимое от чужих глаз.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments44

Инструменты IT-департаментов больших компаний: как избавляться от хаоса и считать каждую копейку

Reading time8 min
Views52K

Форма заявки

Представьте, что вы приходите в большую компанию руководить ИТ-департаментом, и понимаете, что там просто конь не валялся. В самом простом случае у вас есть от 50 человек, куча бумажек про закупки и перемещения, инвентарная опись оборудования… и, пожалуй, всё.

Первая задача, с которой начинается разбор хаоса — это аудит подразделений/процессов и работа с самыми важными и тормозящими. Хочется точно знать, как решаются сбои — заводится система тикетов-инцидентов… Хочется автоматизировать большую часть задач — система тикетов обрастает функционалом бизнес-правил. Хочется, чтобы пользователи разгрузили саппорт — и вот уже у них есть свои инструменты для формирования заявок, причём такие, что отправить заявку, не заполнив все нужные данные, просто нельзя.

Следующий уровень — понять, что ИТ вообще должны делать и в какие сроки — появляется каталог услуг и соглашения с бизнесом; где какой сервер, лицензия, как они используются — дискаверинг и система учета; кто к чему имеет доступ, кто должен согласовывать изменения, сколько стоит предоставление каждого ИТ-сервиса. Финал — чёткое понимание затрат ИТ и возможность внятно/быстро объяснять бизнесу куда уходят его деньги. А заодно и сколько будут стоить его новые хотелки.

В итоге IT-департамент, призванный автоматизировать работу компании, автоматизирует и свою работу тоже. Естественно, для решения таких задач есть специальный уже готовый софт. Про него и поговорим.
Читать дальше →
Total votes 38: ↑30 and ↓8+22
Comments33

LVM — это просто!

Reading time4 min
Views640K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments75

Как загружается Linux

Reading time9 min
Views21K
Update: Статья и скрипты были обновлены в марте 2013 (прошло 5 лет, старые скрипты не сильно отличаются от текущих, но всё-таки лучше изучать актуальный код, а логика загрузки системы за эти годы немного изменилась — иначе работает udev, появились новые синтетические fs вроде devtmpfs, /var/run переехал в /run, etc.).

Когда я осваивал Linux, мне было очень интересно что происходит при загрузке системы. Попытка разобраться в процессе загрузки привела меня в исходники загрузочных скриптов (/etc/inittab, /etc/rc*, /etc/init.d/*, ...) и их конфигов (/etc/sysconfig/*, /etc/cond.f/*, ...). Надо отметить серьёзные размеры и сложность этих скриптов — чтобы в них разобраться потребовалось немало времени. Но я в те времена искренне верил, что загрузка это сложный процесс, и что размеры и сложность загрузочных скриптов вполне оправданы.

Когда меня окончательно достал RedHat (2001 год), я решил собрать свой дистрибутив на базе LFS. Для своего дистрибутива пришлось самостоятельно разрабатывать загрузочные скрипты, и тут-то выяснилась правда: ничего сложного в процессе загрузки нет!
Читать дальше →
Total votes 85: ↑76 and ↓9+67
Comments71

О здравом смысле и руководстве компаний

Reading time12 min
Views87K
Мы все знаем, что при росте организации решения руководства обычно становятся все более и более неоптимальными, все дальше отходят от здравого смысла. Это связано с общим законом сложных иерархических систем, в которых руководство не выбирается, а назначается (в результате назначаются люди, худшие, чем назначающий руководитель).

Это все понятно, но почему руководство в больших организациях зачастую принимает не просто неоптимальные, но абсурдные решения? Почему не руководствоваться ну хотя бы здравым смыслом?
Под катом несколько примеров из трудовой биографии старого опытного программиста.
Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments109

«Идеальный» www кластер. Часть 1. Frontend: NGINX + Keepalived (vrrp) на CentOS

Reading time9 min
Views111K


Этом цикле статей «Идеальный www кластер», я хочу передать базовые основы построения высокодоступного и высокопроизводительного www решения для нагруженных web проектов для неподготовленного администратора.
Статья будет содержать пошаговую инструкцию и подойдет любому человеку кто освоил силу copy-paste
Ошибки найденые вами, помогут в работе и мне и тем кто будет читать эту статью позже! Так что любые улучшение и правки приветствуются!

Хочу отметить, что эта инструкция родилась в процессе миграции web-систем компании Acronis в высокодоступный кластер. Надеюсь мои заметки будут полезны и для Вас!.

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

На frontend мы будем использоваться связку из двух службы:



keepalived — реализации протокола VRRP (Virtual Router Redundancy Protocol) для Linux. Демон keepalived следит за работоспособностью машин и в случае обнаружения сбоя — исключает сбойный сервер из списка активных серверов, делегируя его адреса другому серверу.

Другими словами, у нас 2 сервера на которых прописано по одному публичному адресу. Если любой из этих серверов падает, то адрес упавшего подхватывается вторым.
Демоны keepalived общаются по протоколу VRRP, посылая друг другу сообщения на адрес 224.0.0.18.
Если сосед не прислал свое сообщение, то по истечению периода он считается умершим и оба адреса обслуживает оставшаяся нода. Как только упавший сервер начинает слать свои сообщения в сеть, все возвращается на свои места


nginx [engine x] — это HTTP-сервер и обратный прокси-сервер, а также почтовый прокси-сервер, написанный Игорем Сысоевым. Уже длительное время он обслуживает серверы многих высоконагруженных российских сайтов, таких как Яндекс, Mail.Ru, ВКонтакте и Рамблер. Согласно статистике Netcraft nginx обслуживал или проксировал 15.08% самых нагруженных сайтов в октябре 2013 года.

Основная функциональность HTTP-сервера

  • Обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кэш дескрипторов открытых файлов;
  • Акселерированное обратное проксирование с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Акселерированная поддержка FastCGI, uwsgi, SCGI и memcached серверов с кэшированием, простое распределение нагрузки и отказоустойчивость;
  • Модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, XSLT-фильтр, SSI-фильтр, преобразование изображений; несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно;
  • Поддержка SSL и расширения TLS SNI.


Другие возможности HTTP-сервера

  • Виртуальные серверы, определяемые по IP-адресу и имени;
  • Поддержка keep-alive и pipelined соединений;
  • Гибкость конфигурации;
  • Изменение настроек и обновление исполняемого файла без перерыва в обслуживании клиентов;
  • Настройка форматов логов, буферизованная запись в лог, быстрая ротация логов;
  • Специальные страницы для ошибок 3xx-5xx;
  • rewrite-модуль: изменение URI с помощью регулярных выражений;
  • Выполнение разных функций в зависимости от адреса клиента;
  • Ограничение доступа в зависимости от адреса клиента, по паролю (HTTP Basic аутентификация) и по результату подзапроса;
  • Проверка HTTP referer;
  • Методы PUT, DELETE, MKCOL, COPY и MOVE;
  • FLV и MP4 стриминг;
  • Ограничение скорости отдачи ответов;
  • Ограничение числа одновременных соединений и запросов с одного адреса;
  • Встроенный Perl.


Читать дальше →
Total votes 46: ↑40 and ↓6+34
Comments79

HAPRoxy для Percona или Galera на CentOS. Его настройка и мониторинг в Zabbix

Reading time5 min
Views35K


Очень короткая статья, про то как можно использовать HAProxy в качестве балансировщика для multi-master серверов MySQL, таких как Percona или Galera.



Хочу отметить, что эта инструкция родилась в процессе внедрения Zabbix в стенах компании Acronis.
В процессе экспертизы и проведенных мною исследований, она доказала свое право на жизнь и благополучно служит нам верой и правдой день ото дня.


Для тех кто не знаком с HAProxy, цитата о предназначении продукта:
При увеличении нагрузки или посещаемости проекта, рано или поздно вертикальное маштабирование (увеличение ресурсов сервера, таких как память, скорость диска и т.д) упирается в некий предел и не дает ощутимого прироста. В таком случае в ход идет горизонтальное масштабирование — добавление новых серверов c перераспределением нагрузки между ними.
Кроме увеличения мощности, горизонтальное масштабирование добавляет надежности системе — при выходе из строя одного из серверов, нагрузка будет сбалансирована между работающими и приложение будет жить.


От слов к делу, установка и настройка очень просты:
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments16

Zabbix 2.2 верхом на nginx + php-fpm и mariadb

Reading time10 min
Views58K


Хочу отметить, что эта инструкция родилась в процессе внедрения Zabbix в стенах компании Acronis.
В процессе экспертизы и проведенных мною исследований, она доказала свое право на жизнь и благополучно служит нам верой и правдой день изо дня.


Перед нами стоит нетривиальная задача, добиться максимальной производительности известной системы мониторинга zabbix.
Среди многих статей в интернете, есть много описаний типовых установок этой системы. Я подробно опишу, как заставить работать zabbix быстрее.
В качестве базовой системы я буду использовать CentOS 6.4. Так же как и многие я люблю Debian, Gentoo и все остальные дистрибутивы, но эта статья именно для CentOS.

Все что нужно делать я распишу подробно и шаг за шагом, и начнем с базовой настройки нашего CentOS
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments117

Перевод учебника по алгоритмам

Reading time1 min
Views166K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Total votes 323: ↑321 and ↓2+319
Comments109

Cellebrite Touch — телепорт для телефона

Reading time15 min
Views85K


Привет Хабр! Несколько дней назад ко мне в руки попало необычное и очень крутое устройство. Наверное, по заглавной картинке можно догадаться о его назначении, однако, это лишь вершина айсберга. Меня больше всего впечатлил уровень реализации. Естественно, все подробности под катом, но для начала, раз уж это подробная статья, будет небольшая вводная — бизнес кейс, так сказать.

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

Однако вы ведь много читали об эффективном бизнесе на Хабре, поэтому уверены, что надо стараться максимально оптимизировать процессы и, конечно, знаете, что в вашем деле очень важна внимательность к деталям.

И вот, анализируя затраты времени, вы обнаружили что клиенты в основном люди нетехнические и поэтому регулярно просят помочь с, казалось бы, несложными вещами: перекинуть записную книжку на новый телефон, сохранить смски и фотки, записать мелодии вместо тех дурацких, что поставил производитель, установить программки. На все это у ваших продавцов уходит масса времени, и постоянно образуются очереди. А уж принятие на комиссию старого телефона способно отвлечь одного из продавцов на полчаса-час: помимо сохранения (или удаления) данных клиента из аппарата вам надо внимательно осмотреть телефон, оценить работоспособность всех компонентов, объявить цену и обосновать ее. Можно, конечно, нанять еще продавцов, открыть новую точку или даже несколько. И, наверное, вы бы так и поступили. Но как человек изобретательный и технически грамотный, вы решили сначала поискать возможности автоматизации всей этой рутины и попытаться обойтись текущими мощностями и сэкономить.

И вот после пары дней поиска вы уже с удивлением читаете про устройство Cellebrite, которое умеет все, что вам надо и даже больше. Давайте почитаем вместе.
Читать дальше →
Total votes 150: ↑144 and ↓6+138
Comments39

Strace

Reading time7 min
Views125K
В течение минуты думал над заголовком, так ничего и не придумал…
Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments33

Bitcoin: Децентрализованная электронная денежная система

Reading time12 min
Views46K
Предлагаю вниманию сообщества вольный перевод оригинальной статьи Сатоси Накамото «Bitcoin: A Peer-to-Peer Electronic Cash System».

От переводчика:
Я не являюсь профессиональным переводчиком и плохо разбираюсь в криптографии, но вот недавно заинтересовался технологией Биткоин и захотел начать изучение с первооснов. Беглый поиск по интернету не дал мне перевода основополагающей статьи Сатоси Накамото и я решил попробовать перевести ее сам.
Вскоре после того как перевод был начат я понял, что английский язык, скорее всего, не является родным для автора статьи поскольку иногда было крайне трудно понять — что автор подразумевает и зачем в одном предложении так много частиц «and». Однако большинство трудностей удалось преодолеть и я решил представить сей конечный продукт публике.

Читать дальше →
Total votes 103: ↑73 and ↓30+43
Comments13

Wi-Fi: неочевидные нюансы (на примере домашней сети)

Reading time14 min
Views1.4M
Сейчас многие покупают точки доступа 802.11n, но хороших скоростей достичь удается не всем. В этом посте поговорим о не очень очевидных мелких нюансах, которые могут ощутимо улучшить (или ухудшить) работу Wi-Fi. Всё описанное ниже применимо как к домашним Wi-Fi-роутерам со стандартными и продвинутыми (DD-WRT & Co.) прошивками, так и к корпоративным железкам и сетям. Поэтому, в качестве примера возьмем «домашнюю» тему, как более родную и близкую к телу. Ибо даже самые администые из админов и инженеристые из инженеров живут в многоквартирных домах (или поселках с достаточной плотностью соседей), и всем хочется быстрого и надежного Wi-Fi.
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
Читать дальше →
Total votes 234: ↑231 and ↓3+228
Comments138

PulseAudio, часть 1: управление из командной строки

Reading time11 min
Views153K

Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa :)

В статье я с самого начала расскажу что это такое и как оно работает, а так же:
  • Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
  • Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
  • Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
  • Как управлять громкостью и усиливать тихий сигнал (!);
  • Как сделать Skype громче музыки?

И представлю своё решение, призванное упростить управление PulseAudio ;)
Любопытно!
Total votes 112: ↑106 and ↓6+100
Comments83

Видео-курс по JavaScript на русском языке

Reading time1 min
Views218K
Здравствуй, Хабр!

Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Total votes 135: ↑127 and ↓8+119
Comments23

Майнинг и как он работает: матчасть

Reading time6 min
Views561K

Привет, %username%!
Я расскажу и покажу как работает основа генерации денег в криптовалютах — майнинг. Как создается первый блок, новые блоки и как появляются деньги из ниоткуда.
Чтобы было проще понять, мы напишем свой импровизированный майнер для импровизированной криптовалюты HabraCoin.
Читать дальше →
Total votes 274: ↑252 and ↓22+230
Comments482

Крупнейшая афера с Bitcoin происходит прямо сейчас

Reading time8 min
Views309K
Одна из крупнейших афер в истории сети Bitcoin происходит прямо сейчас. 96000 BTC, а это почти сто миллионов долларов, по состоянию на текущий момент, было выведено со счетов клиентов, поставщиков и администраторов сайта SheepMarketplace (SMP) в минувшие выходные. SMP был одной из главных площадок, пришедших на замену SilkRoad, который был закрыт в октябре, а теперь, в результате этой аферы закрыт и сам SMP. Пока трудно точно утверждать, что именно происходит, но пользователи сайта пытаются разгадать эту головоломку на популярном сайте reddit.com в саб-реддите r/sheepmarketplace.

image

Вот что известно на данный момент: злоумышленнику (одиночке или группе людей) удалось подделать остатки средств на счетах пользователей, показывая, что у них были биткоины в собственных кошельках на сайте, в то время как на самом деле они уже были переведены. В течение недели весь сайт планомерно опустошался, так что к выходным, когда администрация сайта поняла, что что-то происходит, и закрыла площадку, со счетов пользователей было списано гигантское количество средств. И всё это произошло всего через несколько дней после того как другой конкурент SilkRoad — Black Market Reloaded — объявил, что завершает работу из-за неспособности вместить массовый приток новых пользователей, покидающих SheepMarketplace.
Читать дальше →
Total votes 293: ↑268 and ↓25+243
Comments298

Скринкасты в линуксе, личный опыт

Reading time4 min
Views10K
openshot
Чуть больше года назад я публиковал здесь на хабре скринкасты. Недавно вышел последний и хотелось поделится опытом создания скринкастов под линуксом.
Читать дальше →
Total votes 78: ↑70 and ↓8+62
Comments26

Несколько полезных сервисов

Reading time2 min
Views126K
Хочу поделиться ссылками на несколько полезных сервисов. Некоторые из них помогут сэкономить время, другие — сделают за Вас незнакомую/нелюбимую работу. Список разбит по категориям, чтобы было легче ориентироваться.

Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)

Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
Читать дальше →
Total votes 382: ↑356 and ↓26+330
Comments108

Как я внедрял первое правило ведения бизнеса в России

Reading time5 min
Views125K
image
«1. Держите сервера за границей»
(с) 9,5 правил ведения безопасного бизнеса в России


Вводная часть.

Мы — маленькая компания из 10 сотрудников, половина из которых периодически работает удаленно.
Что мы имели изначально: сервер с Windows и терминальным доступом, который стоял в офисе. У всех пользователей были ноутбуки. Никакой особо конфиденциальной информации у нас нет, за исключением важной для бизнеса информации.
В один прекрасный момент меня окончательно «добила» паранойя и было принято решение вынести сервер за пределы офиса.

Читать 7 шагов:
Total votes 187: ↑164 and ↓23+141
Comments136

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity