Баланс BTRFS завершен, но все же отображает данные, хранящиеся в режиме «одного»

У меня есть три диска (8TB, 4TB, 3TB). Первоначально я создал раздел btrfs на диске 8TB и скопировал все мои данные. Я добавил диски 4TB и 3TB, используя btrfs device add, а затем выполнил преобразование баланса:

btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt 

Теперь баланс сделан, но он по-прежнему показывает некоторые данные в режиме «один» и «DUP» на исходном диске. Вот результат btrfs fi usage /mnt/btrfs :

 Overall: Device size: 13.37TiB Device allocated: 4.62TiB Device unallocated: 8.75TiB Device missing: 0.00B Used: 4.60TiB Free (estimated): 4.98TiB (min: 4.38TiB) Data ratio: 1.76 Metadata ratio: 2.00 Global reserve: 512.00MiB (used: 0.00B) Data,single: Size:645.00GiB, Used:645.00GiB /dev/mapper/8TB 645.00GiB Data,RAID1: Size:1.98TiB, Used:1.98TiB /dev/mapper/3TB 551.00GiB /dev/mapper/4TB 1.44TiB /dev/mapper/8TB 1.98TiB Metadata,RAID1: Size:8.00GiB, Used:3.84GiB /dev/mapper/4TB 8.00GiB /dev/mapper/8TB 8.00GiB Metadata,DUP: Size:7.00GiB, Used:6.41GiB /dev/mapper/8TB 14.00GiB System,DUP: Size:8.00MiB, Used:400.00KiB /dev/mapper/8TB 16.00MiB Unallocated: /dev/mapper/3TB 2.19TiB /dev/mapper/4TB 2.19TiB /dev/mapper/Seagate_Archive_8TB-btrfs 4.37TiB 

Вопросов:

  1. Есть ли данные, которые не хранятся на нескольких дисках? Другими словами, есть ли какие-либо данные, которые будут потеряны, если один диск не удался? Если да, то как я могу заставить эти затяжные «одиночные» сохраненные данные в RAID1?
  2. Предполагая, что хранилища данных «single» и «DUP» не нужны, теперь, когда все было преобразовано в рейд, есть ли способ очистить их?

Изменить: вот некоторая системная информация:

 uname -a Linux 4.8.0-0.bpo.2-amd64 #1 SMP Debian 4.8.11-1~bpo8+1 (2016-12-14) x86_64 GNU/Linux btrfs --version btrfs-progs v4.9 

Я также должен упомянуть, что этот компьютер был перезапущен во время баланса, и когда он вернулся, я не смог получить громкость btrfs вообще (он просто зависает). Я пробовал с несколькими различными параметрами монтирования (skip-param, recovery), и единственный, который работал бы, заключался в том, чтобы монтировать его только для чтения (используя -o ro ). После многих разочарований я загрузил wth Antergos live USB, на котором были самые новые ядра и btrfs progs, и он монтировался без проблем. Я приостановил операцию баланса, которая была автоматически запущена, а затем загружена обратно в Debian, и она смонтирована без проблем, поэтому я снова возобновил баланс.

  • Raid 5 rebuild с неправильным размером полосы и без сбоев дисков - потеряны данные?
  • После установки ubuntu install + software raid 0 мы видим: отказ от ввода-вывода в автономном устройстве
  • Linux SW RAID и физические тома
  • Списки каталогов ext4 в виде файла
  • очистка / dev / md0 файловая система (рейд)
  • Пытался разрастить мой массив raid6 с новым диском, получил «Не удалось восстановить критический раздел»
  • Как проверить RAID-массивы mdadm во время работы?
  • Дублирование ошибки PV в GParted при попытке удалить настройку RAID1
  • One Solution collect form web for “Баланс BTRFS завершен, но все же отображает данные, хранящиеся в режиме «одного»”

    С помощью пользователя на btrfs irc я смог ответить на вопрос (1). Кажется, это не связано с перезагрузкой и неудачной попыткой монтирования (все еще не уверен, что это было). Вместо этого, похоже, 645 ГБ данных, хранящихся как «одиночные», были данными, которые были добавлены к тому btrfs после того, как было начато преобразование raid1. Поэтому, кажется хорошей практикой проверять вывод использования btrfs fi usage прежде чем считать, что все ваши данные хранятся как raid1 после преобразования. Кроме того, «мягкий» фильтр позволит вам перебалансировать данные, которые не сохраняются в соответствии с целевым профилем, поэтому, например, я запускал:

     btrfs balance start --bg -mconvert=raid1,soft /mnt/btrfs btrfs balance start --bg -dconvert=raid1,soft /mnt/btrfs 

    (следуя предложению пользователя на форуме btrfs irc, чтобы сначала выполнить баланс по метаданным, а затем по данным), и это находится в процессе преобразования оставшихся данных в raid1.

    Кроме того, чтобы ответить на вопрос (2), ответ заключается в том, что в файловой системе raid1 можно получить некоторые «одиночные» куски, но они должны иметь 0 использования. Если это произойдет, вы можете очистить их, запустив

     btrfs balance start -dusage=0 -musage=0 /mnt/btrfs 

    (см. часто задаваемые вопросы btrfs )

    Interesting Posts

    Как назначить ключевой ярлык для перемещения рабочих пространств GNOME 3 вверх / вниз?

    Могу ли я сделать окно alt-tab всегда отображаться на основном экране в Gnome?

    Можно ли разделить образ диска и запустить Photorec по каждой части отдельно?

    Подключенный внешний жесткий диск замедляет работу системы

    Попытка увидеть обработчики по умолчанию для различных сигналов

    Каковы последствия бездействующего SSH

    Развертывание Jenkins не передается переменной java

    Разница между параметрами командной строки «-» и «-» с префиксом?

    Как узнать, какие команды будут использовать расширение скобки, а что нет?

    перемещать файлы определенного шаблона в другой каталог

    Должен ли я использовать `sudo` или` su` в сценарии запуска?

    Открыть порт для передачи bittorrent

    Как узнать разрешения пользователя на Linux с правами доступа root?

    Собирайте файлы из нескольких разных каталогов и помещайте их в одно место

    Клонирование корневого раздела на зашифрованный dm-crypt

    Linux и Unix - лучшая ОС в мире.