Обновить
24
0.3
andrey i. mavlyanov @aim

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

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

Куда мы катимся? Первая часть

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

Сегодня я хочу поговорить с вами про такую замечательную вещь как Point in time recovery (PITR) в PostgreSQL.

Механизм восстановления на определенную точку во времени работает таким образом – у нас есть базовый бэкап, созданный при помощи какой-либо утилиты создания бэкапов (например pg_basebackup), а также набор журнальных файлов, постепенно применяя (накатывая) который, мы можем восстановиться до указанной точки.

Звучит это довольно просто, но, как водится, в каждой простой вещи есть какие-то нюансы, вот о них мы сегодня с вами и поговорим.

Читать далее

Знакомство с pg_probackup. Третья часть

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


Завершающая часть из цикла "Знакомство с pg_probackup" (первая | вторая части).

В предыдущей статье мы решили сразу две задачи: в первой создали архив wal-файлов, перешли к PAGE-архивам, настроили политику удержания wal-файлов; во второй — реплику из бэкапа и настроили pg_probackup на снятие бэкапов с неё.

Сегодня мы с вами продолжим тему восстановления из бэкапов.

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

Знакомство с pg_probackup. Вторая часть

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

Продолжаем знакомиться с инструментом pg_probackup.

В первой части мы установили pg_probackup, создали и настроили экземпляр, сняли два бэкапа — полный и инкрементный в режиме DELTA, научились просматривать и изменять конфигурацию экземпляра. Получили список бэкапов, написали скрипт (bkp_base.sh), производящий резервное копирование кластера и отправку результатов последней операции по снятию бэкапа в систему мониторинга. Сегодня будем решать не менее интересные задачи.

Задача 2


Дано: У нас есть два сервера, на первом у нас располагается наша база данных (имя хоста srv_db1, пользователь postgres), а на втором мы будем хранить бэкапы (имя хоста srv_bkp, пользователь backup_user). Но помимо бэкапов на этом же сервере мы будем хранить копии журналов предварительной записи, чтобы иметь возможность восстановления на произвольный момент времени (Point-in-time recovery) в течение последних 3х дней.
Читать дальше →

Знакомство с pg_probackup. Первая часть

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

Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup.

Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличие от стандартной утилиты pg_basebackup этот инструмент позволяет создавать инкрементные резервные копии на уровне блоков данных (по умолчанию 8Kb), производить валидацию резервных копий и СУБД, задавать политики хранения и многое другое.

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

Будут рассмотрены следующие варианты использования:

  • создание автономных бэкапов на отдельном сервере
  • создание архива wal-файлов и создание бэкапов в этом режиме
  • развёртывание реплики из бэкапа и настройка создания бэкапов с реплики
  • различные варианты восстановления

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

Asciidoc для подготовки сложной документации

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

image


В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократической процедурой согласования.


Года полтора назад мы втянулись в проект по разработке небольшой отраслевой информационной системы. По этой небольшой системе необходимо было разработать с полсотни взаимоувязанных документов и согласовать их не меньше, чем с сотней человек.


Сразу решили, что попробуем сделать документацию актуальной, т.е. обойтись без покраски травы в зелёный цвет. И сразу решили, что это будет Asciidoc. Почему? Потому что из текстовых языков разметки для подготовки документации он наиболее функциональный, а разворачивать неповоротливые DITA и Docbook не хотелось.


Пройдя определённую боль, мы с коллегами решили ей поделиться.

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

Terraform за 15 дней (AWS/Yandex cloud). День 1

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

Terraform за 15 дней (AWS/Yandex). День 1

Мы от простого к сложному, поднимем небольшую инфраструктуру на aws и Яндекс (актуальность последнего я думаю объяснять не нужно). Так что по итогу вы сможете сказать: “Я изучал terraform от простого к сложному”.

Я постараюсь добавить все необходимые ссылки на документации и доп. источники, так что вы сможете дополнить необходимые знания, но данный курс (если это можно так назвать) скорее рассчитан на тех, кто в общем знаком с облачными технологиями. Это не пособие по terraform. Цель - помочь новичкам в данном вопросе начать изучать IaC и облака в целом. Некий quick start в terraform.

Изучить terraform

Разбираемся в Apache Kafka: подборка полезных статей и кейсов

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

Разрабатываете приложения с применением Apache Kafka? Мы собрали для вас статьи, которые помогут освоить инструмент, познакомят с рабочими кейсами с использованием ПО. Делимся пользой и свежими идеями, подборками книг и реализованными задумками.

Читать далее

Настройка BGP для обхода блокировок, версия 3.1. И немного Q&A

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

Близится кожаная свадьба Роскомнадзора с Телеграмом, именно 16 апреля 2018 года начался крестовый поход, ставший фактически символом уничтожения интернета в России, хотя в глобальной войне, начавшейся в 2012 году, он был всего лишь ярким эпизодом.

