/images/avatar.png

Ceph RBD + OCFS2 - распределенное хранилище на блочных устройствах

Что делать, если нужно, чтобы доступ к системе хранения данных был не просто быстрым, а желательно равным скорости обращения к локальному SSD-диску? Единственным реально быстрым методом будет доставка блочного устройства напрямую клиенту. Со стародавних времен серверные СХД предоставляют такой доступ по средствам протокола iSCSI, и эта статья могла бы быть про это, но в наше время появилось дополнительно требование к подобным системам - это масштабируемость и отказоустойчивость (или “Высокая доступность”). Тут на сцену выходят програмно определяемые хранилища, такие как Ceph, GlusterFS, cStor, MayaStor и другие. Но наибольшей популярностью пользуется именно Ceph, т.к., несмотря на достаточно сложный порог входа, он имеет ряд архитектурных ноу-хау, которые кажутся весьма перспективными. И, при правильной организации кластера, может быть быстрым, гибким и готовым к работе в “боевых” условиях, как говорят - “Production ready”. Он конечно не самый быстрый, но в совокупности требований к современной СХД, он подходит больше всего.

Gitea + Harbor + Jenkins как замена GitLab

С чего всё началось. С того, что уже установленный в моей локальной сети экземпляр сервиса GitLab CE вполне успешно работал, но был расположен на обычном HDD, т.е. не SSD и не NVMe. И вполне, какзалось бы, успешно работал, но при длительном аптайме он сжирал все ресурсы оперативной памяти, которой я ему выделил - 16 Гб (что видимо мало), начинал активно использовать swap, и когда планировщик начинал заниматься очисткой/оптимизацией структуры репозиториев, мог начинать тормозить с невероятной силой, из-за того, что исчерпывал ресурc IOPS диска. Конечно, перезагрузка хоста всё решала, но сама ситуация была несколько неприятной. К тому же, для каких-то небольших проектов и небольшой инфраструктуры такой комбайн как GitLab, мне кажется, не очень-то и нужен. Плюс ко всему, у меня еще были вопросы к формату описания сценариев CI/CD пайплайнов, которые, как мне кажется, в Jenkins можно делать значительно гибче чем в GitLab. Словом, GitLab безусловно крут и незаменим в наши дни, если вы работаете в больщой команде где много подгрупп и разых проектов, но для каких-то более простых задач можно обойтись инструментами установку и настройку которых я буду описывать ниже.

Wireguard сервер на OpenBSD с UI

WireGuard - полезный инструмент для создания шифрованных туннелей между подсетями или для организации доступа в локальную сеть. Конечно, можно делать все по памяти, либо сделать пару-тройку простеньких скриптов для выполнения каких-то повторяющихся действий по внесению изменений в настройки сервиса, но так же можно использовать UI веб-интерфейсы. На мой взгляд, это, в некоторых случаях, может давать ряд приимуществ. В данном случае, основным приимуществом для меня является то, что, при использовании wireguard-ui, можно быстро добавить нового пользователя, даже если ты уже давно этого не делал. Всё что нужно помнить - это логин и пароль от веб-интерфейса, а все остальное делается интуитивно.

USB over IP (Ubuntu)

Что делать если к удаленной или виртуальной машине необходимо подключить какое-то USB устройство, например, USB-ключ или веб-камеру? Тут на помощь приходит технология “USB over IP”, которя в системах Linux доступна почти из коробки. Алгоритм настройки достаточно примитивен и содержит в себе всего несколько шагов, которые будут перечислены ниже.

Настройка хоста OpenNebula с PCI Passtrough GPU на Ubuntu 22.04 LTS Server

Для того чтобы вкоючить поддержку PCI Passtrough есть специальная страничка от разработчиков OpenNebula, но там почему-то этот вопрос рассматривается несколько поверхностно. В данной статье будет реально рабочий вариант настройки KVM-хоста с комментариями и пояснениями.

[заметка] Кастомизация конфигурации клиента OpenVPN в Linux

Обычно, для упрощения взаимодействия, на клиентских машинах с Linux устанавливаются пакет network-manager-openvpn-gnome, в котором легко импортировать конфигурацию подключения к OpenVPN-серверу предоставляемую в виде единого файла. В последствии, там можно через GUI настроить все параметры маршрутизации и т.д., если нужно. Но тут по некоторым причинам в одной системе данная функциональность оказалась не доступной из-за того что служба NetworkManager не могла управлять интерфейсом, который являлся основным для данной системы и по ряду причин нельзя было сделать чтобы таки он мог этим интерфейсом управлять.

Загрузка Linux по сети с iSCSI диска

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

Установка MinIO для файловой помойки (без репликации)

Для организации данного сервиса был выбран облачный дистрибутив Arch Linux, который в последующем был использован в Proxmox VE по средствам клонирования шаблона созданного следующим скриптом:

Настройка кластера Kubernetes на виртульных машинах в среде Proxmox VE 7.2

План установки: Разворачивание мастер-ноды Kubernetes Создание шаблона CloudInit с Ubuntu 20.04 Создание шаблона для Kubernetes нод Создание и настройка Master-ноды Создание и подключение Worker-нод к Master-ноде Настройка кластера Установка MetalLB Установка ingress-контролера Nginx Установить менеджера сертификатов cert-manager Установка Rancher Установка Longhorn 1 Разворачивание мастер-ноды Kubernetes Собственно мастер-нода мало чем отличается от воркеров в процессе установки, по этому после начальной установки всех необходимых пакетов ее можно будет использовать как шаблон для воркер-нод.

Zabbix Server на OmniOS v11 r151040g [SunOS omnios 5.11 omnios-r151040-d75907718a i86pc i386 i86pc]

Задумался я на досуге о том что мне нужно средство для мониторинга моего сервера. Начал прикидывать различные варианты, и пришел к выводу, что Zabbix - это то что мне нужно. Самым простым решением было бы развернуть его в каком-нибудь контейнере на базу Ubuntu, и возможно я бы так и сделал, если бы в этот же период времени я не решил посмотреть на Oracle Solaris 11.4. В результате она мне очень понравилась своей стройностью с точки зрения организации внутреннего окружения и я подумал - “а не развернуть ли сервер Zabbix на ней?

Деплой сайта Wordpress в кластере Kubernetes

Данная статья подразумевает, что в нашем кластере Kubernetes уже установлены сервисы обеспечивающие основную инфраструктуру: HAProxy-Ingress, OpenEBS и cert-manager. А так же для класса clusterissuers.cert-manager.io уже создан эмитент “letsencrypt”, для получения доверенного сертификата нашего сайта.