Pull to refresh
0
0
Сергей @aisalexa666

системный администратор

Send message

Опыт эксплуатации MySQL Master-Master — как пережить аварию датацентра

Reading time 6 min
Views 80K
Всем привет!

Сегодня поговорим о том, для каких задач на самом деле полезна MySQL Master-Master репликация, для каких — полностью бесполезна и вредна, какие мифы и заблуждения с ней связаны и какую практическую пользу можно быстро получить от данной технологии. Приведу конкретные примеры настройки и схемы архитектур.

Говорить о MySQL Master-Master репликации — в контекстах высокой доступности и производительности — модно, но, к сожалению, многие не понимают ее сути и связанных с технологией серьезных ограничений.
Начнем с того, что в классическом MySQL «настоящей» Master-Master репликации — пока нет :-) Но если постараться, можно все таки просто и быстро настроить эффективную схему выживания при отказе одного датацентра и получить свою долю счастья.


Читать дальше →
Total votes 86: ↑73 and ↓13 +60
Comments 70

Вы пользуетесь уязвимым софтом, но я вам не могу об этом рассказать

Reading time 10 min
Views 38K

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

Хотите узнать, какие именно уязвимости я нашёл? Но я не смогу вам об этом рассказать, даже если захочу. Без согласия вендора публично говорить о найденных уязвимостях мне не позволяет закон.

Читать далее
Total votes 73: ↑71 and ↓2 +69
Comments 93

Яндекс отключил расширения с аудиторией в 8 млн пользователей. Объясняем, почему мы пошли на такой шаг

Reading time 14 min
Views 281K
Сегодня мы приняли решение отключить расширения SaveFrom.net, Frigate Light, Frigate CDN и некоторые другие, установленные у пользователей Яндекс.Браузера. Совокупная аудитория этих инструментов превышает 8 млн человек.

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



Читать дальше →
Total votes 369: ↑360 and ↓9 +351
Comments 508

Удивительное рядом, или команда ddate в Linux / Unix

Reading time 2 min
Views 11K
Стоит лишь случайно дважды нажать клавишу, и попадаешь в новый удивительный мир. Так, сегодня я ввёл "ddate" вместо "date" в консоли и обнаружил массу интересного. Оказалось, ddate выводит текущую дату по «Дискордианскому календарю».

«WTF?», скажет кто-то, чем в точности повторит мою реакцию. Краткий ответ примерно таков: Дискордианский календарь используется поклонниками Дискордианизма. А Дискордианизм (Дискордиа́нство) — согласно русской Википедии — «пародия на религию или религия, маскирующаяся под пародию. В отличие от традиционных религий, проповедующих гармонию, дискордианизм обожествляет хаос. Главным божеством дискордианизма является Эрис, древнегреческая богиня раздора, подбросившая яблоко раздора на свадебном пиру у Пелея. Основополагающая книга — Principia Discordia (1958 или 1959), написана Омаром Хайямом Равенхурстом (Керри Торнли) и Малаклипсом Младшим (Грег Хилл).».
Более подробная информация есть в Английском варианте: по календарю и по самой религии. Вообще занятно — например, следующее: «в Дискордианском календаре 5 73-дневных сезона: Хаос, Разлад, Замешательство, Бюрократия и Последствия».

Подробная информация по запуску и формату даты самой команды, естественно, в man ddate, оттуда приведу лишь примеры использования:

% ddate
Sweetmorn, Bureaucracy 42, 3161 YOLD

% ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H'
Today is Sweetmorn, the 42nd of Bureaucracy, 3161.

% ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995
It's Prickle-Prickle, the 50th of Bureaucracy, 3161.
Celebrate Bureflux

% ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996
Today's St. Tib's Day, 3162.


P.S.: ничего лучшего (в плане дислокации) чем «Linux для всех» не придумал.
Total votes 156: ↑140 and ↓16 +124
Comments 73

Горячие клавиши в шелле

Reading time 3 min
Views 113K
Посвящается B_dot, пост которого заставил заинтересоваться возможностями консоли плотнее.
cat /dev/cheat-sheet >> /dev/head

Краткое вступление


В этом посте будет рассказано о некоторых сочетания клавиш, которые могут упросить жизнь администраторам, работающим в консоли. Все они работают в bash'e. Сочетания клавиш я дополнительно проверял на циске (Cisco IOS Software, s72033_rp Software (s72033_rp-ADVIPSERVICESK9_WAN-M), Version 12.2(33)SXH4), csh и zsh. Рассмотренное в других записях повторять особо не буду. Сочетания сгруппированы по использованной функциональной клавише.
Особенно полезен этот текст будет людям, которые любят использовать клавиши Home, End и Delete (которые в цисковой консоли «не работают»).
Читать дальше →
Total votes 150: ↑145 and ↓5 +140
Comments 59

