Search
Write a publication
Pull to refresh
17
0.1
Алексей / lehha @lehha

Пользователь

Send message

Windows: удалённое резервное копирование с использованием снапшотов (VShadow)

Reading time3 min
Views14K
При резервном копировании путём простого копирования файлов возникает вопрос: «как убедиться в целостности данных». Ведь если, например, копировать 50-гиговую базу lotus сервера, то в процессе копирования одной части может измениться другая и целостность будет нарушена. А в некоторых случаях (например с базами данных) может появиться необходимость остановки службы, но нет возможности остановить её на пару часов.

Для подобных задач Windows имеет полезный инструмент. Впервые о подобной технологии я узнал работая с FreeBSD, затем узнал про LVM в Linux, а поискав такое же решение для Windows обнаружил, что оно здесь тоже есть и называется Volume Shadow Copy.

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

Я приведу пример автоматического создания слепка для резервного копирования базы Lotus Domino (останова она не требует) и поясню как оно работает. Скрипт можно легко адаптировать под свои нужды.

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

Связь биллинга и Cisco Catalyst 2960 через SNMP. Изменение скорости портов, подсчет трафика

Reading time4 min
Views16K
Как и обещали, после приветствия, начинаем немножко раскрывать технические подробности.

Задача


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

Железо


В каждой стойке стоит как минимум один свич Cisco Catalyst 2960. Конкретная модель — WS-C2960G-48TC-L with LANBASE SPF. На вход к нему идет 4x SFP, а к серверам обращены 48 гигабитных Ethernet портов. При живой нагрузке в несколько гигабит никаких проблем не возникало. На фото различные представители семейства 2960.
image
Читать дальше →

Generating PDF files with PHP and FPDF

Reading time5 min
Views117K
Большинство web-сервисов экспортируют данные в разных форматах для дальнейшего использования. Данная статья о том, как экспортировать данные в pdf-формате.
Хотя многие знают как это делать, я опишу кратко для тех кто не знает.
Читать дальше →

TOP'ай сюда

Reading time5 min
Views184K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →

Nagios мониторинг баланса мобильного телефона

Reading time6 min
Views10K

Для чего это нужно


Когда в семье число мобильных телефонов становится более 3-х, назревает вопрос мониторинга баланса и оповещения, когда баланс приближается к критической отметке. Есть много средств для мониторинга баланса, но зачем городить огород, когда под рукой есть незаменимый Nagios (так получилось что и дома у меня есть свой мониторинговый сервер, его основная задача наблюдать за состоянием серверов организаций которые я администрирую в нерабочее время). Данное решение также подойдет для мониторинга баланса корпоративного лицевого счета.
Читать дальше →

Частный опыт установки и настройки Asterisk с нуля

Reading time17 min
Views345K
Во-первых, дисклаймер

Настройке Asterisk посвящены сайты, форумы и целые порталы типа voip-info.org. Но всегда есть люди, для которых эта тема – дремучий лес, а запустить продукт надо «вчера». Ещё полтора месяца назад я про Asterisk знал только то что он есть. Данный труд призван лишь несколько облегчить жизнь тем, кто окажется в такой же ситуации после меня. В нём могут быть ошибки любой степени «чайниковости». Если вы гуру настройки Asterisk – укажите на ошибку, я поправлю, потомки будут вам благодарны.
Читать дальше →

Загрузка файлов с помощью html5 File API, с преферансом и танцовщицами

Reading time7 min
Views45K

Предисловие


Загрузка файлов всегда занимала особое место в веб-разработке.
О трудности оформления стилями <input type=file/> уже сказано немало, почитать об этом можно, например, по ссылкам раз, два, три, четыре, пять, шесть.
Но и сам процесс загрузки файлов нетривиален, есть много разных способов – и ни одного идеального.

Я уже писал о внедрении на нашем проекте Файлы@Mail.Ru silverlight-загрузчика полгода назад. На тот момент у нас подерживались iframe, flash, silverlight и обычная загрузка файлов. Но прогресс не стоит на месте, и вот уже последние бета-версии всеми горячо любимых браузеров в полной мере поддерживают html5 FileAPI (справедливости ради, стоит заметить, что, как обычно, некоторые поддерживают своеобразно, но об этом — ниже).

Пока писалась статья, Chrome 9 был объявлен stable и форсировано обновился уже на 75% установок 8 версии. Так, что празднуем поддержку File API первым стабильным браузером, ура!

Мы подумали, что не использовать такую технологию было бы преступлением против юзеров пользователей.
Подумали — и внедрили html5 загрузку в дополнение к уже существующим вариантам.
В итоге наши пользователи получили множество плюшек:
— прозрачная дозагрузка после обрыва соединения (и даже рестарта браузера!);
— очередь загрузки;
— прогресс-бар (пользователи MacOS и Safari наконец могут видеть прогресс без всяких инородных плагинов), возможность удаления файлов из очереди, если передумал.
Как это устроено.

Scratch и визуальное программирование Arduino

Reading time1 min
Views58K
Scratch — это среда для обучения школьников программированию.

В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними. Это объектно-ориентированная среда, в основе которой лежит принцип конструктора LEGO и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего.
Читать дальше →

Динамический favicon или отображаем карму, не обновляя страницу

