Как стать автором
Обновить
11
0
Павел Лилин @Janaaki

краб

Отправить сообщение

Добавление и удаление на ходу SATA/SCSI устройств

Время на прочтение2 мин
Количество просмотров66K
Современный Linux (2.6+) может обнаруживать новоподключенные устройства (на шинах, которые поддерживают hotplug). Их можно, так же отключать, предварительно отмонтировав файловые системы и сделав sync. Среди hotplug шин не только USB, но и SATA, SCSI и SAS (в теории, это же применимо и к PATA, но там много глупых контроллеров, которые не умеют адекватно реагировать на исчезновение устройства).

Отключать их лучше не дёргая на ходу физическое устройство, а сказав ядру полностью забыть про про него (гарантируя тем самым, что никаких операций ввода-вывода с устройством производиться не будет, даже если вспохватившийся кеш). Кроме того, иногда нужно выполнять эмуляцию процедуры plug-unplug без физического дёргания питания/шины данных (что не очень хорошо для железа). Самая типичная ситуация — это отладка скриптов udev.

Удаление устройства


echo 1 >/sys/block/sdX/device/delete

(x — буква устройства, sda, sdb, etc).

Эта команда удаляет указанное устройство. Заметим, это низкоуровневая команда, которая не проверяет кеш и статус примонтированности, так что лучше сначала сказать umount & sync.

К сожалению, я не знаю метода совместить выключение шпинделя диска с его удалением с точки зрения ядра. Шпиндель можно отключить командой scsi-spin, однако, при попытке удалить устройство, оно будет раскручено заново и удалено. А у удалённого устройства уже нельзя ничего останавливать (нет устройства). Так что эта часть проблемы пока не решена.

Добавление устройства


Мы не можем «добавить» устройство, мы можем отдать контроллеру команду «перечитать» список устройств, подключенных к тому или иному порту. Если там найдётся что-то интересное, ядру дадут знать.

echo "- - -" >/sys/class/scsi_host/hostX/scan

X — номер шины, совпадает с номером SATA порта на материнской плате. Если не знаете, можете смело делать для всех хостов по очереди, ничего, кроме небольшого лага в дисковых операциях, незаметного для софта и файловой системы, это не даст.

Обратите внимание, host'ы нумеруются с 0, а не с 1. (а в dmesg ata устройства нумеруются с 1).

Так же осуществляется и сканирование USB-SATA переходников (usb-боксов и внешних винчестеров — они просто фигурируют как ещё один scsi_host).

Если мы говорим про SCSI, то вместо "- — -" можно указать точный номер устройства/шины/LUN'а сканируемого устройства (например, «200 1 2»). SATA, в силу архитектурных особенностей (один target для одного initiator) принимает туда только «0 0 0».

Ещё об удалении… Если вы не знаете буквы устройства, но знаете его физическое место подключения, то удалять можно «прямым текстом», записью «1» в "/sys/bus/scsi/devices/targetX:0:0/X:0:0:0/delete".
Всего голосов 64: ↑54 и ↓10+44
Комментарии48

Вкладки

Время на прочтение2 мин
Количество просмотров32K

Открываем


VIM Tabs
Открыть вкладку можно тремя разными способами, самый простой и интуитивный :tabnew в нормальном режиме, он откроет новую вкладку с пустым буфером. Можно сразу открыть вкладку с файлом, передав его имя как параметр

:tabnew futuri.co

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

vim -p habra.sh habr.py
Читать дальше →
Всего голосов 72: ↑59 и ↓13+46
Комментарии21

Настройка и масштабирование PostgreSQL

Время на прочтение1 мин
Количество просмотров4.2K
Написал небольшой мануал по настройке и масштабированию PostgreSQL. Сподвигло меня на это то, что материала по этой теме мало, он устарел или его просто нет.

Скачать можно здесь:
http://github.com/le0pard/postgresql_book/raw/master/postgresql.pdf
Исходники:
http://github.com/le0pard/postgresql_book/

Страница:
http://postgresql.leopard.in.ua/
Всего голосов 84: ↑83 и ↓1+82
Комментарии27

Неприступный почтовый сервер, или жизнь без спама

Время на прочтение11 мин
Количество просмотров197K
Борьба со спамом — это головная боль всех ответственных администраторов почты. Чего только они не изобретают, чтобы любимым пользователям лучше жилось. Однако, как показала практика общения со многими системными администраторами, почему-то далеко не все представляют как правильно фильтровать спам.

