Прокси-сервер MariaDB MaxScale

Создав кластер на базе MariaDB Galera задаёшься вопросом: что делать с тремя IP-адресами?

Принято решение поставить специализированный прокси-сервер для этих целей. Подходящие кандидаты:

  1. Oracle MySQL Proxy — проект почти не развивается;
  2. Severalnines ClusterControl — интересный продукт с красивой графической оболочкой, но работающий на уровне IP-трафика, что снижает число доступных плюшек;
  3. Galera Load Balancer — проект похоже заброшен;
  4. ProxySQL — нашёл только недавно (намного позже написания данной статьи), по описанию крут, но руки до него не дошли;
  5. MariaDB MaxScale — от создателей MariaDB.

Для начала решил поиграться с последним продуктом. Читать далее «Прокси-сервер MariaDB MaxScale»

Кластер MariaDB Galera 10.0

Появилась задача создать надёжный сервис БД типа MySQL. Я предпочитаю MariaDB, которая с версии 10 поддерживает работу master-master, но данная схема работает только для двух серверов и плохо относится к ситуации split-brain.

Выбор пал на MariaDB Galera, которая позволяет использовать multi-master, а в ситуации split-brain работает механизм minority opinion.

Так как это не для домашних целей, платформой будет CentOS 7. Читать далее «Кластер MariaDB Galera 10.0»

Gentoo Linux и Volume normalization в pulseaudio

Просматривая кино вечером поймал себя на том, что часто вручную приходится регулировать звук. Отвлекает от просмотра фильма. Поставил себе цель автоматизировать этот процесс. Некоторые проигрыватели это могут из коробки (например, VLC); для mp3 есть метка replay gain, с которой могут работать соответствующие проигрыватели (при первой встрече с файлом проигрыватель добавляет тег о том, как необходимо изменить громкость для данной композиции при последующем воспроизведении, на это способен foobar2000). Но так как я смотрю видео и музыку в основном через XBMC (ныне Kodi), при этом бывает смотрю видео через браузер, необходимо было найти универсальное решение для всей системы в целом. Так родилась идея пошаманить с pulseaudioЧитать далее «Gentoo Linux и Volume normalization в pulseaudio»

GitLab + SSH только по ключам

Я уже писал про применение ключей для подключении по SSH. Но если ограничить подключение по SSH таким методом, станет невозможно подключиться к GitLab. В связи с этим я немного пересмотрел настройки, а так же добавил новых параметров. Читать далее «GitLab + SSH только по ключам»

GitLab и авто-деплой

Иногда возникает необходимость, чтобы изменения после добавления их на GitLab автоматически обновлялись на удалённом сервере. В моём случае необходимо, чтобы код создаваемого мной сайта автоматически при внесении обновлений в GitLab в ветку dev автоматически разворачивались на веб-сервере для тестирования результатов. Далее идёт небольшая инструкция как сделать это в GitLab, установленном по предыдущей статье. Читать далее «GitLab и авто-деплой»

GitLab для Gentoo

Для совместной работы с кодом (а так же для возможности резервного копирования и отката изменений) придумали множество разных систем контроля версий (VCS): svn, git bazzar…

В данный момент наиболее актуальной является GIT. Для работы с ним доступно множество бесплатных площадок (GitHub, Bitbucket…). Но на всех из них есть те или иные ограничения для бесплатного использования.

Далее идёт описание установки GitLab (аналог GitHub для установки на собственных серверах) на Gentoo (именно он у меня на домашнем сервере) с systemd.

UPD: GitLab нынче ставится в /opt/gitlab да и поддержку systemd я там помогаю держать в актуальном состоянии, поэтому инструкция обновлена.
Читать далее «GitLab для Gentoo»

Синхронизация по FTP

Иногда возникает необходимость сделать копию удалённого ресурса через FTP. Для Linux имеется замечательный инструмент — lftp. Пример скрипта:

#!/bin/bash
HOST='ftp-server.com'
USER='root'
PASS='Qwerty123'
TARGETFOLDER='/mnt/backup'
SOURCEFOLDER='/'

lftp -f "
open $HOST
user $USER $PASS
lcd $SOURCEFOLDER
mirror --use-cache --verbose $SOURCEFOLDER $TARGETFOLDER -e -x ^\..+/$ -x ^trash/
bye
"

Читать далее «Синхронизация по FTP»