Ковровые блокировки в исполнении РКН стали причиной появления на свет множества различных сервисов, помогающих пользователям сети выживать под бомбежками. Одним из них стал antifilter.download, позволяющий получать списки находящихся под блокировками IP-адресов. Далее пользователи сервиса могли использовать полученную информацию по своему усмотрению. Одно из таких усмотрений было описано в статье Настройка BGP для обхода блокировок, версия 3, без VPS, которая стала достаточно популярной в сети и породила несколько сотен пользователей сервиса.

Однако "Tempora mutantur et nos mutamur in illis". За прошедшие три года сервис пережил Alpharacks-gate, похоронивший вместе с собой практически все донаты, упирание в технические ограничения как следствие роста количества пользователей, упирание в те же ограничения как следствие взрывного роста количества ip-адресов в списке РКН... Да что только не пережил. Каждое из этих изменений приводило к небольшому устареванию предыдущей статьи и когда неделю назад один из хабраюзеров предложил мне поправить ее под текущие реалии, я понял, что проще родить нового, чем отмыть этого написать новую версию, заодно и ответив на часто задаваемые вопросы. Результат - ниже.

Читать далее

Как я адаптировал популярную игру Wordle и за неделю привлёк 100 тысяч пользователей

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

За 6 часов сделал первую версию игры и ворвался в тренды Твиттера с одного твита. Привлек 100 000 пользователей за неделю, а также попал в ведущие СМИ страны. Как это было и что я для этого сделал можно узнать в статье.

Читать далее

Хранение кода в SCM

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

Смотри, ты устроился работать в большую компанию, где много команд, каждая разрабатывает свой продукт, часть из них создаёт микросервисы вокруг ядра, часть создаёт свои отдельные полноценные продукты. И, допустим, вся разработка до сих пор не использует централизованное хранение кода, работает без CI/CD и без наработок DevOps. Твоей первой задачей поставили организовать подход к хранению исходного кода в рамках всей компании. По секрету скажу, большие компании любят, когда используется единый подход, индивидуализм для бизнес-конвейеров всегда означает сложность управления сроками разработки, поставки и т.д. Задача, которая кажется простой на первый взгляд, всегда обрастает сложностями в нюансах.

Ты настроен на волну NotOps и в этой статье я постараюсь ответить на вопросы:

Читать далее

Рисуем диаграммы Mermaid.js в README-файлах GitHub

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

14 февраля 2022 года GitHub объявила о старте нативной поддержки диаграмм Mermaid.js в README-файлах GitHub. Нововведение помогло быстрее и эффективнее оформлять блок-схемы и графики для документации. До этого диаграммы вставлялись в виде изображений и если содержимое менялось, то надо было сначала нарисовать новое изображение, а потом вставлять его. Сейчас же можно просто исправить несколько строк в коде и система сгенерирует новый график.

Читать далее

Что нового в плане мониторинга в PostgreSQL (Алексей Лесовский)

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


Доклад Алексея Лесовского про то, что нового есть в PostgreSQL в плане мониторинга.


Охватывать Алексей будет 13 и 14 версии. Далее от его лица.

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

Скринкасты терминала. Запись действий в консоли Linux

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

Копипаст из чужой консоли

Скринкаст консольной сессии в маленьком анимированном gif — самый простой и быстрый способ продемонстрировать свои действия в консоли. Такую анимацию легко запостить в чате или опубликовать на веб-страничке, она весит совсем мало. Но это неоптимальный вариант.

Существуют специализированные инструменты именно для консольных скринкастов. Для этого они задействуют встроенный псевдотерминал Linux, то есть PTY. Самые продвинутые добавляют спецэффекты типа подсветки нажатий клавиш и, самое главное, позволяют выделить мышкой и скопировать текст прямо из «видео».
Читать дальше →

Полное руководство по Prometheus в 2019 году

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


DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.


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


Prometheus обладает очевидной ценностью и уже используется новаторами в отрасли, вроде DigitalOcean или Docker, как часть системы полного мониторинга.


Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?


Если вы совсем ничего не знаете о Prometheus или хотите лучше разобраться в нем, в его экосистеме и всех взаимодействиях, эта статья как раз для вас.

Мой новый домашний сервер, часть 1: выбор железа

Время на прочтение8 мин
Количество просмотров108K
Не то, чтобы это было кому-то интересно, но на такую тему тексты пишутся легко и непринуждённо, потому решил написать. Разбив на несколько частей — про выбор железа, выбор софта, сборку (хотя тут не уверен, это обычно самое скучное) и настройку софта (там уже повеселее).

