Больше свободного места, чем ожидалось при использовании btrfs RAID10?
Я только что создал RAID-массив btrfs в моем 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", и "одиночный"
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.
Любой совет приветствуется!
1 ответ
Я вижу в общей сложности 7,3 ТБ
Правильно.
Короткий ответ: вы видите необработанное пространство, доступное для размещения зеркальных копий, поэтому разделите его пополам, чтобы получить ожидаемые 3,6 ТБ.
Подсчет свободного места на диске, как известно, путает с btrfs. В официальном FAQ по btrfs есть вопрос, почему сложно вычислить свободное место в btrfs.
Файловая система btrfs может содержать куски файлов с разными уровнями рейдов. У вас могут быть файлы без зеркальных копий ("single" или "raid0") и другие файлы с зеркальным отображением ("raid1").
На самом деле у вас есть это в вашей файловой системе прямо сейчас.
Когда я пытаюсь перечислить тип RAID, который я использую, я вижу и "RAID10", и "одиночный"
Это говорит вам о том, что небольшое количество ваших данных в вашей файловой системе НЕ отражается ("одиночно"). Вам нужно сделать баланс btrfs, чтобы это исправить. Я бы порекомендовал сделать:
btrfs начало баланса -dconvert=raid1, профили = один -mconvert=raid1, профили = один -sconvert=raid1, профили = один --force /mnt/tmp
Это преобразует данные единственной копии в зеркальные, как для данных файла, так и для метаданных и системных данных (d, m и s). Параметр "profile" будет влиять только на данные, которые в данный момент находятся в единственном экземпляре.