RaspberryPi 2에서 mdadm을 사용하여 Raid 1을 설정하는 중 오류가 발생했습니다.

RaspberryPi 2에서 mdadm을 사용하여 Raid 1을 설정하는 중 오류가 발생했습니다.

mdadm을 사용하여 두 개의 드라이브(둘 다 2TB, 둘 다 exFAT 포맷, 둘 다 독립 전원 공급 장치 포함)가 있는 RaspberryPi에 RAID 1을 설정하고 있는데 오류가 발생합니다.

불행히도 저는 Linux 및 명령 전문가가 아닙니다.

내가 한 일은 다음과 같습니다.

  • mdadm을 설치하려면 apt-get install mdadm을 사용하세요.
  • 두 개의 장치 찾기 sudo fdisk -l(예: /dev/sda 및 /dev/sdb)
  • RAID 1을 /dev/md0으로 설정sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]1
  • /dev/md0 형식sudo mkfs /dev/md0 -t ext4
  • /dev/md0을 /media/nas에 마운트합니다.sudo mount /dev/md0 /media/nas
  • /etc/fstab 편집/dev/md0 /media/nas ext4 4 0 0
  • /etc/default/mdadm에 AUTOSTART=true를 추가하세요.
  • /etc/samba/smb.conf에서 삼바를 활성화합니다.

모든 것이 잘 진행되고 WinSCP를 사용하여 /media/nas에 파일을 업로드할 수 있습니다.

이제 내 문제는 다음 날 오류 코드 4(추가 오류 텍스트 없음)로 인해 업로드에 실패했습니다. 실행해 보면 sudo fdisk -lsda와 sdb라는 두 개의 장치를 발견합니다. 2000.3GB 크기의 /dev/md0도 있지만 2000.3GB 크기의 /dev/md127도 있습니다.

내가 실행하면 sudo mdadm --detail /dev/md0다음을 얻습니다.

/dev/md0: 버전: 1.2 생성됨: 2018년 1월 5일 금요일 12:23:50 Raid 수준: raid1 어레이 크기: 1953371712(1862.88 GiB 2000.25 GB) 사용된 개발 크기: 1953371712(1862.88 GiB 2000.25 GB) Raid 장치: 총 장치 2개 : 1 내구성: 슈퍼블록은 지속성입니다.

Update Time : Sun Jan  7 14:37:23 2018
      State : clean, degraded

활성장비: 1 작업장비: 1 불량장비: 0 대기장비: 0

       Name : raspberrypi:0  (local to host raspberrypi)
       UUID : 926bc124:2945e335:1e79ab6c:06b12095
     Events : 21

Number   Major   Minor   RaidDevice State
   0       0        0        0      removed
   1       8        1        1      active sync   /dev/sda1

출력은 sudo mdadm --detail /dev/md127다음과 같습니다

/dev/md127: 버전: 1.2 생성: 2018년 1월 5일 금요일 12:23:50 Raid 수준: raid1 어레이 크기: 1953371712(1862.88 GiB 2000.25 GB) 사용된 개발 크기: 1953371712(1862.88 GiB 2000.25 GB) Raid 장치: 총 2개 장치 : 1 지속성 : 슈퍼 블록은 지속성입니다.

Update Time : Sun Jan  7 14:38:47 2018
      State : clean, degraded

활성장비: 1 작업장비: 1 불량장비: 0 대기장비: 0

       Name : raspberrypi:0  (local to host raspberrypi)
       UUID : 926bc124:2945e335:1e79ab6c:06b12095
     Events : 27

Number   Major   Minor   RaidDevice State
   0       8       17        0      active sync   /dev/sdb1
   1       0        0        1      removed

sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]1다음 을 사용하여 RAID를 다시 설정하려고 하면

mdadm: super1.x cannot open /dev/sda1: Device or resource busy mdadm: failed container membership check mdadm: cannot open /dev/sda1: Device or resource busy

RAID를 재설정하는 방법, md127은 어디에서 왔으며 이 오류의 원인은 무엇입니까?

(다시 시작해도 효과가 없습니다)

미리 감사드립니다!

답변1

RAID 어레이가 충돌하는 경우가 발생합니다. 귀하가 제공한 단편적인 출력에 따르면 /dev/sdb1일시적인 결함(Pi의 USB 시스템의 결함일 가능성이 높음)이 발생하여 실패로 표시된 것으로 의심됩니다. 다시 온라인 상태가 되면 Linux md하위 시스템은 이를 알려진 어레이에 속하지 않는 새 RAID 볼륨으로 처리하고 로 설정합니다 /dev/md127.

을 실행하면 sudo mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ab]1운이 좋게도 실패합니다. mdadm --create그냥 달리고 있어안 돼요RAID 문제에 대한 솔루션. 데이터를 파괴할 가능성은 데이터를 복구할 가능성보다 훨씬 높습니다.

이 시점에서 최선의 선택은 아마도 /dev/md127어레이를 파괴 /dev/sdb1하고 /dev/md0.

  1. /dev/md0이것이 실제로 데이터의 라이브 복사본인지 확인하세요 . 출력을 mount확인하여 설치되었는지 확인 /media/nas하고 실행하여 ls /media/nas데이터가 있는지 확인하세요.
  2. /dev/sdb1/dev/md127: 에서 제거한 mdadm /dev/md127 --fail /dev/sdb1다음 mdadm /dev/md127 --remove /dev/sdb1.
  3. /dev/sdb1RAID 멤버처럼 보이지 마세요 : wipefs -a /dev/sdb1.
  4. 다시 넣어 /dev/md0: mdadm /dev/md0 --add /dev/sdb1.
  5. 컴퓨터가 배열을 다시 작성하여 모든 내용을 복사하도록 합니다 /dev/sda1.

앞으로 이런 일이 발생하지 않도록 하려면 에서 배열을 설명하는 항목을 설정하십시오 /etc/mdadm/mdadm.conf. 드라이브가 일시적으로 어레이에서 제외되면 mdadm구성 파일에서 해당 드라이브를 확인하고 (4)단계를 수행할 때까지 기다리게 됩니다.

설정에서 일시적인 결함이 발생하는 습관이 있는 경우 배열에 쓰기 전용 비트맵을 추가하는 것을 고려해 보십시오 mdadm --grow /dev/md0 --bitmap=internal. 비트맵을 업데이트해야 하기 때문에 쓰기 속도가 다소 느려지지만 변경 내용을 한 디스크에서 다른 디스크로 복사하기만 하면 되므로 복구 속도가 크게 빨라집니다. 쓰기 의도 비트맵을 추가하면 --re-add일시적으로 실패한 디스크를 어레이에 다시 넣는 대신 이를 사용할 수 있습니다 --add.

관련 정보