Btrfs

Как использовать баланс Btrfs?

Как использовать баланс Btrfs?
Файловая система Btrfs имеет встроенную поддержку нескольких устройств, поэтому вы можете создавать различные уровни RAID, используя ее.

После создания Btrfs RAID вы можете добавить к нему больше устройств хранения, чтобы расширить RAID. Но как только вы добавите больше устройств хранения в RAID, Btrfs не будет автоматически распространять существующие данные / метаданные / системные данные на новые устройства хранения. Таким образом, вы можете не получить желаемую пропускную способность (скорость чтения / записи) из RAID, и он не сможет заполнить новые устройства хранения необходимыми избыточными данными. Таким образом, RAID-массив может не выдержать желаемого количества отказов дисков.

Для решения этих проблем файловая система Btrfs предоставляет встроенный инструмент балансировки. Утилита баланса Btrfs будет распространять данные / метаданные / системные данные существующих устройств хранения RAID на новые добавленные устройства хранения.

В этой статье я покажу вам, как использовать утилиту Btrfs balance для распространения данных / метаданных / системных данных существующих устройств хранения RAID на вновь добавленные устройства хранения. Итак, приступим!

Сокращения

RAID - Резервный массив недорогих / независимых дисков
МБ - Мегабайт
ГБ - Гигабайт

Предпосылки

Чтобы следовать этой статье, вам потребуется работающий RAID-массив Btrfs или установка для нескольких устройств.

Я создал Btrfs RAID в RAID-0 конфигурация с использованием 4 запоминающих устройств SDB, SDC, SDD, а также sde.

Как видите, файловая система Btrfs выделила 1 ГБ дискового пространства для данных1 256 МБ дискового пространства для метаданные2, а также 4 МБ дискового пространства для system-data3 с каждого устройства хранения в RAID.

О 18.75 ГБ снаружи 20 ГБ все еще не выделен4 на каждом из запоминающих устройств RAID.

Использование / данные файловой системы $ sudo btrfs

Написание сценария для создания случайных файлов

Чтобы показать вам, как работает утилита Btrfs balance, нам нужно сгенерировать несколько случайных файлов, чтобы заполнить файловую систему Btrfs. Давайте создадим сценарий оболочки, который сделает это.

Создайте новый файл сценария оболочки.sh в каталоге / usr / local / bin / следующим образом:

$ sudo nano / usr / local / bin / genfiles.ш

Введите следующие строки кодов в поле Genfiles.ш сценарий оболочки.

#!/ bin / bash
пока правда
делать
ИМЯ ФАЙЛА = $ (uuidgen)
echo "[Создание] $ FILENAME"
dd if = / dev / random of = $ FILENAME bs = 1M count = 256 status = прогресс
echo "[Создано] $ FILENAME"
Выполнено

Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти Genfiles.ш сценарий оболочки.

В Genfiles.ш сценарий оболочки запускает бесконечное пока петля.

пока правда
делать
# другой код
Выполнено

Следующая строка генерирует UUID с использованием uuidgen команда и сохраняет UUID в ИМЯ ФАЙЛА Переменная.

Следующая строка выводит сообщение на консоль перед файлом ИМЯ ФАЙЛА генерируется.

Следующая строка генерирует новый случайный файл ИМЯ ФАЙЛА с помощью дд команда. Размер файла будет 256 МБ.

Следующая строка выводит сообщение на консоль после файла ИМЯ ФАЙЛА генерируется.

Добавить разрешение на выполнение в Genfiles.ш сценарий оболочки следующим образом:

$ sudo chmod + x / usr / локальный / bin / genfiles.ш

В Genfiles.ш сценарий оболочки теперь должен быть доступен, как и любые другие команды.

$ which genfiles.ш

Генерация случайных файлов в файловой системе Btrfs

Мы хотим сгенерировать случайные файлы в Btrfs RAID. Допустим, Btrfs RAID установлен на /данные каталог.

Перейдите к /данные каталог, в котором монтируется Btrfs RAID, как показано ниже:

$ cd / data

Как видите, в настоящий момент в моем RAID-массиве Btrfs нет файлов.

$ ls -lh