Чаще всего встречается подход «добавим кучу RBL (DNSBL) и будем радоваться жизни». Подход не верный чуть более, чем полностью. Второй по популярности — контент-фильтры, зачастую купленные за бешеные деньги. Такой подход тоже в большинстве случаев совершенно неоправдан.

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

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

Итак, если вы хотите обезопасить своих пользователей от спама или наоборот, хотите чтобы кто-то случайно не обезопасил пользователей от ваших писем — добро пожаловать под кат.

Читать дальше →
Всего голосов 158: ↑140 и ↓18+122
Комментарии149

Кто стоит за соединениями?

Время на прочтение2 мин
Количество просмотров5.6K
Периодически возникают ситуации, когда хочется понять, какой же процесс на сервере повинен за конкретное соединение с СУБД. К примеру, очень много соединений к базе и хочется узнать, откуда они идут. Либо, есть какие-то «тяжёлые» соединения (по которым какие тяжёлые запросы идут, которые тормозят всё).

Можно ли это вообще узнать эту информацию? Оказалось, что в этом нет ничего сложного! Однако, каждый раз руками устанавливать соответствие довольно муторно. Так почему бы не автоматизировать процесс?

Нет ничего проще!
Читать дальше →
Всего голосов 35: ↑19 и ↓16+3
Комментарии17

Учёт ресурсов в облаках

Время на прочтение7 мин
Количество просмотров3.9K
Слова «облако», «облачные вычисления», «облачный» используются для чего попало. Новое модное слово, buzzword. Мы видим «облачные антивирусы», «облачные блейд-сервера». Даже именитые вендоры сетевого оборудования, не стесняются выставлять коммутаторы с ярлыком «for cloud computing». Это вызывает инстинктивную неприязнь, примерно, как «органические» продукты питания.

Любой технарь, который попытается разобраться с технологиями, лежащими в основе «облака», после нескольких часов борьбы с потоком рекламных восторгов, обнаружит, что это облака — это те же VDSы, вид сбоку. Он будет прав. Облака, в том виде, как их делают сейчас — обычные виртуальные машины.

Однако, облака, это не только маркетинг и переименованные VDS. У слова «облако» (или, точнее у фразы «облачные вычисления») есть есть своя техническая правда. Она не такая патетичная и восхитительно-инновационная, как рассказывают маркетологи, но она всё-таки есть. Придумана она была много десятилетий назад, но только сейчас инфраструктура (в первую очередь, Интернет и технологии виртуализации x86) доросла до уровня, который позволяет реализовать её в массовом порядке.

Итак, сначала о причине, которая вообще породила потребность в облаках:

Вот как выглядит предоставляемая услуга для обычного VDS (на месте этого графика может быть любой ресурс: процессор, память, диск):


Обратите внимание: это недельный график. Существующие технологии временного увеличения лимита потребления ресурса (burst, grace period) не способны решить эту проблему на таких длинных интервалах. Т.е. машина недополучает ресурсы тогда, когда они ей больше всего нужны.

Вторая проблема — посмотрите на огромные интервалы (голубой цвет), когда ресурсы, фактически, пришлось оплатить, но использовать не удалось. Виртуальной машине ночью просто не нужно столько ресурсов. Она простаивает. И не смотря на это — владелец платит по полной.

Возникает проблема: человек вынужден заказывать ресурсов больше, чем нужно в среднем, для того, чтобы переживать без проблем пики. В остальное время ресурсы простаивают. Провайдер видит, что сервер не нагружен, начинает продавать ресурсов больше, чем есть (это называют «оверселл»). В какой-то момент, например, из-за пика нагрузки на нескольких клиентов, провайдер нарушает свои обязательства. Он обещал 70 человекам по 1Ггц — но у него есть только 40 (2.5*16 ядер). Нехорошо.

Продавать полосу честно (без оверселла) невыгодно (и цены нерыночные получаются). Оверселлить — снижать качество сервиса, нарушать условия договора.

Эта проблема не связана с VDS или виртуализацией, это общий вопрос: как честно продавать простаивающие ресурсы?

Именно ответом на эту проблему и стала идея «облачных вычислений». Слова хоть и модные, но своей основой уходящие во времена больших мейнфреймов, когда продавалось машинное время.

Облачные вычисления делают то же самое — вместо лимитов и квот, которые оплачиваются вне зависимости от реального потрбления, пользователям предоставляется возможность использовать ресурсы без ограничения, с оплатой реального потребления (и только того, что было реально использовано). Это и есть суть «облака».

Читать дальше →
Всего голосов 78: ↑72 и ↓6+66
Комментарии187

Rutracker.Org Addons: расширение Firefox для Rutracker.Org