Reading time5 min
Views12K
image
У каждого из нас, полагаю, в любимом браузере постоянно открыты несколько вкладок одновременно. Не раз бывают случаи, что и заголовка вкладки не видно — лишь favicon'ки. Но часто они информации, кроме как отображения логотипа сайта, не дают. И, наверное, зря. Но мы постараемся и здесь использовать это место (целых 16px*16px!) так, как хотим. По крайней мере, будем знать, как это можно сделать.
Читать дальше →

BigBlueButton: открытое решение организации конференций

Reading time4 min
Views80K

Почти уверен что перед каждым ИТ отделом ставилась задача организовать видеоконференцию, или просто конференцию, например с филиалом. Решений задачи много — от дорогих аппаратных до бесплатных софтовых. Хочу обратить внимание хабрсообщества на одно из бесплатных решений этой задачи — BigBlueButton. На хабре уже была небольшая заметка о нем, я попытаюсь рассказать немного подробнее об этом решении, а так же о опыте его внедрения у нас в компании.
Читать дальше →

OpenVZ Web Panel

Reading time4 min
Views16K
Благодаря новогодним каникулам появилась возможность рассказать о проекте OpenVZ Web Panel. Данный проект занял 3-е место в номинации «Индивидуальный проект» конкурса «Лучший свободный проект России — 2010», проводимый журналом «Linux Format» (пруф-линк). Звучит немного пафосно конечно, но, как говорится, слов не выкинешь.

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

Медиа-сервер, собираем своими руками из найденного в «закромах родины»

Reading time6 min
Views52K
Кризис! Работы мало, времени много… никто не мешает навести порядок в закромах.

В результате получился полноценный мультимедиа компьютер с огромным экраном, беспроводной клавиатурой, мышкой, WiFi. С торрент качалкой, файло-помойкой, персональный веб-сервер. И все это под управлением страшной операционной системы Linux. Компактный корпус и уровень шума не мешает спать.
image
Читать дальше →

Синхронизация двух серверов Apache + MySQL на FreeBSD

Reading time4 min
Views16K
В данном обзоре я расскажу о реализации кластера состоящего из двух нод с резервированием популярной связки для веб сервера Apache + MySQL + FreeBSD (или любой Linux).
Читать дальше →

Блокировка нежелательного DNS трафика

Reading time5 min
Views40K


У Вас может быть идеально настроено конечное сетевое оборудование, полный порядок в кластерах, могут быть пустыми магистрали и не нагруженное оборудование ядра сети, но если у Вас плохо работает DNS, то Ваши клиенты будут недовольны.

Отсюда следует простой вывод — Ваши рекурсивные DNS сервера должны быть всегда доступны и в состоянии обслужить запросы клиента.

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

Модуль ustats: статистика запросов к бэкендам

Reading time5 min
Views8.3K
Приветствую!

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

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

5 основных ошибок интернет-магазинов

Reading time7 min
Views20K
Приятно удивившись ажиотажу вокруг предыдущего материала, я решил пойти дальше. На этот раз, под прицелом – интернет-магазины. Их ошибки, глупости и т.п.

image

Итак…

1. Отсутствие фирменной концепции (логотипа, слогана, и т.п.).


Первое, во что упирается мой взгляд при заходе на страницу – логотип сайта и слоган под ним. И благо, если на сайтах магазинов есть хотя бы логотип. Из 50 магазинов, выданных гуглом по разным конкурентным запросам, логотипа не было у 6. Не так уж и много, но и не так уж мало.

Многие владельцы интернет-магазинов банально не понимают (лично спрашивал) – огромная часть продаж строится на бренде. У человека в голове есть ряд ячеек, заполненных брендами известных фирм. К примеру, «наушники – Koss», «операционная система – MacOS X», «газировка – Coca-Cola», и т.д. и т.п. Первоочерёдная задача фирменой концепции – заполнить ячейку «интернет-магазин — ?» вашим названием. Тогда пользователь будет возвращаться снова и снова.
Читать дальше →

Самый простой способ создать трафик на сетевом интерфейсе

Reading time1 min
Views34K
Есть программа iperf, которая позволяет проверять скорость интерфейсов (у меня на тестах из 10G интерфейса она выжимала 9.37 Гбит/с).

Пакет (в дебиане и убунте) так и называется — iperf.

Применение очень простое: на одном сервере запускаете iperf -s X.X.X.X (свой собственный адрес сервера, на котором слушать). Можно запустить просто iperf -s, тогда слушать будет на всех интерфейсах.

На клиентской части пишем iperf -c X.X.X.X (адрес сервера из предыдущего этапа). Клиент подключается, работает 10 с и показывает скорость работы канала.

Пример: сервер имеет адрес 192.0.2.1, клиент 192.0.2.200. На сервере запускаем iperf -s 192.0.2.1 на клиенте iperf -c 192.0.2.1.

Для того, чтобы сделать много байтов (привет хостерам с соотношениями) нужно просто указать опцию -t (время в секундах). Многие гигабайты трафика в нужном направлении вам обеспечены. С учётом текущих тарифов для дома — можно даже с домашней машины, за 3-4 часика можно выправить любое соотношение с минимальной нагрузкой как на сервер, так и на клиента.

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Reading time8 min
Views28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.

Information

Rating
6,458-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity