btrfs RAID를 복구 하시겠습니까? 오류 : 기기에 부적절한 ioctl


1

디스크가 8 개인 RAID5 btrfs가 있고 하드 디스크가 죽어 목록에서 사라졌습니다.

이제 제거하려고 시도했지만 오류가 발생했습니다.

ERROR: error removing the device '/dev/sdb' - Inappropriate ioctl for device

에서 자동 마운트를 비활성화 한 후 /etc/fstab시스템을 종료하고 결함이있는 드라이브를 교체 한 후 다른 오류로 인해 트립 된 경우를 대비하여 컨트롤러를 재설정하기 위해 시스템을 재부팅하여 다른 디스크가 모두 다시 손상되었습니다. 교체 디스크 /dev/sdd대신에 교체 디스크가되었습니다 sdb.

달리는 btrfs fi show -d것은 이것을 산출했습니다 :

Label: 'store'  uuid: ...
        Total devices 8 FS bytes used 5.27TiB
        devid    2 size 1.36TiB used 784.63GiB path /dev/sdb
        devid    3 size 1.36TiB used 784.63GiB path /dev/sdc
        devid    4 size 1.36TiB used 784.63GiB path /dev/sde
        devid    5 size 1.36TiB used 784.63GiB path /dev/sdf
        devid    6 size 1.36TiB used 784.63GiB path /dev/sdg
        devid    7 size 1.36TiB used 784.63GiB path /dev/sdh
        devid    8 size 1.36TiB used 784.63GiB path /dev/sdi
        *** Some devices missing

Btrfs v3.12

이제 시도 btrfs device add /dev/sdd /mnt/x했지만

ERROR: error adding the device '/dev/sdd' - Inappropriate ioctl for device

지금 무엇? RAID를 복원하거나 마운트하려면 어떻게해야합니까?

마운트조차 할 수 없습니다. 시도 mount [-t btrfs] -o degraded /dev/sdb /mnt/x하고 mount [-t btrfs] -o degraded,device=/dev/sdb,[...] /dev/sdb /mnt/x( [...]물론 장치 사양입니다) :

mount: wrong fs type, bad option, bad superblock on /dev/sdb,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

커널 3.13.0-36-generic x64가 포함 된 Ubuntu 14.04 상자입니다.

답변:


0

이것은 "완전한"답변은 아니지만 BTRFS RAID 10에서 동일한 문제가 발생 했습니다 . 완전히 고장난 장치를 제거하려면 먼저 성능 저하 모드에서 어레이를 온라인 상태 로 만들어야 합니다 .

btrfs 장치 삭제는 장치를 온라인으로 제거하는 데 사용됩니다. 파일 시스템의 다른 장치로 제거되는 장치에서 사용중인 모든 범위를 재분배합니다.

그렇지 않으면 계속 메시지가 나타납니다.

오류 : 장치 '/ dev / sdd'추가 오류-장치에 부적절한 ioctl

내가 바라는 것은 마운트 명령이 잘못되었다는 것입니다. 어레이의 장치 중 하나 와 마운트 할 경로 를 나열하기 만하면 됩니다. 예를 들면 다음과 같습니다.

sudo mount -o degraded /dev/sda /raid10

... 어디 에서 어레이 /dev/sda작동 장치 중 하나였습니다 . 내가 모든 장치를 나열하려고 시도했을 때 :

sudo mount -o degraded -t btrfs\
/dev/sda \
/dev/sdb \
/dev/sdc1 \
/dev/sdd \
/dev/sde \
/dev/sdf \
/raid10

... 명령이 실패합니다.

어레이를 마운트 한 후에 sudo btrfs device delete missing /raid10는 어레이를 자체 정렬하는 동안 실행 하고 오랫동안 기다리십시오. 어레이를 장착 할 수 없으면 할 수있는 일이 확실하지 않습니다. BTRFS RAID 5가 BTRFS RAID 1/10만큼 오래 사용되지 않았기 때문에 실제로 하나의 드라이브 대신 두 개의 드라이브가 고장 났거나 BTRFS RAID 5에 더 많은 문제가있을 수 있습니다.


최신 커널과 최신 btrfs 도구로 인해 성능이 저하 된 구성에서 장치를 마운트 및 제거하는 데 따른 이러한 문제가 해결되었지만이를 확인하지 않았습니다. 나는 그 줄을 따라 무언가를 많이 읽은 것을 읽은 것을 기억합니다. 어쨌든 ZFS의 대안으로 btrfs에 대한 신뢰를 잃었습니다. 그것은 단지 YAFS XP입니다. 또 다른 파일 시스템이며 수십 년 동안 실험했습니다.
Archimedix

@Archimedix 재미 있군요. 내 대답을 쓰는 동안 나는 BTRFS의 안정성에 대해 이야기하고 각각의 장단점을 가진 ZFS 로의 전환에 대한 유혹에 대해 이야기했지만 건설적인 것으로 보이지 않을 것이라고 생각하지 않았습니다. 그래도 나는 당신에게 동의합니다; ZFS를 사용할 있다면 그렇게하십시오.
Programster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.