Так как же удалить миллионы файлов из одной папки?

Reading time 5 min
Views 146K

Феерическая расстановка точек над i в вопросе удаления файлов из переполненной директории.

Прочитал статью Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки и очень удивился. Неужели в стандартном инструментарии Linux нет простых средств для работы с переполненными директориями и необходимо прибегать к столь низкоуровневым способам, как вызов getdents() напрямую.

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

Так что я выделил время, организовал тестовый полигон и попробовал различные средства, как предложенные в комментариях, так и найденные в различных статьях и свои собственные.
Читать дальше →
Total votes 155: ↑145 and ↓10 +135
Comments 103

Девять признаков сурового администратора Unix

Reading time 4 min
Views 131K
Я, к сожалению, не нашел русского перевода этого текста, хотя мне он показался крайне… просветляющим, что ли.

Признак 1: мы не используем sudo


Как CAPS LOCK — «круиз-контроль для крутотенюшки», так и sudo — «костыль для сомневающихся». Если нам нужно сделать что-то от имени root, мы используем su, а не фигню навроде sudo. Если какая-то из Unix-подобных операционных систем заставляет нас использовать sudo, то первое что мы делаем — sudo su и устанавливаем пароль для пользователя root, чтобы комфортно пользоваться su в дальнейшем. Постоянное использование sudo можно сравнить с плаванием c надувным кругом в животе — это безопаснее, да, но лишает необходимости обдумывания поступков.
Читать дальше →
Total votes 197: ↑168 and ↓29 +139
Comments 192

fork() может потерпеть неудачу: это важно

Reading time 1 min
Views 26K
Эх, fork(). Одни процессы порождают другие. Кажется, у меня есть история об этом.

Форк может потерпеть неудачу. Понимаете? В самом деле, понимаете? Это очень серьёзно. Форк может завершиться с ошибкой. Так же, как и malloc. Нечасто, но когда такое происходит, нельзя просто взять и игнорировать это. Вы должны что-то предпринять в таком случае.

Похоже, всем известно, что fork возвращает дочернему процессу 0, а родителю некоторое положительное число — pid ребенка. Он выдаёт этот номер, который используется позже.

Угадайте, что происходит, когда вы не проверяете ответ на ошибку? Да, вы обработаете "-1" (ошибка форка) в качестве валидного pid.
Читать дальше →
Total votes 189: ↑169 and ↓20 +149
Comments 256

Как быстро удалить множество строк из большой базы в MySQL

Reading time 3 min
Views 27K
Как известно, все системные администраторы делятся на две категории. Те, кто уже делают бэкапы и те, кто ещё нет.

Подобно им, администраторы БД также делятся на две категории, те, кто уже запускал процедуру удаления на большой БД с типом таблиц InnoDB, и те, кому это ещё предстоит.



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

Для понимания, удаление 350М записей в таблице на 500М записей может занять более двух суток. Вторые грабли, на которые многие наступают, это попытка прибить запрос. Как мы все помним, InnoDB движок транзакционный, поэтому если вы попытаетесь прибить запрос, он попытается откатить изменения, а это может занять больше времени, чем выполнялся запрос.

Как сделать так, чтобы не было мучительно больно? Добро пожаловать под кат!
Читать дальше →
Total votes 27: ↑24 and ↓3 +21
Comments 13

Печальное состояние сисадмина в эпоху контейнеров

Reading time 3 min
Views 81K
Системное администрирование сейчас в печальном состоянии. Оно в хаосе.

Я не говорю про олдскульных админов, они знают как управлять системами и контролировать обновления.

Проблема в контейнерах, готовых виртуальных машинах (prebuilt VMs), а также в невероятном хаосе, который они создают, потому что в их концепции не хватает «доверия» и «обновлений».

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

Ни одна из «замечательных» утилит не собирается традиционной командой make. Каждая утилита поставляется со своим собственным не переносимым и не совместимым c чем-либо «методом дня» для сборки.

И так как никто не умеет собирать вещи с нуля, то все просто скачивают бинарники со случайных веб-сайтов, часто даже без проверки цифровой подписи.
Читать дальше →
Total votes 141: ↑130 and ↓11 +119
Comments 99

Information

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