• Всё, что вы хотели узнать о RAID-контроллерах, но лень было искать



      Дисковый массив с нотками ретро.

      На плечах RAID-контроллеров лежит ответственная задача — управление дисковой подсистемой, то есть всей информацией, хранимой на сервере. Именно они отвечают за работу дисковых массивов, позволяя повысить производительность сервера или надёжность хранения данных. Поэтому давайте поговорим о RAID-контроллерах, установленных в серверы вендоров «большой тройки», об их возможностях и особенностях.
      Читать дальше →
    • Оптимизация передачи multicast-трафика в локальной сети с помощью IGMP snooping



        Всем привет! Сегодня хотел бы затронуть тему передачи multicast-трафика в локальной корпоративной сети, а именно работу технологии IGMP snooping на коммутаторах. Так получилось, что за последнюю неделю ко мне обратилось несколько человек с вопросами по этой технологии. И я решил подготовить небольшую статью с описанием данной технологии. Но в процессе подготовки, выяснилось, что краткостью здесь не отделаешься, так как есть о чём написать. Кому интересен вопрос работы IGMP snooping, добро пожаловать под кат.
        Читать дальше →
      • Как не быть обманутым злыми буратинами


          Уж сколько раз твердили миру,
          Что лесть гнусна, вредна; но только все не впрок,
          И в сердце льстец всегда отыщет уголок.
          «Ворона и Лисица» (1807) И. А. Крылов
          1807 год, вдумайтесь! 1807, 200 лет назад!

          Небольшие инструкции по материальным взаимоотношениям.


          Для всех обиженных опсосами, банками, сервис центрами и прочими злыми буратинами.
          Читать дальше →
        • Как веб-дизайн катится прямо в Ад

            Забавный и весьма жизненный комикс Мэтью Иннмана «How a web design goes straight to Hell» уже несколько раз упоминался на Хабрахабре в разных топиках, и наверное многие хабралюди уже с ним знакомы. Мы с моей коллегой, Юлей Лисевич (у нее пока нет акаунта на Хабре) решили сделать его перевод на русский язык. Зачем? Те, кому ежедневно приходится сталкиваться с ситуациями, подобными описанным в комиксе, смогут показать его заказчикам. Возможно это поможет им найти общий язык. :) Итак…

            Как веб-дизайн катится прямо в Ад
            Читать дальше →
          • Лучшие бесплатные Photoshop плагины для веб-дизайнеров

              Divine Elemente


              image
              Один из самых потрясающих проектов, которые я встречал за последнее время. Плагин Divine Elemente дает возможность дизайнерам создавать WordPress темы без каких либо навыков фронт/бэк-енда. К сожалению у меня не было возможности поработать с ним. Он доступен только для Windows. Для того что бы все работало необходимо создавать макет в соответствии со встроенным blueprint — это некий Bootstrap, Boilerplate или даже набор инструкций по наименовании слоев и групп. Разработчики обещают множество всего хорошего, в том числе: SEO friendly, валидную и семантичную верстку, читаемый код. Впечатляет!

              Читать дальше →
              • +58
              • 138k
              • 9
            • Несколько интересностей и полезностей для веб-разработчика (выпуск 3)

                Доброго времени суток, уважаемые хабравчане. С прошедшим вас днем программиста. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

                Cloudconvert




                Великолепный онлайн конвертер файлов, который поддерживает в общей сложности 140 форматов следующих типов: archive, audio, cad, document, ebook, image, presentation, spreadsheet, video. Синхронизируется с Dropbox и Google Drive, благодаря чему возможно использование на всех смартфонах. А самое приятное это то, что для данного сервиса существует функциональное и простое API.

                Читать дальше →
                • +123
                • 59,1k
                • 29
              • Оперативная реакция на DDoS-атаки

                Один из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — Linux,Nginx,PHP-FPM(+APC),MySQL, версии — самые последние. На сайтах крутится Drupal и phpBB. Оптимизация на уровне софта (memcached, индексы в базе, где их не хватало) чуть помогла, но кардинально проблему не решила. А проблема — большое количество запросов, к статике, динамике и особенно базе. Поставил следующие лимиты в Nginx:

                на соединения
                limit_conn_zone $binary_remote_addr zone=perip:10m;
                limit_conn perip 100;
                

                и скорость запросов на динамику (fastcgi_pass на php-fpm)
                limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
                limit_req zone=dynamic burst=10 nodelay;
                

                Сильно полегчало, по логам видно, что в первую зону никто не попадает, зато вторая отрабатывает по полной.

                Но плохиши продолжали долбить, и захотелось их отбрасывать раньше — на уровне фаервола, и надолго.

                Сначала сам парсил логи, и особо настырных добавлял через iptables в баню. Потом парсил уже по крону каждые 5 минут. Пробовал fail2ban. Когда понял, что плохишей стало очень много, перенёс их в ipset ip hash.

                Почти всё хорошо стало, но есть неприятные моменты:
                — парсинг/сортировка логов тоже приличное (процессорное) время отнимает
                — сервер тупит, если началась новая волна между соседними разборками (логов)

                Нужно было придумать как быстро добавлять нарушителей в черный список. Сначала была идея написать/дописать модуль к Nginx + демон, который будет ipset-ы обновлять. Можно и без демона, но тогда придётся запускать Nginx от рута, что не есть красиво. Написать это реально, но понял, что нет столько времени. Ничего похожего не нашёл (может плохо искал?), и придумал вот такой алгоритм.

                При привышении лимита, Nginx выбрасывает 503-юю ошибку Service Temporarily Unavailable. Вот я решил на неё и прицепиться!

                Для каждого location создаём свою страничку с ошибкой
                error_page 503 =429 @blacklist;
                

                И соответствующий именованный location
                location @blacklist {
                    fastcgi_pass    localhost:1234;
                    fastcgi_param   SCRIPT_FILENAME    /data/web/cgi/blacklist.sh;
                    include         fastcgi_params;
                }
                

                Дальше интересней.
                Нам нужна поддержка CGI-скриптов. Ставим, настраиваем, запускаем spawn-fcgi и fcgiwrap. У меня уже было готовое для collectd.

                Сам CGI-скрипт
                Читать дальше →
              • Установка приложений с .EXE-инсталляторами средствами GPO

                • Tutorial
                Ни для кого не является секретом то, что в организациях установка приложений на клиентские компьютеры должна быть (или, если честно, то рекомендуется, чтобы была) автоматизированной. Естественно, комплексные продукты, например, такие как Microsoft System Center Configuration Manager, могут превосходно справляться с такой задачей, однако ведь всегда были, есть и будут организации, которые по той или иной причине не приобрели себе такой продукт. Поэтому приходится устанавливать программные продукты с помощью тех же штатных средств операционных систем Windows, и для выполнения такой задачи предпочтительными становятся функциональные возможности групповой политики.
                Также все прекрасно знают и о том, что при помощи расширения клиентской стороны Group Policy Software Installation GPSI, приложения можно развертывать на клиентские машины двумя методами: либо путем публикации только для пользователей, либо при помощи назначения для пользователей или компьютеров.
                Читать дальше →
                • +20
                • 67,9k
                • 6
              • Как начать работать на Elance.com. Краткие рекомендации системному администратору и не только

                  В общем-то на Хабре достаточно постов о фрилансе вообще, и о Elance.com в частности — пост ниже является попыткой поделиться опытом.
                  Информации много не бывает — посему позвольте начать.

                  Если вы впервые слышите про Elance — настоятельно рекомендую прочитать два поста ниже, serjio очень хорошие советы даёт по поводу регистрации, наполнения портфолио, бидов и прочего, что необходимо знать:

                  Читать дальше →
                • Полезные техники HTML, CSS и JavaScript

                  Техника – это способ справиться с заданием, и у нас, разработчиков и дизайнеров фронтэнда, этих способов бывает достаточно много. При это, будучи погруженными в рутинную работу, мы порой не всегда замечаем как стремительно меняется окружающая нас сфера. В период с 2002 по 2010 годы сообщество фронтэнд-разработчиков буквально покрывалось язвами избыточного кода и ресурсов, от которых страдали и работа сайтов, и удобство их использования. Чтобы с этим справиться, мы придумали уйму хаков, трюков и уловок под кодовым названием «техника». Мы по-прежнему продолжаем выполнять поставленные перед нами задания, просто используем не самые эффективные способы.



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

                  

В 2010 появился стандарт HTML5, обеспечивающий совершенно новую, полустандартизованную веб-среду. Такие браузеры, как Opera, Firefox, Chrome и Safari приняли нововведения, и их разработчики вышли за пределы реализации стандартов и изучения интерфейса программирования приложений. Чтобы представить себе, насколько автономны эти браузеры, можно ознакомиться с отличной наглядной демонстрацией поддержки HTML5 на www.html5readiness.com.
                  Читать дальше →