Время на прочтение2 мин
Количество просмотров11K
image

Исключительное богатство и динамика главного трекера страны имеют свою оборотную сторону: чувствуется нехватка некоторых удобств, привычных для других ресурсов. Нет почтовых уведомлений, невозможно подписываться на комментарии и автоматизировать оперативное получение новостей. Новорождённое RSS тоже имеет свои ограничения: задержка в 1 час, дробность (для каждого раздела приходится держать отдельную ленту). Расширение призвано помочь решению этих проблем на клиентской стороне.
Читать дальше →
Всего голосов 114: ↑96 и ↓18+78
Комментарии50

Кластерная LustreFS или с Миру по нитке

Время на прочтение2 мин
Количество просмотров8.7K
#include

Зачастую, краеугольным камнем производительности работы сервера является скорость работы файловой системы. Её можно увеличить с помощью создания дисковых массивов RAID0 — запись/чтение побитово производится на оба диска, однако рано или поздно слоты под диски заканчиваются, надёжность RAID0 оставляет желать лучшего — при выходе одного из дисков, рушится вся система. RAID10 опять же упираемся в количество дисков.

Как альтернатива, использование сетевых фс. Наибольшее распространение получила NFS, но для боевых задач с её скоростью и неочевидностью настройки прав доступа практически непригодна.
«Сравнивать GPFS и LustreFS — это как сравнивать IBM и SUN.»
Анонимус из интернетов.

В ТОП-300 суперкомпьютеров Мира половина из первых 50 используют LustreFS, которая очень проста в первоначальной настройке.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии29

Что, если «Оскары» вручались бы сайтам?

Время на прочтение10 мин
Количество просмотров3K
Многие из нас пользуются глобальной сетью для покупки билетов или поиска информации о фильмах. Сайты, продавая билеты и развлекая посетителей, помогают сбору кассы и формированию общественного мнения. Тем не менее, разработчики сайтов не получают никакого признания. Не является ли это немного несправедливо в эпоху Интернета — не получать ни бита славы за онлайн-презентации фильмов?

image

Большинство современных киносайтов сделаны во Flash’е, даже если это совсем не оправдано. При создании сайтов часто не соблюдаются стандарты и требования по переходу со сплэш-страниц и доступу к контенту. Разработчики позволяют себе такую роскошь, как пренебрежение общими принципами и юзабилити-стандартами, поскольку основная задача — привлечь внимание к фильму и помочь его раскрутить. Предположим, однако, что эти разработчики получили своих «Оскаров», «Медведей» и «Пальмовые ветви». Не будет ли это мощным стимулом к созданию ярких и удобных сайтов?

Под катом долгая церемония вручения с большим количеством картинок.
Всего голосов 143: ↑110 и ↓33+77
Комментарии32

Добавляем свои поисковые системы

Время на прочтение2 мин
Количество просмотров51K
Что мне нравится в Google Chrome, так это возможность очень удобной работы с разными поисковыми системами: ввел ключевое слово, пробел и печатаешь запрос. Однако этой функцией пользуются на 100% далеко не все.

Сегодня я хочу рассказать, как добавлять свои «поисковые системы» (это, на самом деле, могут быть не только поисковые системы) и тем самым повысить производительность работы в Интернете.

4.75 КБ

Где это все настраивается? Смотрим картинку:
Читать дальше →
Всего голосов 141: ↑110 и ↓31+79
Комментарии95

А ты сделал бэкап?

Время на прочтение4 мин
Количество просмотров16K
Доброго времени суток %habrauser%!

Как известно backup — must be! Но просто сделать архив данных — это еще не значит грамотный бэкап. Когда у наших клиентов начали появляться сервера на базе Calculate directory server встал вопрос о выборе средств для создания резервных копий данных. Поиск готовых решений ничего толкового не дал, поэтому пришлось писать самим.
Backup - это легко
Всего голосов 44: ↑33 и ↓11+22
Комментарии73

Сборка и установка ядра под Debian

Время на прочтение3 мин
Количество просмотров68K
Тут речь идти будет не просто про компиляцию ядра Linux, а про компиляцию ядра и его сборку в deb-пакет. Потом этим deb'ом можно будет поделиться с знакомыми, похвастаться перед любимой девушкой/парнем или просто, при необходимости, использовать повторно.
Читать дальше →
Всего голосов 54: ↑40 и ↓14+26
Комментарии35

Тюнинг консольного клиента MySQL

