• Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

    • Tutorial

    Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


    Для исправления этой вселенской несправедливости я решил написать введение в Ансибл для тех, кто его уже знает. Предупреждаю, это не пересказ манов, это лонгрид в котором много букв и нет картинок.


    Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

    Читать дальше →
  • SCT Error Recovery Control

      … или что такое на самом деле 'raid edition' для жёстких дисков



      Немного теории


      Существуют две стратегии поведения НЖМД при обнаружении ошибки:
      • standalone/desktop — пытаться прочитать до последнего. Это ощущается как «тормозящий винт», который всё-таки работает, если это единичный сбой, то «затупило, но прошло», плюс характерный перестук перекалибрующихся головок.
      • raid — отваливаться тут же. Это ощущается как «внезапно была ошибка диска но потом mhdd и т.д. НИЧЕГО НЕ НАШЁЛ ЧТО МНЕ ДЕЛАТЬ».
      Статегии очевидным образом различаются по предназначению — десктоп лучше протупит, но ошибку не выдаст, в рейде есть запасной винт, и терпеть минутные тормоза на чтении никто не имеет никакой возможности. Не получилось прочитать? Читаем с запасных винтов, помечаем весь винт как сбойный, начинаем ресинк, а диск потом отправят в утилизатор. Возможно, незаслуженно, но нечего икать на ответственной должности.

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

      Расшифровка названия


      Возможность управления поведением диска при ошибках называется очень и очень путанно: SCT ERC. Это расшифровывается как SCT Error Recovery Control. SCT в свою очередь название общего протокола SMART Command Transport. SMART в свою очередь расшифровывается как Self-Monitoring, Analysis and Reporting Technology, таким образом, полная расшифровка SCT ERC звучит так: Self-Monitoring, Analysis and Reporting Technology Command Transport Error Recovery Control (выдохнули).
      Читать дальше →
    • Нечёткий поиск в тексте и словаре

        Введение


        Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

        В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
        • Расстояние Левенштейна
        • Расстояние Дамерау-Левенштейна
        • Алгоритм Bitap с модификациями от Wu и Manber
        • Алгоритм расширения выборки
        • Метод N-грамм
        • Хеширование по сигнатуре
        • BK-деревья
        А также проведу сравнительное тестирование качества и производительности алгоритмов.
        Читать дальше →
      • CSRF-уязвимости все еще актуальны

          CSRF (Сross Site Request Forgery) в переводе на русский — это подделка межсайтовых запросов. Михаил Егоров (0ang3el) в своем докладе на Highload++ 2017 рассказал о CSRF-уязвимостях, о том, какие обычно используются механизмы защиты, а также как их все равно можно обойти. А в конце вывел ряд советов о том, как правильно защищаться от CSRF-атак. Под катом расшифровка этого выступления.


          О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях

          Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.


          В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
          Читать дальше →
        • Как правильно мерять производительность диска

          • Tutorial
          abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

          Предупреждение: много букв, долго читать.

          Лирика



          Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
          • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
          • использование bonnie++
          • использование iozone
          • использование пачки cp с измерениема времени выполнения
          • использование iometer с dynamo на 64-битных системах


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

          Как мерять правильно
        • Тренинг FastTrack. «Сетевые основы». «Понимание архитектурных игр Cisco (обзор)». Эдди Мартин. Декабрь, 2012

          • Tutorial
          Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий.



          Мы продолжаем цикл из 27 статей на основе его лекций:

          01/02: «Понимание модели OSI» Часть 1 / Часть 2
          03: «Понимание архитектуры Cisco»
          04/05: «Основы коммутации или свитчей» Часть 1 / Часть 2
          06: «Свитчи от Cisco»
          07: «Область использования сетевых коммутаторов, ценность свитчей Cisco»
          08/09: «Основы беспроводной локальной сети» Часть 1 / Часть 2
          10: «Продукция в сфере беспроводных локальных сетей»
          11: «Ценность беспроводных локальных сетей Cisco»
          12: «Основы маршрутизации»
          13: «Строение роутеров, платформы маршрутизации от Cisco»
          14: «Ценность роутеров Cisco»
          15/16: «Основы дата-центров» Часть 1 / Часть 2
          17: «Оборудование для дата-центров»
          18: «Ценность Cisco в дата-центрах»
          19/20/21: «Основы телефонии» Часть 1 / Часть 2 / Часть 3
          22: «Программные продукты для совместной работы от Cisco»
          23: «Ценность продуктов для совместной работы от Cisco»
          24: «Основы безопасности»
          25: «Программные продукты Cisco для обеспечения безопасности»
          26: «Ценность продуктов Cisco для обеспечения безопасности»
          27: «Понимание архитектурных игр Cisco (обзор)»

          И вот двадцать седьмая из них.
          Читать дальше →
          • +12
          • 4,1k
          • 4
        • Мир, в котором IPv6 придуман хорошо

          Перевод статьи Avery Pennarun, одного из сотрудников Google, о том, почему современный интернет такой, какой он есть, об истории и предпосылках создания IPv6, а также о том, как был бы устроен идеальный протокол IPv6, почему это не так и как можно к этому идеалу приблизиться.
          Читать дальше →
        • Не доверяйте SUDO, она может вас подвести


            Всем доброго времени суток, в этой статье постараюсь описать некоторые способы обхода ограничений на исполнение команд в ОС Linux, советы по использованию которых можно часто встретить на различных форумах. Демонстрация будет проведена на примере задания Restricted shells с сайта Root-Me. Итак, начнём.
            Читать дальше →
            • +89
            • 41,5k
            • 8
          • Pthreads: Потоки в русле POSIX

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



              В этой статье мы познакомимся с POSIX Threads для того, чтобы затем узнать как это все работает в Linux. Не заходя в дебри синхронизации и сигналов, рассмотрим основные элементы Pthreads. Итак, под капотом потоки.

              Читать дальше →
            • Эффективное хранение: как мы из 50 Пб сделали 32 Пб

                Видео доклада




                Текстовая Версия


                Изменения курса рубля два года назад заставили нас задуматься о способах снижения стоимости железа для Почты Mail.Ru. Нам понадобилось уменьшить количество закупаемого железа и цену за хостинг. Чтобы найти, где сэкономить, давайте посмотрим, из чего состоит почта.


                Индексы и тела писем составляют 15 % объёма, файлы — 85 %. Место для оптимизаций надо искать в файлах (аттачах в письмах). На тот момент у нас не была реализована дедупликация файлов; по нашим оценкам, она может дать экономию в 36 % всего объёма почты: многим пользователям приходят одинаковые письма (рассылки социальных сетей с картинками, магазинов с прайсами и т.д.). В этом посте я расскажу про реализацию такой системы, сделанной под руководством PSIAlt.
                Читать дальше →
              • Полный перевод Unix-коанов на русский язык



                  Представляю на ваш суд ещё один перевод коанов о Мастере Фу на русский язык. В данный сборник вошли все коаны, на данный момент опубликованные на сайте Эрика Реймонда. Надо сказать, что сам Эрик личность весьма неординарная, но упоминания в данной статье стоящая. Помимо холиваров в списках рассылки всевозможных проектов за его авторством также несколько серьёзных трудов о Unix — в том числе и о сообществе, без которого экосистема современных открытых проектов не была бы возможной (полный список книг). Идея перевести коаны в очередной раз пришла мне в голову во время чтения одного из таких трудов, а именно «The Art of Unix Programming», поскольку многое из скрытого смысла коанов становится ясно только после прочтения очередной главы оттуда.

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

                  Итак