Отличная идея — объединить домашний сервер с надежным хранилищем данных и мощной виртуальной машиной. Для этого обычно используется сочетание Proxmox VE как платформы виртуализации и OpenMediaVault как системы сетевого диска (NAS). Это позволяет хранить резервные копии файлов, видео и фотографий и одновременно работать с несколькими операционными системами на одном физическом компьютере.
Однако вопрос о защите данных возникает, когда у нас есть жёсткие диски разных объемов, которые накопились за годы. В этих случаях традиционный RAID неэффективен, поскольку он обычно требует дисков одинакового размера и неэффективно использует пространство на дисках. Snapraid помогает.
Несмотря на то, что он обеспечивает защиту от потери данных, Snapraid работает по принципу «снимков», а не в режиме реального времени. Он идеально подходит для домашнего медиахранилища, где данные добавляются редко. Ее основное преимущество заключается в том, что она позволяет использовать диски совершенно разных размеров, что экономит деньги и позволяет регенерировать старые винчестеры.
В этой статье мы рассмотрим различные способы настройки этой связки, включая установку OpenMediaVault как виртуальной машины в Proxmox, правильное подключение дисков к ней и настройка Snapraid для создания отказоустойчивого хранилища. Все это будет полезно для создания гибкой и экономичной системы, которая объединит вычислительную мощность и безопасное хранение данных в одном корпусе.
Введение:
Софт Snapraid позволяет собрать себя из разных размеров жестких дисков. Кроме того, данные всегда можно восстановить, если они не были удалены специально. Размер диска четности должен соответствовать размеру самого большого диска в рейде.
Вот комментарий, опубликованный на веб-сайте SnapRaid:
- Вы можете использовать диски, уже заполненные файлами, без необходимости их переформатирования, получая к ним доступ как обычно.
- Все ваши данные хешируются для обеспечения целостности данных и предотвращения скрытого повреждения.
- Когда количество неисправных дисков превышает количество четности, потеря данных ограничивается затронутыми дисками; данные на других дисках остаются доступными.
- Если вы случайно удалили файлы на диске, их можно восстановить.
- Диски могут иметь разные размеры.
- Вы можете добавлять диски в любое время.
- SnapRAID не блокирует ваши данные; вы можете прекратить его использование в любое время без переформатирования или перемещения данных.
- Для доступа к файлу достаточно вращения только одного диска, что экономит электроэнергию и снижает уровень шума.
Наверняка у вас есть старые жесткие диски, и все они разных размеров, поэтому этот рейд идеально подходит для дома. Теперь мы можем использовать эти диски в сервере и в отказоустойчивом рейде.
Разобравшись с рейдом для дома, какой тип сервера умного дома лучше всего использовать? Конечно, Proxmox.
Проксмоx может устанавливать множество виртуалок, таких как Home Assistant, xpnology, pfsense и другие. Кроме того, поскольку у нас будет еще один рейд, мы можем не беспокоиться о безопасности виртуальных устройств.
Графический интерфейс Snapraid наиболее просто настроить, и сервис OpenMediaVault предлагает эту функцию.
Официальный сайт предоставляет следующее определение:
Openmediavault — это сетевое хрaнилище (NAS) следующего поколения, работающее на платформе Debian Linux. Он включает в себя готовые к использованию функции, такие как RSync, SSH, (S)FTP, SMB/CIFS и другие. Фреймворк можно расширить с помощью плагинов благодаря модульной конструкции. Хотя openmediavault идеально подходит для использования в небольших офисах или дома, его можно использовать и в других местах. Это простое и удобное в использовании решение позволяет устанавливать и управлять сетевым хранилищем даже тем, кто не имеет большого опыта.
Вот и Snapraid, наш дополнительный плагин. Кроме того, OpenMediaVault уже доступен для использования как домашний NAS. что тоже неплохой бонус.
В конечном итоге мы получим отказоустойчивый домашний сервер с поддержкой Proxmox и OpenMediaVault.
Чтобы объединить Proxmox и OpenMediaVault на одном сервере, можно разделить их функции: Виртуальные машины управляются Proxmox, а OpenMediaVault превращает часть дискового пространства в надёжное хранилище (NAS). В отличие от RAID, Snapraid позволяет использовать жёсткие диски любой ёмкости и защищать их от выхода из строя, не требуя одинаковых моделей или размеров, что позволяет эффективно работать с жёсткими дисками разного объема, объединяя их в одну систему без потери данных.
Установка Proxmox:
Мы установили Proxmox. В настоящее время к моменту написания статьи это 8.2
Все просто с Proxmox, его установка подробно описана везде. Чтобы начать, скачайте образ proxmox.iso с этой страницы: https://www.proxmox.com/en/downloads.
Далее создаем загрузочную флешку и устанавливаем Proxmox на сервер с этой флешки.
Выбираем диск, на который будем устанавливать ОС Proxmox. Он должен быть отделен от рейда, который мы собираем позже. У меня есть отдельный диск NVME, который вставлен в M2 разъем материнской платы:

