ServerAdmin.ru
28.9K subscribers
303 photos
35 videos
13 files
2.63K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Прочитал интересную серию статей Building A 'Mini' 100TB NAS, где человек в трёх частях рассказывает, как он себе домой NAS собирал и обновлял. Железо там хорошее для дома. Было интересно почитать.

Меня в третьей части привлёк один проект для создания хранилища с дублированием информации - SnapRAID. Я раньше не слышал про него. Это такая необычная штука не то бэкапилка, не то рейд массив. Наполовину и то, и другое. Расскажу, как она работает.

Образно SnapRAID можно сравнить с RAID 5 или RAID 6, но с ручной синхронизацией. И реализован он программно поверх уже существующей файловой системы.

Допустим, у вас сервер с четырьмя дисками. Вы хотите быть готовым к тому, что выход из строя одного из дисков не приведёт к потере данных. Тогда вы настраиваете SnapRAID следующим образом:

/mnt/diskp <- диск для контроля чётности
/mnt/disk1 <- первый диск с данными
/mnt/disk2 <- второй диск с данными
/mnt/disk3 <- третий диск с данными

Принцип получается как в обычном RAID5. Вы создаёте настройки для SnapRAID в /etc/snapraid.conf:

parity /mnt/diskp/snapraid.parity
content /var/snapraid/snapraid.content
content /mnt/disk1/snapraid.content
content /mnt/disk2/snapraid.content
data d1 /mnt/disk1/
data d2 /mnt/disk2/
data d3 /mnt/disk3/

И после этого запускаете синхронизацию:

# snapraid sync

Данные на дисках могут уже присутствовать. Это не принципиально. SnapRAID запустит процесс пересчёта чётности файлов, как в обычном RAID 5. Только проходит это не в режиме онлайн, а после запуска команды.

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

Звучит это немного странно и я до конца не могу осознать, как это работает, потому что толком не понимаю, как контроль чётности помогает восстанавливать файлы. Но в общем это работает. Получается классический RAID 5 с ручной синхронизацией.

Надеюсь основной принцип работы я передал. Насколько я понял, подобная штука может быть очень удобной для дома. К примеру, для хранения медиа контента, к которому доступ в основном в режиме чтения. Не нужны никакие рейд контроллеры и массивы. Берём любые диски, объединяем их в SnapRAID, синхронизируем данные раз в сутки по ночам и спокойно спим. Если выйдет из строя один диск, вы ничего не теряете. Имеете честный RAID 5 с ручной синхронизацией, что для дома приемлемо. Да и не только для дома. Можно ещё где-то придумать применение.

Одной из возможностей SnapRAID является создание некоего пула, который будет объединять символьными ссылками в режиме чтения данные со всех дисков в одну точку монтирования, которую можно расшарить в сеть. То есть берёте NAS из четырёх дисков. Один диск отдаёте на контроль чётности. Три Остальных заполняете, как вам вздумается. Потом создаёте пул, шарите его по сети, подключаете к телевизору. Он видит контент со всех трёх дисков.

Выглядит эта тема на самом деле неплохо. У меня дома как раз NAS на 4 диска и у меня там 2 зеркала RAID 1 на базе mdadm. В основном хранится контент для медиацентра, фотки и немного других файлов. Вариант со SnapRAID смотрится в этом случае более привлекательным, чем два рейд массива.

Я прочитал весь Getting Started. Настраивается и управляется эта штука очень просто. Небольшой конфиг и набор простых команд. Понятен процесс восстановления файлов, добавления новых дисков. Даже если что-то пойдёт не так, то больше данных, чем было на сломавшемся диске, вы не потеряете. Не выйдет так, что массив развалился и вы остались без данных, так как они лежат в исходном виде на файловой системе.

SnapRAID есть в составе openmediavault. Он там очень давно присутствует в виде плагина. Программа представляет из себя один исполняемый файл и конфигурацию к нему. Есть как под Linux, так и Windows.

Сайт / Исходники