Чтобы сгенерировать несколько случайных файлов в текущем рабочем каталоге (/данные каталог в этом случае), запустите Genfiles.ш сценарий оболочки следующим образом:

$ sudo genfiles.ш

В Genfiles.ш сценарий оболочки должен начать генерировать случайные файлы в /данные каталог.

В Genfiles.ш скрипт генерирует случайные файлы. Дайте скрипту поработать пару минут, чтобы он занял около 2-3 ГБ дискового пространства Btrfs RAID.

Когда вы хотите остановить Genfiles.ш сценарий оболочки, нажмите + C.

Как видите, некоторые случайные файлы генерируются в RAID-массиве Btrfs.

$ ls -lh


Как видите, Btrfs RAID выделил 2 ГБ для каждого из устройств хранения, добавленных к RAID. Ранее Btrfs RAID выделял по 1 ГБ для каждого из устройств хранения, добавленных к RAID.

Нераспределенное дисковое пространство уменьшено с 18.75 ГБ к 17.75 ГБ во всех запоминающих устройствах RAID.

Использование / данные файловой системы $ sudo btrfs

Добавление другого устройства хранения в Btrfs RAID

Чтобы показать вам, как сбалансировать Btrfs RAID после добавления нового устройства хранения, вы должны добавить к нему новое устройство хранения.

Я добавил новый жесткий диск sdf на свой компьютер, который я хочу добавить к Btrfs RAID, установленному на /данные каталог. Посмотрим, как это сделать.

$ sudo lsblk -e7

Перейдите в другой каталог (i.е., ДОМ каталог) из /данные каталог следующим образом:

$ cd

Чтобы добавить запоминающее устройство sdf к Btrfs RAID, установленному на /данные каталог, выполните следующую команду:

$ sudo btrfs устройство добавить / dev / sdf / data

Как видите, запоминающее устройство sdf добавлен в Btrfs RAID. Размер RAID увеличился с 80 ГБ к 100 ГБ.

Использование / данные файловой системы $ sudo btrfs

Балансировка Btrfs RAID

Как видите, недавно добавленное запоминающее устройство (sdf) RAID (установленный на /данные каталог) имеет нераспределенные 20 ГБ, а другие устройства хранения (SDB, SDC, SDD, sde, так далее.) имеют 17.75 ГБ нераспределенный.

Использование / данные файловой системы $ sudo btrfs

Данные1, метаданные2, и системные данные3 доступны только на существующих запоминающих устройствах RAID, но не на вновь добавленном запоминающем устройстве.

Чтобы распределить данные, метаданные и системные данные на всех устройствах хранения RAID (включая недавно добавленное устройство хранения), установленных на /данные каталог, выполните следующую команду:

$ sudo btrfs balance start --full-balance / data

Распределение данных, метаданных и системных данных на всех устройствах хранения RAID может занять некоторое время, если он содержит много данных.

После того, как устройства хранения RAID будут правильно сбалансированы, вы должны увидеть следующее сообщение.

Как видите, после завершения операции балансировки вновь добавленное устройство хранения имеет такой же объем нераспределенного дискового пространства, что и другие устройства хранения RAID.

После операции балансировки для данных, метаданных и системных данных с вновь добавленного устройства хранения (sdf) RAID.

Заключение

В этой статье я обсудил назначение утилиты Btrfs balance, а также то, как сбалансировать Btrfs RAID или файловую систему с несколькими устройствами после добавления новых устройств хранения в файловую систему RAID или с несколькими устройствами.

Курсор прыгает или перемещается случайным образом при наборе текста в Windows 10
Если вы обнаружите, что ваш курсор мыши прыгает или перемещается сам по себе, автоматически, случайным образом при вводе текста на ноутбуке или компью...
Как изменить направление прокрутки мыши и сенсорной панели в Windows 10
Мышь а также Сенсорная панельs не только упрощают вычисления, но и делают их более эффективными и требуют меньше времени. Мы не можем представить себе...
Как изменить указатель мыши и размер курсора, цвет и схему в Windows 10
Указатель мыши и курсор в Windows 10 - очень важные аспекты операционной системы. То же самое можно сказать и о других операционных системах, так что,...