Я переносил данные с диска на новый. Тем не менее, новый Seagate IronWolf 12Tb имеет проблемы (может быть слишком чувствительным к выходному напряжению). Тем не менее операция «Заменить» останавливается на сообщении, которое я не потратил на это время.
Поэтому мне пришлось перезагрузиться, чтобы удалить диск Seagate. Я выполняю проверку btrfs на исходном диске, который заканчивается без ошибок, останавливаю сервер, удаляю диск de 12Tb и перезагружаюсь ...
С ошибкой загрузки, поскольку мое устройство btrfs не будет монтироваться с:
mount: wrong fs type, bad option, bad superblock on /dev/sdd1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
Поэтому я выполняю (как и следовало): dmesg | Хвост и получить:
[ 2833.182505] BTRFS info (device sdd1): disk space caching is enabled
[ 2833.182515] BTRFS info (device sdd1): has skinny extents
[ 2833.321953] BTRFS warning (device sdd1): cannot mount because device replace operation is ongoing and
[ 2833.321962] BTRFS warning (device sdd1): tgtdev (devid 0) is missing, need to run 'btrfs dev scan'?
[ 2833.321969] BTRFS error (device sdd1): failed to init dev_replace: -5
[ 2833.339466] BTRFS: open_ctree failed
Что ж, я согласен с ситуацией, однако для "btrfs replace cancel" требуется точка монтирования. И система отказывается монтировать ... собака смотрит на свой хвост.
usage: btrfs replace cancel <mount_point>
Я сделал много поиска и не нашел никакого жизнеспособного решения. Я ищу "операция замены продолжается", и я надеюсь найти страницу с исходным кодом: dev-replace.c, где, если найден этот блок кода:
/*
* allow 'btrfs dev replace_cancel' if src/tgt device is
* missing
*/
if (!dev_replace->srcdev &&
!btrfs_test_opt(dev_root, DEGRADED)) {
ret = -EIO;
pr_warn("btrfs: cannot mount because device replace operation is ongoing and\n" "srcdev (devid %llu) is missing, need to run 'btrfs dev scan'?\n",
(unsigned long long)src_devid);
}
if (!dev_replace->tgtdev &&
!btrfs_test_opt(dev_root, DEGRADED)) {
ret = -EIO;
pr_warn("btrfs: cannot mount because device replace operation is ongoing and\n" "tgtdev (devid %llu) is missing, need to run btrfs dev scan?\n",
(unsigned long long)BTRFS_DEV_REPLACE_DEVID);
}
Не является небольшим советом, что "официальная" причина ошибки заключается в том, что объем btrfs ухудшается. Надеюсь, я читал эту страницу в то же время: используя Btrfs с несколькими устройствами, где я читал:
Замена неисправных устройств
Использование btrfs заменить
Если у вас есть устройство, которое находится в процессе сбоя или вышло из строя в массиве RAID, вы должны использовать команду btrfs replace, а не добавлять новое устройство и удалять отказавшее. Это более новая методика, которая работала для меня, когда добавление и удаление устройств не помогали, однако, может быть полезно проконсультироваться со списком рассылки irc канала перед попыткой восстановления.
Сначала перечислите устройства в файловой системе, в этом примере у нас есть одно отсутствующее устройство, которое мы заменим новым диском того же размера. В следующем выводе мы видим, что последний номер устройства (который отсутствует) - это устройство 6:
enter code here
user@host:~$ sudo btrfs filesystem show
Label: none uuid: 67b4821f-16e0-436d-b521-e4ab2c7d3ab7
Total devices 6 FS bytes used 5.47TiB
devid 1 size 1.81TiB used 1.71TiB path /dev/sda3
devid 2 size 1.81TiB used 1.71TiB path /dev/sdb3
devid 3 size 1.82TiB used 1.72TiB path /dev/sdc1
devid 4 size 1.82TiB used 1.72TiB path /dev/sdd1
devid 5 size 2.73TiB used 2.62TiB path /dev/sde1
*** Some devices missing
Это не моя точная ситуация, так как у меня нет "*** Некоторые устройства отсутствуют", однако это довольно близко. Я прочитал следующее:
Если устройство присутствует, тогда проще определить требуемый числовой идентификатор устройства.
Перед заменой устройства вам нужно смонтировать массив, если у вас отсутствует устройство, вам нужно будет использовать следующую команду:
sudo mount -o degraded /dev/sda1 /mnt
Здесь это был способ смонтировать деградированные btrfs, чтобы отменить прерванную операцию замены.