Неделю назад я создал пул BTRFS, используя две флешки (по 32 ГБ каждая) с помощью этой команды: /sbin/mkfs.btrfs -d single /dev/sda /dev/sdb
. Потом я понял, что надо было использовать перегородки /dev/sda1
и /dev/sdb1
, вместо дисков /dev/sda
и /dev/sdb
, поэтому я воссоздал тома, используя /dev/sd[ab]1
.
Моя проблема в том, что теперь у меня два тома:
$ sudo btrfs fi show
Label: none uuid: ba0b48ce-c729-4793-bd99-90764888851f
Total devices 2 FS bytes used 28.00KB
devid 2 size 29.28GB used 1.01GB path /dev/sdb1
devid 1 size 28.98GB used 1.03GB path /dev/sda1
Label: none uuid: 17020004-8832-42fe-8243-c145879a3d6a
Total devices 2 FS bytes used 288.00KB
devid 1 size 29.28GB used 1.03GB path /dev/sdb
devid 2 size 28.98GB used 1.01GB path /dev/sda
Я пробовал разные варианты, чтобы удалить второй том (uuid, заканчивающийся на c145879a3d6a), то есть: с помощью устройства удаления btrfs. Затем mkfs.btrfs размонтировал устройства, а также fdisk, чтобы воссоздать весь рейд с нуля, но что бы я ни делал, btrfs fi show
по-прежнему показывает оба тома. Как я могу полностью удалить эти тома из моей системы и начать все с нуля? Независимо от того, что я делаю, тома не могут быть удалены, то есть:
$ sudo btrfs device delete /dev/sda /media/flashdrive/
ERROR: error removing the device '/dev/sda' - Inappropriate ioctl for device
Я тут запускаю ядро 3.12.21 + btrfs v0.19
Я сам сталкивался с подобными проблемами, используя BTRFS.
Перво-наперво - масло не обязательно должно быть в разделе, поэтому, если не было какой-то не упомянутой причины, по которой вы хотели его в / dev / sdb1, вы сделали именно то, что сделал я, и столкнулись с той же проблемой.
После того, как вы покопались и попытались найти чистое решение для его исправления, лучшим вариантом станет wipefs - предположительно более новые версии могут удалить все следы. Однако в то время, когда я столкнулся с этим, я просто использовал dd для записи нулей на все мое устройство, примерно так:
dd if=/dev/zero of=/dev/sdX bs=4M
Это 9000-фунтовая горилла решений, но она вернет ваши флешки в новое состояние.
Предупреждение о SSD: это может нанести вред производительности SSD (в зависимости от производителя) и действительно должно выполняться только с флэш-накопителями. Видеть этот вопрос который предлагает другие альтернативы (blkdiscard), которые могут быть быстрее / безопаснее / лучше для SSD. Этот вопрос также есть несколько хороших ответов, которые могут быть эквивалентом этого, но без обнуления (функция безопасного стирания).
Я бы предпочел wipefs -t btrfs /dev/sda1 /dev/sdb1
как предложено в официальная btrfs wiki. Это немного скрыто в описании mkfs-option:
-f --force
Принудительно перезаписывать блочные устройства при обнаружении существующей файловой системы. По умолчанию mkfs.btrfs будет использовать libblkid для проверки любой известной файловой системы на устройствах. В качестве альтернативы вы можете использовать утилиту wipefs для очистки устройств.
sudo wipefs --all -t btrfs /dev/sda /dev/sdb
работал у меня. Мне пришлось добавить --all
иметь sudo btrfs fi show
оказаться пустым.
-a, --all
Сотрите все доступные подписи. Набор стертых подписей можно ограничить с помощью опции -t.
Массив / Btrfs был создан с помощью sudo mkfs.btrfs --label btrfs_6TB_RAID1 --metadata raid1 --data raid1 /dev/sda /dev/sdb --force
Видеть документация wipefs
В качестве альтернативы вы можете использовать cryptsetup, чтобы стереть информацию btrfs:
cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat /dev/sdXY
Работал у меня.