Выбираем страну, часовой пояс и клавиатуру на следующем скрине:

Далее вводим пароль учетной записи root и почту, куда будут отправляться предупреждения Proxmox в случае чего:

Последним шагом является создание названия сервера, которое должно иметь окончание.local. Можно брать пример из следующего графика. Кроме того, мы указываем IP-адрес, который мы хотим получить для устройства, маски, шлюза и DNS-сервера, а затем нажимаем «Далее».

Следующим шагом будет представлена информация, включающая все настройки, которые вы выбрали. После проверки всех данных нажимаем кнопку «Установка», и ваш сервер Proxmox готов.

Теперь вы можете открыть окно proxmox, вбив в браузере https://ip адрес вашего сервера:8006. После этого вы сможете управлять вашим сервером.

Но мы продолжаем искать старые, но полностью завалявшиеся диски.
Установка OpenMediaVault:
Хотя я скачал установку Openmediavault с их сайта: https://docs.openmediavault.org/en/latest/installation/on_debian.html, я не выполнил последние этапы. В общем, начнем:
Внедрение связки ключей OpenMediaVault:
apt-get install —yes gnupg wget —quiet —output-document=- https://packages.openmediavault.org/public/archive.key | gpg —dearmor —yes —output "/usr/share/keyrings/openmediavault-archive-keyring.gpg"
Следующим шагом является добавление репозитория, необходимого для установки OpenMediaVault:
nano /etc/apt/sources.list.d/openmediavault.list
И добавляем архив:
deb [signed-by=/usr/share/keyrings/openmediavault-archive-keyring.gpg] https://packages.openmediavault.org/public sandworm main
Мы экспортируем три параметра одновременно:
Раз:
export LANG=C.UTF-8 Два: export DEBIAN_FRONTEND=noninteractive Три: export APT_LISTCHANGES_FRONTEND=none Обновляем пакеты: apt-get update Следующей командой устанавливаем Openmediavailt (команду вставлять полностью): apt-get —yes —auto-remove —show-upgraded —allow-downgrades —allow-change-held-packages —no-install-recommends —option DPkg::Options::="—force-confdef" —option DPkg::Options::="—force-confold" install openmediavault
Создание OpenMediaVault завершено. Теперь мы можем открыть веб-интерфейс OMV, введя IP-адрес в браузере или порт :80.

Он имеет стандартный логин: администратор
Пароль у него стандартный: openmediavault
Приветствую Вам удалось установить Openmediavault. Однако есть одно «но». Дело в том, что Proxmox и OpenMediaVault являются важными продуктами, которые могут управлять сетью сервера, и они пытаются получить контроль над настройками. В результате после установки OpenMediaVault возникает проблема с DNS.
По этому идём в Proxmox в настройки DNS и там выставляем DNS Server 1 например гугловский 8.8.8.8:

Давайте приступим к установке репозиториев для плагинов в OpenMediaVault, поскольку DNS завершен.
Чтобы сделать это, введите эту команду в консоль:
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
Этот проект можно найти по этому адресу: https://github.com/OpenMediaVault-Plugin-Developers/installScript/.
Теперь мы можем запустить SnapRaid и настроить его:
Установка и Настройка SnapRaid:
Для начала мы должны отформатировать все диски, которые у нас есть, включая те, которые мы хотим использовать в рейде, и присвоить им обычные имена. Обратите внимание, что у меня четыре диска: два по 2 терабайта и два по 500 гб.
Чтобы это сделать, перейдите в Хранилище — Диски и нажмите «Очистить», выделив каждый диск.

После форматирования всех дисков переходим в Хранилище — Файловые системы и создаем файловую систему для каждого диска.

После нажатия плюса выбираем файловую систему EXT4. Затем выбираем диск для форматирования, а затем нажимаем сохранить. После этого диск будет форматирован:

По завершении форматирования вы увидите следующее окно, в котором будут представлены общие настройки файловой системы. В этом случае вам предложат выбрать порог предупреждения, и я установил его на 95% заполнения. И вы должны указать тег диска. Все диски буду называть по очереди, начиная с диска data1, data2, data3 и заканчивая диском parity, который является диском четности и хранит всю информацию рейда.

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

Вот как будет выглядеть справедливость:

В конце концов, у нас будут такие диски в файловой cистеме:

Теперь мы можем использовать snapraid из плагинов. Для этого переходим в Система, Плагины и устанавливаем Snapraid.

Кроме того, позвольте нам установить плагин mergerfs.
Эта программа называется Mergerfs и может объединить все диски, которые мы выбрали, в один логический. То есть у нас будет три диска объемом 1 терабайт, а также два диска объемом 500 гигабайт. Как эта программа объединит их в один большой диск почти 2 терабайта? Я думаю, что это отлично. как мы всегда можем разделить их в случае необходимости….
Следовательно, мы устанавливаем:

Пришло время настроить Snapraid. Выберите Сервисы, затем SnapRaid. Здесь выберите Архивы и создайте Архив с именем, например, «snapraid».


Далее переходим в Snapraid на диски и создаем каждый индивидуально, но на дисках data1, data2 и data3 ставим галочки «содержимое» и «данные».

Для четвертого диска паритета мы выбираем «Соотношение» и «Разделение паритета».

Мы собрали все диски Snapraid, теперь мы проверяем каждый и нажимаем галочку на «Отложенные изменения конфигурации»:

Следующим шагом является поход в mergerfs, следуя маршруту от Хранилища до mergerfs. Там мы создаем pool, в котором будут собираться диски. Я назвал его pool1.

Я выбрал три диска data1, data2 и data3, как видно в FileSystems. Кроме того, диск Parity, который я не выбрал, не будет включен в пул.
Ни и нажимаем кнопку «Сохранить». Затем отмечаем «Отложенные изменения конфигурации».

Следует отметить, что после создания появилась новая файловая система FUSE.MARGERFS размером 1.79 терабайта в разделе Файловые системы в Хранилище. Кроме того, для записи данных в ней уже можно смело пользоваться.

Вы можете увидеть путь к этому хранилищу в /srv/mergerfs/pool1.
Я создал папку pve в этом месте, чтобы хранить диски виртуальных машин proxmox.
Кроме того, чтобы добавить папку /srv/mergerfs/pool1/pve в proxmox в качестве диска, нужно зайти в Datacenter->Storege->Add->Directory->, и в моем случае написать путь дериктории /srv/mergerfs/pool1/pve.


Я также установил этот диск Home Assistant.

После активации Home Assistant мы видим, что на диске занято 5.39 ГБ, а диск parity /dev/sdd1 пуст. Если заменить диск /dev/sda1, мы не сможем восстановить данные, потому что информация должна храниться на диске parity.
Однако в парите snapraid записывает данные только после выполнения команды:
snapraid sync
Однако ее выполнение в консоли y приведет к ошибке:

Чтобы исправить эту ошибку, выполните следующую команду:
cp /etc/snapraid/snapraid.conf /etc/snapraid.conf
В файле /etc/snapraid.conf можно найти информацию о пуле дисков:

Кроме того, произошла ошибка в том, что программа snapraid не смогла найти snapraid.conf в /etc/snapraid.conf. Поэтому мы перенесли файл на правильный путь, и теперь команда snapraid sync сработает.

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

Чтобы избежать постоянного ввода команды snapraid sync, можно использовать планировщик задач в openmediavault, который автоматически вводит ее.
Чтобы это сделать, перейдите в Систему, Планировщик заданий и создайте новое задание.

Я выбрал ежедневно и назначил команду snapraid sync.
Эта команда будет запускаться один раз в сутки.
В настоящее время настройка Snapraid завершена. Большое пространство, которое появилось, можно использовать и наслаждаться.
Однако целью рейдов не является увеличение объема диска, не так ли? Вместо этого они используются для восстановления данных в случае потери диска.
Мы можем эмитировать выход из строя одного жесткого диска.
Объединение Proxmox и OpenMediaVault на одном железе — отличный способ получить надежную систему хранения данных и мощную площадку для виртуальных машин. Как показано, Snapraid идеально подходит для этой связки, особенно с коллекцией жёстких дисков разных размеров. Хотя он предлагает гораздо большую гибкость, он обеспечивает тот же уровень защиты информации, который обычно доступен в дорогих готовых NAS.
Однако у этого метода есть недостатки. Snapraid используется для «резервного копирования на лету», а не для обычных RAID. Это означает, что данные чётности должны быть обновлены вручную или по расписанию. Другой большой плюс — возможность легко восстановить удаленный файл или целый диск, даже если он вышел из строя.
В итоге, потратив время на настройку, вы получите универсальный и экономичный домашний сервер с возможностями виртуализации, тестового стенда и централизованного хранилища для медиафайлов, резервных копий и важных данных. Хотя это решение требует определенного понимания, результат — система, которая удовлетворит ваши потребности.








