Category Archives: Компьютерное

Восстанавливаем raid mdadm в debian

Что делать, если настал таки момент, к которому мы готовились, создавая raid1 – пресловутое “зеркало”? Один винчестер “вылетел” из массива (или мы его просто отключили). Давайте понаблюдаем за такой ситуацией. Сервер, настроенный так, как было описано ранее, должен загрузиться даже с одним винчестером. В логах загрузки мы увидим следующие строки May 15 09:47:26 debiantest kernel: […]

Создаём raid зеркало в debian с помощью mdadm

Как перенести уже установленную систему на raid-массив в режиме зеркалирования без потери данных? Именно такой вопрос часто встаёт при настройке серверов, расположенных в датацентрах, где нет возможности подробно конфигурировать установку операционной системы, а доступ к KVM или невозможен в принципе или чрезвычайно дорог. (При стандартной установке на компьютер, к которому имеется физический доступ, есть возможность […]

Конвертировать все таблицы базы mysql в юникод

Изменить кодировку таблицы mysql в utf-8 можно командой: set names utf-8; ALTER TABLE `dbase`.`table` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci Но есть небольшая проблема – обычно в базе данных множество таблиц, и конвертировать в юникод хочется сразу все. Это возможно. Достаточно выполнить команду: SELECT CONCAT(‘ALTER TABLE `’, tbl.`TABLE_SCHEMA`, ‘`.`’, tbl.`TABLE_NAME`, ‘` CONVERT TO CHARACTER […]

PHP сессии в redis – масштабируем

При работе веб-приложения на нескольких серверах одновременно, приходится решать проблемы с балансировкой нагрузки и производительностью. Камнем преткновения в такой ситуации являются пользовательские сессии, которые обычно приходится привязывать к одному из серверов (sticky-sessions). Такая ситуация может привести к тому, что со временем один из серверов будет загружен, а второй – будет простаивать. Решением является синхронизация сессий, […]

Как складывать всю исходящую почту в файл под линукс

Иногда, при разработке веб-приложений, таких как мейлеры, возникает необходимость в отладке и контроле за рассылкой почты, ещё до вывода проекта в продакшн – то есть необходимо сложить всю генерируемую исходящую почту в файл. Решение данной проблемы можно реализовать разными методами, один из которых я опишу ниже. С помощью MTA Postfix, мы настроим переадресацию всей исходящей […]

Установка Gearman и Supervisor на debian wheezy из jessie

Сейчас в тренде писать об использовании gearman-job-server в качестве системы, которая позволяет в фоне выполнять ресурсоёмкие задачи и горизонтально масштабироваться. Подробнее можно почитать http://gearman.org/use_cases. Упрощённо систему можно представить как дополнительный уровень абстракции “планировщик”, куда можно поставить в очередь задачу, а потом [с другой машины] законнектиться и, забрав её из очереди, выполнить. Подробно описывать принцип работы […]

Nginx IFisEVIL – развёрнутое объяснение, почему ифы – зло

Ниже приводится развёрнутое объяснение работы директивы if в nginx (по материалам рассылки): В первую голову – надо уяснить для себя, что if создаёт вложенный location. И именно в этом location’е в результате будет обработан запрос, если if выполнится. Если таких if’ов много – то запрос будет обработан в последнем if’е, который выполнится. Поэтому конфигурация вида […]

Как подключиться к Х-server из-под windows?

В Linux оконная система  не является частью ядра системы. Стандартная оконная система для Linux – это X Window System. Хотя, уже сейчас разрабатывается и планируется к внедрению  Wayland (который станет фактически ещё одним уровнем абстракции и в котором полностью отсутствует апи рисования). А сейчас X windows system берёт на себя функции отрисовки графических элементов и взаимодействия […]

Создание загрузочной USB флешки для Debian Wheezy

В отличие от Ununtu, на официальном сайте Дебиана не так легко найти как создать загрузочную флешку с этой операционной системой под windows. Изначально, я попробовал использовать утилиту Universal USB Installer, которой предлагается записывать на флешку iso-образ убунту. Вроде получилось, но после загрузки и первых шагов установки, оказалось что необходимо смонтировать CDROM с установочными файлами, потому […]

Скрипт мониторинга увеличения нагрузки на сервер load averge c оповещением по email hugin.sh

Однажды в студёную зимнюю пору один из продакшн серверов стал вести себя, мягко говоря, странно. Простейшие операции типа aptitude update и freshclam стали занимать до 5 минут времени и вызывать повышения load average до 5.0. Тревожным сигналом стало и увеличение количества рабочих процессов mysql до 30-40 (с 1-2 инстансов майскл в нормальном режиме), а также […]