Я только что впервые создал массив btrfs RAID10 в своем Ubuntu 14.04 с помощью команды:
mkfs.btrfs -d raid10 -m raid10 /dev/sda /dev/sdb /dev/sdc /dev/sdd
Мои 4 жестких диска по 2 ТБ каждый. Под RAID10 я ожидал увидеть полезное пространство около 3,6 ТБ. Тем не менее, по какой-то причине я вижу, что общий полезный объем составляет 7,3 ТБ (см. /dev/sda
ниже):
Filesystem Size Used Avail Use% Mounted on
/dev/sde1 42G 1.7G 38G 5% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 7.8G 12K 7.8G 1% /dev
tmpfs 1.6G 1.2M 1.6G 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 7.9G 0 7.9G 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/sda 7.3T 13G 7.3T 1% /mnt/tmp
Это неожиданное поведение?
Дополнительная информация:
bofh@stronghold:~$ sudo btrfs fi show
Label: none uuid: a3a65325-0184-46d8-bef7-7ed066c9e320
Total devices 4 FS bytes used 29.14GiB
devid 1 size 1.82TiB used 16.03GiB path /dev/sda
devid 2 size 1.82TiB used 16.01GiB path /dev/sdb
devid 3 size 1.82TiB used 16.01GiB path /dev/sdc
devid 4 size 1.82TiB used 16.01GiB path /dev/sdd
Когда я пытаюсь указать тип RAID, который я использую, я вижу как «RAID10», так и «single».
bofh@stronghold:~$ sudo btrfs fi df /mnt/tmp
Data, RAID10: total=52.00GiB, used=48.77GiB
Data, single: total=8.00MiB, used=0.00
System, RAID10: total=16.00MiB, used=16.00KiB
System, single: total=4.00MiB, used=0.00
Metadata, RAID10: total=2.00GiB, used=64.12MiB
Metadata, single: total=8.00MiB, used=0.00
Еще одна довольно странная вещь заключается в том, что сканирование устройства btrfs не дает никаких результатов:
bofh@stronghold:~$ sudo btrfs device scan
Scanning for Btrfs filesystems
bofh@stronghold:~$
Я использую сервер Ubuntu 14.04, который я только что установил и запустил dist-upgrade.
Любые советы приветствуются!
Я вижу, что общий полезный объем составляет 7,3 ТБ
Это правильно.
Короткий ответ заключается в том, что вы видите необработанное пространство, доступное для размещения зеркальных копий, поэтому разделите его пополам, чтобы получить ожидаемые 3,6 ТБ.
Известно, что вычисление свободного места на диске сбивает с толку с помощью btrfs. В официальном FAQ по btrfs есть вопросы по почему сложно посчитать свободное место в btrfs.
Файловая система btrfs может содержать куски файлов с разными уровнями рейда. У вас могут быть некоторые файлы без зеркальных копий («single» или «raid0») и другие файлы, которые являются зеркальными («raid1»).
Прямо сейчас у вас есть это в вашей файловой системе.
Когда я пытаюсь указать тип RAID, который я использую, я вижу как «RAID10», так и «single».
Это говорит вам о том, что небольшой объем ваших данных в вашей файловой системе НЕ является зеркальным («единичным»). Чтобы исправить это, вам нужно сделать баланс btrfs. Я бы рекомендовал сделать:
btrfs balance start -dconvert = raid1, profiles = single -mconvert = raid1, profiles = single -sconvert = raid1, profiles = single --force / mnt / tmp
Это преобразует данные с одной копией в зеркальное отображение как для данных файла, так и для метаданных, а также для системных данных (d, m и s). Параметр "профили" повлияет только на данные, которые в настоящее время являются единственными копиями.