Домашний сервер у меня дома уже много лет существует. По-моему, первый был на базе к6-2 собран ещё в начале нулевых. С того времени сменилось много разных вариантов, быстрых и медленных, больших и маленьких, виндовых и линуксовых. Последние десять лет сервером у меня работает HP Microserver, сперва был Gen7, а где-то с 2015 — Gen8, который был куплен с целероном и двумя гигабайтами ОЗУ, а затем «прокачан» до Xeon'a и 16GB (максимум).

На фото — момент переезда из gen7 в gen8.


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

Все врут-2: чем закончился детектив про медленные NVMe и невозможность делать RAID

Время на прочтение6 мин
Количество просмотров42K
Напомню: когда мы решили ввести тарифы на VDS на машинах с NVMe-дисками, то очень удивились тому, что они несильно лучше SSD. Второй неожиданностью была практическая невозможность собрать из таких дисков рейд-массив, то есть при вылете диска нужно будет не ребилдить массив прозрачно для пользователя, а выкатывать бекап.

Прозвучала мысль, что мы кривые ламеры и не умеем всё правильно готовить. Альтернативой была гипотеза «все врут».

Прошло полгода. Мы научились всё это готовить, но заодно поняли, что гипотеза «все врут» куда более вероятная.


Тут видно, что RAM подключена к CPU1, а NVME-диски — к CPU2. Это будет критически важно дальше по сюжету.

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

Проблема PGP

Время на прочтение11 мин
Количество просмотров54K
Криптоинженеры уже несколько десятилетий кричат о недостатках PGP. Когда это слышат обычные разработчики, то бывают крайне удивлены. Как, PGP никуда не годится? Зачем же тогда его советуют использовать? Ответ в том, PGP действительно никуда не годится, и никому никогда не следует его рекомендовать. Он должен исчезнуть.

Как вы скоро увидите, у PGP много проблем. Если не вдаваться в подробности, основная причина в том, что программа разработана в 90-е годы, до появления серьёзной современной криптографии. Ни один компетентный криптоинженер сегодня не станет разрабатывать систему в таком виде и не потерпит большинства её дефектов ни в какой другой системе. Серьёзные криптографы в основном отказались от PGP и больше не тратят на неё времени (за некоторыми заметными исключениями). Поэтому хорошо известные проблемы в PGP остаются нерешёнными более десяти лет.
Читать дальше →

Единая точка выхода в web, I2P, TOR и обход блокировок

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

Коварный план


Преамбула… Даная статья была написана ещё летом но, по независящим от автора причинам, немножко подзадержалась...


Однажды, жарким летним вечером, после очередной введённой в консоли браузера команды вида :set content.proxy socks://localhost:9050, автор сего опуса понял, что дальше так жить нельзя и пора приводить выход во всякие скрытосети, а заодно и обход блокировок имени известной организации к какому-то единому, для любого софта вообще и браузера в частности, «общему знаменателю». А как приводить? Разумеется так, чтобы прокси сервер сам «понимал», через какой вышестоящий прокси отправлять и принимать трафик в зависимости от введённого адреса. Вторая цель, вытекающая из первой, вышестоящие прокси могут работать либо как http, либо как socks и оба протокола должны поддерживаться входным прокси. Ну и сам софт должен быть более менее актуальным, что б в случае ошибок или «хотения фич», не приходилось грустно смотреть на одинокую репу на гитхабе, а то и вообще на каком-нибудь сорсфорже.
Итак цели поставлены!

Пора переходить к реализации!

Популярные расширения для PostgreSQL: как установить и для чего использовать

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

Облачные базы данных Selectel поддерживают 40 расширений для PostgreSQL. Некоторые добавляют небольшие радости оптимизации баз данных, другие — заменяют отдельные модули разработки на стороне приложения. На данный момент расширениями пользуются 26% пользователей DBaaS. Мы узнали, какие экстеншены наиболее популярны у клиентов и где они их применяют.

Если вы опытный DBA, вы точно нужны в комментариях — расскажите, какие расширения используете и как они решают ваши задачи.
Читать дальше →

Новые ограничения в использовании Docker Hub и как GitLab реагировал на их ввод

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

Ни для кого уже не новость, что начиная с 2 ноября 2020 года Docker Hub ввел ограничения на скачивание образов: для анонимных пользователей он будет равен одной сотне за шесть часов, а для авторизованных пользователей будет зависеть от уровня подписки.

В компании GitLab мы очень внимательно следили за этими изменениями, так как они затрагивали практически наших пользователей и клиентов. Сегодня я хотел бы рассказать о том, какие изменения мы внесли и как адаптировались к новым правилам.

Читать далее

Информация

В рейтинге
2 480-й
Откуда
Ришон-ЛеЦион, Хамеркац, Израиль
Дата рождения
Зарегистрирован
Активность

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

Администратор серверов, DevOps-инженер
Ведущий