#fileserver #backup
Я давно знаю и работаю с программой для бэкапа виртуальных сред Veeam Backup & Replication. Как всем известно, этот бренд ушёл из России, заблокировал доступ к своим ресурсам, не осуществляет продажи и не оказывает тех. поддержку. Полноценных аналогов с такой же функциональностью не так много. Я даже затрудняюсь назвать их, хотя наверняка есть, но мне не знакомы. То есть не работал с ними. Отечественные решения, насколько я знаю, по возможностям пока не дотягивают до Veeam.

Есть китайский аналог Vinchin Backup & Recovery. Я года два назад про него узнал, когда начались всевозможные санкции. Были пару обзоров от наших интеграторов КРОК и ГК ЛАНИТ. Причём отзывы вполне нормальные. В то же время на меня выходили сами разработчики и хотели какой-то кооперации: статьи, заметок в telegram, анонсов вебинаров и т.д. Был необычный опыт, так как общаться приходилось явно с не русскоязычным человеком, но мы понимали друг друга. Но всё как-то не срасталось по срокам и форматам.

Чтобы как-то предметно общаться, я решил всё же своими глазами посмотреть и попробовать этот продукт. К тому же на сайте есть русскоязычная версия с описанием, а список возможностей выглядит очень привлекательно. Можно объединить в единой системе бэкап вообще всей информации. Плюс поддержка отечественных ОС и систем виртуализации.

Есть полностью бесплатная версия для бэкапа трёх виртуальных машин. Не густо, конечно, но хоть что-то.

📌 Vinchin Backup & Recovery умеет бэкапить:

Виртуальные машины на различных гипервизорах и системах виртуализации. Список там очень внушительный, перечислю наиболее популярные и актуальные: zVirt, ROSA Virtualization, RED Virtualization, Hyper-V, Proxmox, VMware, Citrix, XCP-ng, oVirt, OpenStack
Базы данных популярных СУБД: MS SQL, MySQL, Oracle, PostgreSQL, MariaDB
Файлы в операционных системах Windows и Linux с помощью установленных агентов. Есть поддержка Astra Linux и RED OS.
Целиком операционные системы Windows и Linux, либо отдельные диски в них.
Сетевые диски, подключаемые по протоколам CIFS и NFS.
Microsoft Exchange как локальной установки, так и облачной.
Виртуальные машины облачного провайдера AWS EC2

Получается, он покрывает все варианты информации. Тут и виртуальные машины, и сервера через агентов, и сетевые диски, и СУБД.

Я развернул у себя эту систему. Ставится автоматически из готового ISO образа. Всё управление через веб интерфейс. Попробовал забэкапить и восстановить виртуальные машины на Hyper-V и Proxmox, а также сетевой диск.

Всё получилось практически сходу. Система простая, функциональная и удобная. Мне прям она вообще понравилась. Оформил всё в простой обзор с картинками, чтобы наглядно показать, как всё это выглядит на практике:

⇨ Обзор Vinchin Backup & Recovery

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

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

#backup
​​Для тех, кто пользуется Proxmox Backup Server (PBS) важное предостережение. Я им пользуюсь практически с момента релиза, но только недавно столкнулся с проблемой. Не допускайте исчерпания свободного места на сервере с бэкапами.

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

А тут проспал. Точнее, неправильно отреагировал на сложившуюся ситуацию. Были видно, что место заканчивается. Я зашёл, удалил некоторые бэкапы в ожидании увеличения свободного объёма для хранения. Была сделана копия большой виртуалки, которая тоже поехала в архив. Рассчитывал, что благодаря дедупликации, реального места будет занято не так много. Но ошибся.

То ли место не успело освободиться, то ли дедупликация в реальности сработала не так, как я ожидал, но в итоге было занято 100% доступного объёма хранилища и все процессы в нём встали. Он даже сам себя очистить не мог. Процесс Garbage Collect не запускался из-за недостатка свободного места. Я решил вопрос просто - очистил логи systemd:

# journalctl --vacuum-size=256M

Они занимали несколько гигабайт, так что мне хватило для того, чтобы отработал процесс Garbage Collect. Но он не удаляет данные, а только помечает их к удалению. Реально данные будут удалены через 24 часа и 5 минут после того, как сборщик мусора пометит их на удаление. И никакого способа вручную запустить реальную очистку хранилища нет. По крайней мере я не нашёл.