Время на прочтение2 мин
Количество просмотров4.5K
Мне довольно часто, даже постоянно приходится обращаться к разным базам данных MySQL. Испробовав немало разных GUI клиентов я понял, что они все меня не удовлетворяют. То проблемы с кодировкой, то отсутствует автодополнение кода, то не работает история запросов. В общем пришел я к использованию консольного клиента mysql. И вроде все хорошо, но была пара проблем.
Во-первых заходя в очередную закладку с открытым соединением mysql я тупо смотрел в строку приглашения и старался понять на каком я сервере нахожусь и к какой базе данных подключен. Во-вторых при выводе большого количества полей или при выводе поля с длиной превышающей ширину терминала получалась каша из черточек, букв и палочек :). На днях я покопался в документации и с кое-чем разобрался.
Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии55

Ping и traceroute со всех континентов одновременно

Время на прочтение2 мин
Количество просмотров2.8K
Хочу рассказать о сетевых утилитах, которые мы открыли на проекте WIPmania полтора месяца назад. Утилиты включают в себя пинги и трассировки с множества серверов (на сегодня около полусотни) по всему миру:
image
Пинги можно выполнять одновременно со всех серверов.
Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии27

A look at MySQL on ZFS

Время на прочтение11 мин
Количество просмотров6.8K
image

Представляю вниманию общественности перевод достаточно большой статьи об использовании MySQL на ZFS, а так же сравнительное тестирование ZFS и UFS.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии29

Строим кластерную систему защиты от DDoS

Время на прочтение3 мин
Количество просмотров12K
Данная статья написана моим другом, который профессионально занимается созданием высоконагруженных сетевых решений, в том числе систем противостояния DDoS аткам.
По его просьбе публикую ее на хабре. Если статья понравиться, он будет рад инвайту на адрес hl.squirrel@yahoo.com.


Попытаюсь вкратце описать схему решения комплексной защиты от разных типов DDoS атак высокой интенсивности. Подобное решение успешно протестировано и функционирует на сервисе stop-ddos.net
Схема основывается на отделении системы защиты (фронтенда) от сервера приложений (бэкенда).

Существует 3 основных типа DDoS атак:


  • атака, направленная на переполнение ресурсов канала в интернет;
  • атака, направленная на превышение максимального количества одновременных соединений сервера (SYN флуд);
  • атака, направленная на исчерпание процессорных мощностей сервера (частое запрашивание страниц — HTTP флуд).

Решение должно обеспечивать защиту от каждого типа атаки.


Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии57

Правильное приготовление и работа с ZFS под FreeBSD

Время на прочтение15 мин
Количество просмотров45K
Некоторое время назад возникла задача построения достаточно вместительного массива для хранения оперативных инкрементальных бекапов. Причём тратить деньги особо не хотелось, а место было нужно. Решение было простым и достаточно удобным. Далее много текста.

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии45

Что почитать по веб-разработке

Время на прочтение3 мин
Количество просмотров233K
Топик Много книг, хороших и разных навёл на мысль сделать похожий каталог наиболее удачных и интересных книг по веб разработке.

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

update: Теперь есть электронные версии книг!

Начнём…
Читать дальше →
Всего голосов 118: ↑99 и ↓19+80
Комментарии137

Отдаём статику nginx'ом

Время на прочтение2 мин
Количество просмотров4.8K
Начиная с версии 0.8.11 в nginx появилась новая возможность для раздачи статики — использование AIO (Asyncronous Input-Output — неблокирующий ввод-вывод) для Linux и FreeBSD.

Чем это событие знаменательно? До этого момента nginx использовал неблокирующий режим только при работе с сетью — любая работа с файлами блокировала рабочий процесс. К чему это приводило? Если у вас есть много разного контента, который не весь находится в кэше ОС (фотохостинг, etc) — то рано или поздно все 50, 150, 200 процессов будут ждать дисковые операции и не смогут обслужить нового клиента — даже если нужный ему контент можно отдать из файлового кэша или запросить с бэкенда.

Как с этим боролись раньше?
Всего голосов 42: ↑38 и ↓4+34
Комментарии18

Как я строил свой датацентр — часть третья. Волшебство электричества и холода

Время на прочтение2 мин
Количество просмотров42K
Гермозона у меня есть, осталось нашпиговать ее по последнему слову техники. Начнем с электричества.
Ведь куда датацентру без электричества?

Прямо в помещении столько электричества, конечно, нет. Но есть в трансформаторной. Прокладка кабеля за счет арендатора.

Итак, копаем канаву по всему заводу.
image
Читать дальше →
Всего голосов 345: ↑340 и ↓5+335
Комментарии357

Информация

В рейтинге
Не участвует
Откуда
Иркутск, Иркутская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

System Administration