HomeLab

Установка и настройка MergerFS и SnapRAID (Часть 1)

26 мая 2026, 02:01
Источник: noted.lol
Установка и настройка MergerFS и SnapRAID (Часть 1)

Источник: noted.lol



Если вы читали оригинальную статью о MergerFS и SnapRAID, я уверен, что вы задавались вопросом, как это настроить. Итак, давайте разберемся и создадим пул данных, который мы будем защищать от выхода из строя диска с помощью SnapRaid. А затем настроим SnapRaid для "магического" резервного копирования ваших дисков в фоновом режиме, чтобы вы могли беспокоиться или даже экспериментировать с некоторыми другими классными приложениями, которые были рассмотрены на Noted.
Это двухчастная серия.
Установка и настройка MergerFS и SnapRAID (Часть 1) В этой части мы настраиваем и устанавливаем MergerFS. Оставайтесь с нами, так как часть 2 будет прямо за этой.NotedMediacowboyУстановка и настройка MergerFS и SnapRAID (Часть 2) Последняя часть — это настройка и конфигурация MergerFS и SnapRAID. Вот более безопасная система без страха потерять данные.NotedMediacowboy

Установка

Удивительно, но как MergerFS, так и SnapRaid находятся в репозиториях Ubuntu и Debian, что делает установку самым простым этапом всего этого процесса.
При установке чего-либо нового на Ubuntu или Debian выполните следующие команды.

sudo apt update
sudo apt upgrade -y

Как только все будет в порядке, мы можем установить MergerFS. Это простая команда для установки, а затем мы его настроим.

sudo apt install mergerfs -y

Эта команда не занимает много времени, и мы готовы. Но это еще не всё. Теперь нам нужно его настроить.

Настройка

Итак, давайте перейдем к настройке и созданию пула; у меня есть несколько дисков разных размеров, которые мы будем использовать. На этом сервере четыре диска по 4TB и четыре диска по 8TB. Два из 8TB дисков мы на данный момент игнорируем.

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0   7.3T  0 disk
sdb      8:16   0   7.3T  0 disk
sdc      8:32   0   7.3T  0 disk
sdd      8:48   0   7.3T  0 disk
sde      8:64   0   3.6T  0 disk
sdf      8:80   0   3.6T  0 disk
sdg      8:96   0   3.6T  0 disk
sdh      8:112  0 232.9G  0 disk
├─sdh1   8:113  0 231.9G  0 part /
├─sdh2   8:114  0     1K  0 part
└─sdh5   8:117  0   976M  0 part [SWAP]
sdi      8:128  0 465.8G  0 disk
sdj      8:144  0   3.6T  0 disk

Сначала нужно создать директории для монтирования этих дисков и папку хранения для использования пула. Я предпочитаю использовать расположение /mnt и создавать директории как disk1, disk2 и т.д.

sudo mkdir /mnt/disk{1..6}
sudo mkdir /mnt/storage
sudo chown (username):(username) /mnt/disk*
sudo chown (username):(username) /mnt/storage

Это создаст шесть директорий и предоставит пользователю к ним доступ. Не забудьте изменить (username) на ваше имя пользователя.
Как мы можем видеть из всех моих дисков, они пустые и без таблиц разделов. Я предпочитаю использовать ext4 для своих данных, но вы можете использовать любую файловую систему, которую вам нравится. Я поделюсь, как я это делаю ниже. Если у вас есть диски с уже имеющимися данными, вам нужно просто изменить ваш файл fstab, как указано ниже.
⚠️
Имейте в виду, что это заменит любую партицию на диске и данные.

sudo gdisk /dev/sd* 
Команда: n ↵ 
Номер раздела: 1 ↵ 
Первый сектор: ↵ 
Последний сектор: ↵ 
Шестнадцатеричный код: ↵ 
w 
y

Создание таблицы разделов

sudo mkfs -t ext4 /dev/sd*1

Создание файловой системы на таблице разделов
Вы захотите сделать это для всех дисков, которые вы планируете использовать для MergerFS. Прежде чем кто-то начнет жаловаться, что ext4 не поддерживает большие диски, это не так. Проблема, с которой мы столкнемся, в том, что ext4 не поддерживает большие файлы. Для этого сервера мы могли бы пользоваться теми же дисками, которые мы планируем использовать для SnapRAID, но я собираюсь собрать свою новую сборку для этого и использовать другую файловую систему для них.
Теперь, когда все наши диски имеют разделы и файловые системы, мы хотим изменить файл fstab, чтобы автоматически монтировать этот диск при загрузке и создать пул. Здесь происходит волшебство.

sudo nano /etc/fstab


Вот как он выглядит после добавления моих дисков. Снова, прежде чем кто-то начнет жаловаться, мне нравится использовать UUID разделов; это позволяет мне переносить эту конфигурацию с системы на систему и никогда не делать перенастройку моих дисков.
Что это за последняя строка, спрашиваете вы? Что ж, это и есть магия. Мы говорим системе объединить все диски в один с помощью MergerFS. Помните, как я говорил, что мне нравится делать disk1 и т.д.? Я могу сказать MergerFS, что любой диск с "disk" в начале — это то, что нужно для создания пула. После того, как вы изменили свой fstab, чтобы он соответствовал моему, не забудьте изменить UUID, чтобы он соответствовал вашему диску; вы можете запустить команды ниже.

sudo mount -a
sudo df -h

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

Итак, давайте разберем последнюю строку, прежде чем мы перейдем дальше. Что мы говорим пулу, так это следующее.
* direct_io = предоставление системе прямого доступа для записи на этот диск
* minfreespace = сохранять минимум не менее 50г
* category.create=epmfs = существующий путь, с наибольшим свободным местом

Пожалуйста, уделите время, чтобы посетить GitHub MergerFS, чтобы увидеть, какие различные политики существуют и определить, что подходит именно вам. Мне нравится epmfs, потому что он не удерживает мои медиафайлы в одной папке на одном диске, позволяя мне потерять диск, не потеряв всё.
💡
Я хочу заранее извиниться за задержку с этой публикацией. Реальная жизнь одержала верх надо мной, а именно работа помешала моему отпуску, но, когда этого не происходило, я смог построить более мощную систему под свои потребности в хранении. Если вы хотите прочитать о этой сборке, ознакомьтесь с моим блогом,MediaCowboy.Tech.

Заключение

Этот гид оказался несколько длинным, но я хотел убедиться, что предоставил много информации и четкие инструкции. Чтобы продолжить настройку SnapRAID, переходите ко второй части. А если вы хотите пообщаться с другими людьми или, возможно, поделиться своими собственными мыслями, не стесняйтесь присоединяться к нашему сообществу в Discord. Удачи!