Очень внимательно прочитал несколько тем на официальном форуме по этой проблеме и везде совет один - освобождайте место или расширяйте хранилище, если у вас zfs, запускайте сборщик мусора и ждите сутки. Других вариантов нет, кроме полного удаления Datastore со всеми бэкапами. Тогда место освободится сразу.

Это особенность реализации дедупликации в PBS. Помеченные на удаления chunks реально удаляются через 24 часа. Форсировать этот процесс не получится.

#proxmox #backup
​​Судя по проведённым ранее опросам, большинство читателей канала администрируют системы под управлением Linux. Тем не менее, я заметил, что заметки о Windows всегда вызывают живой интерес и отклик. Люди либо тоскуют по винде, либо привирают о том, что её не администрируют 😁.

Сегодня будет заметка о неплохой бесплатной программе для бэкапа систем под управлением Windows, причём как обычных, так и серверных. Речь пойдёт про Hasleo Backup Suite Free. Я её установил и попробовал. Честно говоря, даже не понял, в чём тут подвох. Программа полностью бесплатна и при этом обладает очень неплохими возможностями. Кратко перечислю основные:

▪️ Бэкап на уровне всей системы, диска, раздела или набора файлов и директорий.
▪️ Клонирование системы, диска, разделов.
▪️ Тип бэкапов: полный, инкрементный, дифференцированный.
▪️ Поддержка расписания, политики хранения, очистки бэкапов.
▪️ Универсальное восстановление системы на другое железо.
▪️ Шифрование, проверка бэкапов.
▪️ Создание загрузочного образа на базе WinPE.
▪️ Логирование своей работы.

В этой системе есть всё, что ожидаешь от подобного продукта. Есть даже нормальный перевод на русский язык. Я на него посмотрел, явных ляпов не заметил, кроме разве что обозначения образа диска изображением. То есть монтировать не образ диска, а изображение диска. Она даже директории с бэкапами создаёт на русском языке: "Бэкап системы 20240903135711". В данном случае это скорее минус, чем плюс. Тут и русский язык, и пробелы. Лучше без этого обойтись и пользоваться английской версией.

Я проверил эту программу следующим образом:

1️⃣ Установил на систему и сделал полный бэкап на сетевую папку.
2️⃣ Через интерфейс программы создал загрузочный диск.
3️⃣ Создал чистую виртуалку, загрузился с загрузочного диска.
4️⃣ В загрузившейся системе назначил IP адрес, подключил сетевой диск.
5️⃣ Восстановил из сетевого диска образ системы.

На удивление всё прошло гладко, быстро и просто. Загрузочный диск удобнее, быстрее грузится, нежели то же самое от Veeam Agent For Windows, которым я регулярно пользуюсь.

В общем и целом программа понравилась. Из бесплатных точно одна из лучших. В целом, я даже не придумал, что в ней не хватает. Есть всё, что нужно, без каких-то излишеств. Рекомендую 👍

Сайт

#backup #windows
​​До меня докатилась новость о недавнем обновлении основного продукта Veeam - Veeam Backup & Replication. У них коммерческий продукт сейчас называется Veeam Data Platform, а бесплатная community версия так и осталась Veeam Backup & Replication Community Edition. Я перестал следить за их новостями с тех пор, как перешёл почти полностью на Proxmox и его продукт для бэкапа Proxmox Backup Server. Он закрывает базовые потребности малых и средних компаний. А Veeam Proxmox не поддерживал, поэтому и интереса не было.

Veeam решил повернуться в сторону KVM и в последнем релизе объявил поддержку систем виртуализации Nutanix и Proxmox VE. Из нового, там ещё отдельно поддержка MongoDB заявлена. На сегодняшний день это лидер рынка систем архивации данных, который поддерживает всё, что только можно: и облака, и гипервизоры, и СУБД, и отдельные системы. Он покрывает все популярные системы виртуализации: VMware, Microsoft Hyper‑V, Proxmox, Nutanix.

Решил посмотреть на бесплатную версию. У неё заявлены следующие ограничения:

This free gift from Veeam can protect up to 10 workloads: VMware, Hyper-V, Windows & Linux servers, laptops, NAS and more!

Насколько я понял, имеется ввиду 10 любых объектов для бэкапа. В принципе, средненькие ограничения, которые могут быть вполне функциональны для каких-то небольших или личных инфраструктур.

