Настройка отказоустойчивого кластера MySQL с синхронной мульти-master репликацией с помощью Galera в Ubuntu, Debian и CentOS Linux

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

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

С появлением Galera все стало намного проще. Для надежной работы вам необходимо эксплуатировать нечетное количество серверов, например 3 или 5 для защиты от партиционирования, так, чтобы при ситуации, когда кластер «рассыпался» Galera могла принять обоснованное решение о том, является ли наблюдаемый сегмент кластера целостным.

Читать далее

Улучшение безопасности: новый генератор случайных чисел для VM Cloud2

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

Показатель энтропии очень важен для быстрой работы многих криптографических функций, что может выражатся в медленной генерации ключей или задержке при установлении SSL/TLS соединений. Если энтропия низкая, эти операции могут работать медленно или блокироваться для ожидания накопления нужного количества энтропии.

Узнать текущий показатель энтропии для машины можно с помощью команды:

cat /proc/sys/kernel/random/entropy_avail
120

Если он низкий (меньше 250), то это может стать проблемой. Теперь вы можете решить эту проблему с помощью приведенных далее инструкций.

Linux

Установите пакет rng-tools для вашей системы:

# Ubuntu/Debian
sudo apt-get update && sudo 
apt-get install -y rng-tools

# CentOS 7
yum install -y rng-tools
systemctl start rngd
systemctl enable rngd

Зайдите в панель управления VM, выключите VM и включите ее снова. Убедитесь, что показатель энтропии вырос по сравнению с предыдущим замером:

cat /proc/sys/kernel/random/entropy_avail
3124

MS Windows

  • Зайдите в панель управления VM. Выключите VM и включите ее снова.
  • Установите драйверы VirtIO с ISO, который находится в списке доступных.
  • При необходимости перезагрузите операционную систему VM.

Настройка аутентификации на основе SSH-ключей

Для удаленного управления системами Linux необходимо настроить доступ по SSH (secure shell). SSH – это криптографический протокол для управления и взаимодействия с серверами. Существует несколько различных способов подключения к SSH-серверу. В этой статье мы рассмотрим настройку аутентификации на основе ключей SSH.

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

Читать далее

Настройка синхронизации файлов между серверами с помощью SyncThing

SyncThing — программное обеспечение, которое позволяет выполнять синхронизацию файлов между серверами по P2P протоколу. Очень важно, что в своей работе SyncThing опирается на подсистему inotify, которая позволяет мгновенно реагировать на операции над файлами и каталогами, чтобы обеспечить минимальную задержку синхронизации, что особенно важно при наличии большого количества файлов в каталоге.

Читать далее

Настраиваем распределенную файловую систему GlusterFS на трехузловом кластере под управлением Linux

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

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

Читать далее

Шаблоны NetPoint для виртуальных машин Cloud2

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

Читать далее

Выгрузка, загрузка и распространение образов контейнеров Docker в виде архива

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

Бывают случаи, когда серверы, на которых планируется выполнять контейнеры, созданные из образов, полностью изолированы от сегмента сети и не могут скачать себе образ из реестра. В этом случае у разработчиков возникает необходимость каким-то образом сформировать образ контейнера на сервере. Команда docker build тоже часто не подходит, поскольку большинство образов при сборке скачивает зависимости и необходимые слои из сети. Если хост не имеет подключения к сети, то и скачать ничего не сможет.

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

Читать далее

Сборка, настройка и запуск Spark Job Server для PySpark с использованием Docker

В этой статье мы рассмотрим, как собрать и использовать Spark Job Server в виде приложения для Docker. Spark Job Server — полезное дополнение Spark, которое позволяет загружать и выполнять задания Spark через Rest API.

Spark Job Server входит в состав популярных дистрибутивов для больших данных, таких как Cloudera CDH5 или Hortonworks, однако, установка полноценного кластера избыточна для целей обучения, разработки или малых вычислительных задач.

В данном руководстве вы узнаете как развернуть готовую среду для разработки, тестирования и продуктового использования Apache Spark без внешних зависимостей с использованием Spark Job Server.

Читать далее

Сравнение MariaDB и MySQL. Все, что вам нужно знать в 2019 году

MySQL является одной из наиболее широко используемых в мире СУБД. Это программное обеспечение бесплатно и распространяется с открытым исходным кодом. MySQL, разработанный на C/C ++, является одним из самых популярных вариантов баз данных.

СУБД была разработана шведской компанией «MySQL AB» в 1995 году. Позже MySQL AB была приобретена Sun Microsystems в 2008 году. Позже Sun Microsystems была приобретена Oracle в 2010 году. С тех пор MySQL поддерживается и управляется Oracle.

Читать далее

Livepatch: обновление ядра Linux без перезагрузки

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

Livepatch является механизмом ядра Linux, который позволяет обновлять ядро без перезагрузки. Из данной статьи вы узнаете, как работает Livepatch, и подходит ли он для вашей системы.

Читать далее