Сбой диска BTRFS RAID5 во время балансировки
Если вы нажали на ссылку на эту тему: Спасибо!
У меня есть следующие настройки:
6x 500 ГБ жестких дисков
1x 32 ГБ NVME-SSD (Intel Optane)
Я использовал bcache для настройки SSD в качестве устройства кэширования, а все остальные шесть дисков являются резервными. После всего, что было на месте, я отформатировал шесть HHD с помощью btrfs в RAID5. Все работает, как и ожидалось, за последние 7 месяцев.
К настоящему времени у меня есть запасные жесткие диски емкостью 6x по 2 ТБ, и я хочу заменить старые диски емкостью 500 ГБ один на один. Итак, я начал с первого, удалив его из btrfs. Это работало нормально, у меня не было проблем там. После этого я аккуратно отсоединил пустой диск от bcache, все еще все в порядке, поэтому я удалил его. Вот командные строки для этого:
sudo btrfs device delete /dev/bcacheX /media/raid cat /sys/block/bcacheX/bcache/state cat /sys/block/bcacheX/bcache/dirty_data sudo sh -c "echo 1 > /sys/block/bcacheX/bcache/detach" cat /sys/block/bcacheX/bcache/state
После этого я установил один из дисков объемом 2 ТБ, подключил его к bcache и добавил в рейд. Следующим шагом было перенести данные на новый диск. Пожалуйста, смотрите командные строки:
sudo make-bcache -B /dev/sdY sudo sh -c "echo '60a63f7c-2e68-4503-9f25-71b6b00e47b2' > /sys/block/bcacheY/bcache/attach" sudo sh -c "echo writeback > /sys/block/bcacheY/bcache/cache_mode" sudo btrfs device add /dev/bcacheY /media/raid sudo btrfs fi ba start /media/raid/
Весы работали нормально, пока на новый диск не было записано ~ 164 ГБ, это примерно 50% данных, которые будут сбалансированы. Внезапно появляются ошибки записи на диск. Raid постепенно стал непригодным для использования (во время балансировки у меня было 3 виртуальных машины RAID). Я думаю, что это работало в течение некоторого времени из-за SSD, совершающего записи. В какой-то момент балансировка прекратилась, и я смог убить только виртуальные машины. Я проверил операции ввода-вывода на дисках, и SSD выкладывал постоянные 1,2 ГБ / с чтения. Я думаю, что bcache каким-то образом доставил данные в btrfs, и его там отклонили и запросили снова, но это всего лишь предположение. В любом случае, я перезагружал хост и физически отключил сломанный диск и установил новый. Я также создал на нем устройство резервного копирования bcache и выполнил следующую команду для замены неисправного диска:
sudo btrfs replace start -r 7 /dev/bcache5 /media/raid
Файловая система должна быть смонтирована для чтения / записи, чтобы эта команда работала. Сейчас он делает свою работу, но очень медленно, около 3,5 МБ / с. К сожалению, системный журнал сообщает о многих из этих сообщений:
... scrub_missing_raid56_worker: 62 callbacks suppressed BTRFS error (device bcache0): failed to rebuild valid logical 4929143865344 for dev (null) ... BTRFS error (device bcache0): failed to rebuild valid logical 4932249866240 for dev (null) scrub_missing_raid56_worker: 1 callbacks suppressed BTRFS error (device bcache0): failed to rebuild valid logical 4933254250496 for dev (null) ....
Если я пытаюсь прочитать файл из файловой системы, команда output завершается неудачно с простой ошибкой ввода-вывода, а в системном журнале отображаются записи, подобные этой:
BTRFS warning (device bcache0): csum failed root 5 ino 1143 off 7274496 csum 0xccccf554 expected csum 0x6340b527 mirror 2
Пока все хорошо (или плохо). Пока что на замену у 4,3% ушло около 6 часов. Не было ошибок чтения или записи для процедуры замены («btrfs replace status»). Я отпущу это до конца. До выхода из строя первого диска объемом 2 ТБ было записано 164 ГБ данных в соответствии с «шоу файловой системы btrfs». Если я проверю объем данных, записанных на новый диск, то 4,3% представляют около 82 ГБ (согласно / proc / diskstats). Я не знаю, как это интерпретировать, но все равно.
А теперь, наконец, мои вопросы: если команда замены завершается успешно, что мне делать дальше. Скраб? Баланс? Еще одна резервная копия? ;-) Видите ли вы что-нибудь, что я сделал неправильно в этой процедуре? Означают ли предупреждения и ошибки, о которых сообщают btrfs, что данные потеряны? :-(
Вот некоторая дополнительная информация ( отредактированная ):
$ sudo btrfs fi sh Total devices 7 FS bytes used 1.56TiB Label: none uuid: 9f765025-5354-47e4-afcc-a601b2a52703 devid 0 size 1.82TiB used 164.03GiB path /dev/bcache5 devid 1 size 465.76GiB used 360.03GiB path /dev/bcache4 devid 3 size 465.76GiB used 360.00GiB path /dev/bcache3 devid 4 size 465.76GiB used 359.03GiB path /dev/bcache1 devid 5 size 465.76GiB used 360.00GiB path /dev/bcache0 devid 6 size 465.76GiB used 360.03GiB path /dev/bcache2 *** Some devices missing $ sudo btrfs dev stats /media/raid/ [/dev/bcache5].write_io_errs 0 [/dev/bcache5].read_io_errs 0 [/dev/bcache5].flush_io_errs 0 [/dev/bcache5].corruption_errs 0 [/dev/bcache5].generation_errs 0 [/dev/bcache4].write_io_errs 0 [/dev/bcache4].read_io_errs 0 [/dev/bcache4].flush_io_errs 0 [/dev/bcache4].corruption_errs 0 [/dev/bcache4].generation_errs 0 [/dev/bcache3].write_io_errs 0 [/dev/bcache3].read_io_errs 0 [/dev/bcache3].flush_io_errs 0 [/dev/bcache3].corruption_errs 0 [/dev/bcache3].generation_errs 0 [/dev/bcache1].write_io_errs 0 [/dev/bcache1].read_io_errs 0 [/dev/bcache1].flush_io_errs 0 [/dev/bcache1].corruption_errs 0 [/dev/bcache1].generation_errs 0 [/dev/bcache0].write_io_errs 0 [/dev/bcache0].read_io_errs 0 [/dev/bcache0].flush_io_errs 0 [/dev/bcache0].corruption_errs 0 [/dev/bcache0].generation_errs 0 [/dev/bcache2].write_io_errs 0 [/dev/bcache2].read_io_errs 0 [/dev/bcache2].flush_io_errs 0 [/dev/bcache2].corruption_errs 0 [/dev/bcache2].generation_errs 0 [devid:7].write_io_errs 9525186 [devid:7].read_io_errs 10136573 [devid:7].flush_io_errs 143 [devid:7].corruption_errs 0 [devid:7].generation_errs 0 $ sudo btrfs fi df /media/raid/ Data, RAID5: total=1.56TiB, used=1.55TiB System, RAID1: total=64.00MiB, used=128.00KiB Metadata, RAID1: total=4.00GiB, used=2.48GiB GlobalReserve, single: total=512.00MiB, used=0.00B $ uname -a Linux hostname 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ btrfs --version btrfs-progs v4.15.1 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
Еще раз спасибо за чтение и, надеюсь, ваши комментарии / ответы!
РЕДАКТИРОВАТЬ 2
«Замена устройства» только что завершена. Это было рядом с отметкой 9%, я думаю, что этот процент совпадает с записанным объемом данных на диске: 164 ГиБ из общего размера 1,82 ТиБ. Таким образом, 100% будет означать полную замену 2 ТБ. Итак, вот некоторые дополнительные выводы:
$ btrfs replace status -1 /media/raid/ Started on 30.Oct 08:16:53, finished on 30.Oct 21:05:22, 0 write errs, 0 uncorr. read errs $ sudo btrfs fi sh Label: none uuid: 9f765025-5354-47e4-afcc-a601b2a52703 Total devices 6 FS bytes used 1.56TiB devid 1 size 465.76GiB used 360.03GiB path /dev/bcache4 devid 3 size 465.76GiB used 360.00GiB path /dev/bcache3 devid 4 size 465.76GiB used 359.03GiB path /dev/bcache1 devid 5 size 465.76GiB used 360.00GiB path /dev/bcache0 devid 6 size 465.76GiB used 360.03GiB path /dev/bcache2 devid 7 size 1.82TiB used 164.03GiB path /dev/bcache5
Чтение файлов все еще прерывается с ошибками ввода / вывода, syslog по-прежнему показывает:
BTRFS warning (device bcache0): csum failed root 5 ino 1143 off 7274496 csum 0x98f94189 expected csum 0x6340b527 mirror 1 BTRFS warning (device bcache0): csum failed root 5 ino 1143 off 7274496 csum 0xccccf554 expected csum 0x6340b527 mirror 2
Поэтому я думаю, что самое безобидное действие - это очистка только для чтения, я только начал процесс. Ошибки и предупреждения заполняют системный журнал:
$ sudo btrfs scrub start -BdrR /media/raid # -B no backgroud, -d statistics per device, -r read-only, -R raw statistics per device $ tail -f /var/log/syslog BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2848, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590109331456 on dev /dev/bcache5, physical 2954104832, root 5, inode 418, offset 1030803456, length 4096, links 1 (path: VMs/Virtualbox/Windows 10 Imaging VMs/Windows 10 Imaging/Windows 10 Imaging-fixed.vdi) BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2849, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590108811264 on dev /dev/bcache5, physical 2953977856, root 5, inode 1533, offset 93051236352, length 4096, links 1 (path: VMs/Virtualbox/vmrbreb/vmrbreb-fixed.vdi) BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2850, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590109335552 on dev /dev/bcache5, physical 2954108928, root 5, inode 418, offset 1030807552, length 4096, links 1 (path: VMs/Virtualbox/Windows 10 Imaging VMs/Windows 10 Imaging/Windows 10 Imaging-fixed.vdi) BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2851, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590108815360 on dev /dev/bcache5, physical 2953981952, root 5, inode 621, offset 11864412160, length 4096, links 1 (path: VMs/Virtualbox/Win102016_Alter-Firefox/Win102016_Alter-Firefox-disk1.vdi) BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2852, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590109339648 on dev /dev/bcache5, physical 2954113024, root 5, inode 418, offset 1030811648, length 4096, links 1 (path: VMs/Virtualbox/Windows 10 Imaging VMs/Windows 10 Imaging/Windows 10 Imaging-fixed.vdi) BTRFS error (device bcache0): bdev /dev/bcache5 errs: wr 0, rd 0, flush 0, corrupt 2853, gen 0 BTRFS warning (device bcache0): checksum error at logical 4590109343744 on dev /dev/bcache5, physical 2954117120, root 5, inode 418, offset 1030815744, length 4096, links 1 (path: VMs/Virtualbox/Windows 10 Imaging VMs/Windows 10 Imaging
Мои вопросы все еще остаются: что мне делать дальше. Скраб? Баланс? Я сделал что-то совершенно не так? Как интерпретировать ошибки и предупреждения из скраба только для чтения, может ли btrfs их исправить?
0 ответов на вопрос
Похожие вопросы
-
5
Хранение данных и план резервного копирования для фотографии?
-
2
Какую конфигурацию RAID следует использовать для обеспечения отказоустойчивости?
-
8
Какая конфигурация RAID наиболее подходит для домашнего пользователя?
-
-
2
Ищете недорогой NAS, который выключается при простое
-
3
Стоит ли покупать подходящие жесткие диски для массива NAS RAID 1?
-
12
Какие у меня есть варианты домашнего мульти-терабайтного NAS?
-
1
Обновление жестких дисков RAID0 до SSD - могу ли я использовать диски RAID0 после обновления?
-
5
Диски не Apple с RAID-картой Mac Pro начала 2009 года
-
5
Какие программные режимы рейда поддерживает каждая версия Windows 7?
-
5
Можете ли вы связать внешние жесткие диски USB в системе в стиле RAID?