Для загрузки установщика нужна регистрация. Кому не хочется её проходить, вот прямая ссылка, можно ⇨ скачать. Доступ с адресов РФ закрыт, качать через VPN. Объём установщика солидный - 12 ГБ. Устанавливать нужно на систему Windows, в качестве СУБД будет установлена PostgreSQL. В 12-й версии есть возможность отказаться от MS SQL. В 13-й версии вангую отказ от Windows и переход на веб панель управления, как в Vinchin.

Интерфейс обновлённой 12-й версии привычен. Он вообще мало меняется от релиза к релизу. Как и логика работы. Сразу попробовал бэкап Proxmox VE. Для добавления сервера в консоль управления достаточно указать IP адрес и рутовый доступ по SSH. Далее было предложено создать служебную виртуалку на гипервизоре, которую Veeam будет поднимать через Cloud-Init во время бэкапа.

Дальше всё как обычно. Выполняется бэкап, восстановление возможно как на уровне всей системы, так и файлов на ней. В комментариях видел, кто-то писал, что восстановление на уровне файлов не работает. Я проверил, такая возможность есть, но реализована она следующим образом. Нужен какой-то промежуточный Linux хост, куда бэкап будет примонтирован для доступа к файлам. Туда ставится служба veeamagent и монтируется бэкап через fuse.

Я добавил для теста гипервизор Proxmox и Hyper-V. Забэкапил по паре виртуальных машин оттуда, ушло 4 лицензии.

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

С учётом нарастающего объёма блокировок и санкций, использовать Veeam не очень хочется, но лучше ничего нет. Так что решайте сами для себя, нужен он вам или нет. По возможностям даже бесплатной версии всё выглядит очень привлекательно. Позволяет объединить всю инфраструктуру в одном продукте. К примеру, несколько виртуалок и сетевой диск. Ну и на торрентах традиционно полные версии есть.

#backup
Rsync - мощная консольная утилита и служба для быстрого копирования файлов. Отличает её в первую очередь скорость сравнения директорий с огромным количеством файлов. К примеру, если вам нужно будет сравнить и привести к единому содержимому два разнесённых по сети хранилища с миллионом файлов внутри, то rsync для этого подойдёт лучше, чем что-либо другое.

Расскажу про одну функциональность rsync, про которую, возможно, не все знают. Речь пойдёт про ключ --remove-sent-files. С этим ключом есть некоторая неоднозначность. В каких-то манах он представлен в таком виде, а где-то в виде --remove-source-files. Судя по описанию, это одно и то же. Я в своих скриптах использую --remove-sent-files.

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

Очень удобно. Не нужно на источниках настраивать автоочистку, с которой могут быть нюансы. Например, если бэкап по каким-то причинам не выполнялся, на источниках накапливаются файлы. А когда заработает снова, будут удаляться по мере копирования.

Выглядит итоговая команда для бэкапа примерно так:

/usr/bin/rsync --remove-sent-files --progress -av -e "ssh -p 31003 -i /home/user/.ssh/id_rsa" user@10.20.20.55:/home/bitrix/mysqlbackup/ /mnt/backup/site01/mysql-dump/


Для тех, кто не привык колхозить автоматизацию бэкапов с помощью самодельных скриптов, есть готовые системы на базе Rsync. Я постарался рассмотреть практически все более ли менее известные. Вот они:

▪️ Butterfly Backup - консольная утилита Linux.
▪️ Rsnapshot - консольная утилита Linux.
▪️ ElkarBackup - сервис для бэкапов, написанный на PHP, настройка через браузер.
▪️ BackupPC - сервис для бэкапов, написанный на PERL, настройка через браузер.
▪️ Burp - сервис под Linux, более простой аналог Bacula.
▪️ cwRsyncServer Программа под Windows.
▪️ DeltaCopy Программа под Windows.

Забирайте в закладки. Для сырых данных rsync предоставляет наилучшую производительность и утилизацию канала. Особенно это заметно на большом количестве мелких файлов, или там, где большой файл изменяется незначительно. Алгоритм работы rsync позволяет не выкачивать весь файл заново, а только изменения.

#rsync #backup