У меня Raspberry Pi 2B с четырьмя недавно приобретенными USB-накопителями на 256 ГБ. Я настроил 4 диска в качестве тома RAID10 (данные и метаданные) btrfs. Я пытался скопировать очень большой (~ 35 ГБ) файл с другого компьютера на этот том с помощью rsync. В первый раз, когда я сделал это, он потратил 2 часа на копирование и информация о прогрессе rsync показала 100%, но затем произошла ошибка из-за «файловой системы только для чтения».
Немного поиска показало, что dmesg выдавал ошибки о том, что том был принудительно доступен только для чтения из-за ошибки errno -5
:
[58463.350227] BTRFS: error (device sdd) in btrfs_commit_transaction:2071: errno=-5 IO failure (Error while writing out transaction)
[58463.352106] BTRFS info (device sdd): forced readonly
[58463.352120] BTRFS warning (device sdd): Skipping commit of aborted transaction.
Так что я подумал, а не одно ли это:
# btrfs device stats /dev/sda
[/dev/sda].write_io_errs 3339
[/dev/sda].read_io_errs 0
[/dev/sda].flush_io_errs 0
[/dev/sda].corruption_errs 0
[/dev/sda].generation_errs 0
# btrfs device stats /dev/sdb
[/dev/sdb].write_io_errs 3469
[/dev/sdb].read_io_errs 0
[/dev/sdb].flush_io_errs 0
[/dev/sdb].corruption_errs 0
[/dev/sdb].generation_errs 0
# btrfs device stats /dev/sdc
[/dev/sdc].write_io_errs 3601
[/dev/sdc].read_io_errs 2
[/dev/sdc].flush_io_errs 0
[/dev/sdc].corruption_errs 0
[/dev/sdc].generation_errs 0
# btrfs device stats /dev/sdd
[/dev/sdd].write_io_errs 4335
[/dev/sdd].read_io_errs 3
[/dev/sdd].flush_io_errs 0
[/dev/sdd].corruption_errs 0
[/dev/sdd].generation_errs 0
Кажется, это довольно много ошибок ввода-вывода, но цифры одинаковы для всех 4 дисков. Это то, что я должен ожидать от USB-флешек? Каждый раз, когда я копирую этот файл, он быстро вызывает чтение моего BTRfs, и я не уверен, как это исправить.