비활성 RAID 장치를 다시 작동시키는 방법? 후 RAID1 장치 ( /dev/md_d0*)가

부팅 한 후 RAID1 장치 ( /dev/md_d0*)가 때때로 웃긴 상태가되어 마운트 할 수 없습니다.

* 원래 /dev/md0는 만들었지 만 어떻게 든 변경되었습니다 /dev/md_d0.

# mount /opt
mount: wrong fs type, bad option, bad superblock on /dev/md_d0,
       missing codepage or helper program, or other error
       (could this be the IDE device where you in fact use
       ide-scsi so that sr0 or sda or so is needed?)
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

RAID 장치가 어떻게 든 비활성화 된 것으로 보입니다 :

# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5]
                [raid4] [raid10]
md_d0 : inactive sda4[0](S)
      241095104 blocks

# mdadm --detail /dev/md_d0
mdadm: md device /dev/md_d0 does not appear to be active.

질문은 장치를 다시 활성화하는 방법입니다 (을 사용하여 mdmadm추정합니다)?

(다른 경우에는 부팅 후 정상적으로 작동하며 문제없이 수동으로 마운트 할 수 있지만 다음과 같은 경우에도 자동으로 마운트되지는 않습니다 /etc/fstab.

/dev/md_d0        /opt           ext4    defaults        0       0

보너스 질문 : 부팅시 RAID 장치가 자동으로 마운트되도록하려면 어떻게해야 /opt합니까? )

이것은 Ubuntu 9.10 워크 스테이션입니다. 이 질문에서 내 RAID 설정에 대한 배경 정보 .

편집 : 내 /etc/mdadm/mdadm.conf모습은 이렇습니다. 나는이 파일을 최소한 손으로 건드리지 않았습니다.

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR <my mail address>

# definitions of existing MD arrays

# This file was auto-generated on Wed, 27 Jan 2010 17:14:36 +0200

에서 /proc/partitions마지막 항목 인 md_d0장치가 다시 활성화 될 일 때, 재부팅 후, 지금은 적어도. (사용하지 않을 때 동일한 지 확실하지 않습니다.)

해결 : Jimmy Hedman이 제안한 대로 다음과 같은 결과를 얻었습니다 mdadm --examine --scan.

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=de8fbd92[...]

에 추가 /etc/mdadm/mdadm.conf하여 주요 문제를 해결 한 것으로 보입니다. 대신에 다시 /etc/fstab사용하도록 변경 하면 RAID 장치도 자동으로 마운트됩니다!/dev/md0/dev/md_d0



답변

보너스 질문 :

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

답변

/etc/mdadm/mdadm.conf리눅스를 재부팅 할 때 어레이를 마운트하려면 어레이를 수동으로 추가해야한다는 것을 알았 습니다. 그렇지 않으면 나는 당신이 여기있는 것을 정확하게 얻습니다- md_d1비활성 장치 등

conf 파일은 다음과 같이 보여야합니다. 즉 ARRAY, 각 md 장치마다 한 줄 입니다. 내 경우에는이 파일에서 새 배열이 누락되었지만 나열 된 경우 문제의 해결 방법이 아닐 수 있습니다.

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d

md-device 당 하나의 배열을 추가하고 위에 포함 된 주석 뒤에 또는 해당 주석이없는 경우 파일 끝에 추가하십시오. 다음을 수행하여 UUID를 얻습니다 sudo mdadm -E --scan.

$ sudo mdadm -E --scan
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=f10f5f96:106599e0:a2f56e56:f5d3ad6d
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=aa591bbe:bbbec94d:a2f56e56:f5d3ad6d

보시다시피 스캔 결과의 결과를 파일로 복사하면됩니다.

나는 우분투 데스크탑 10.04 LTS를 실행하고 있으며,이 동작이 우분투 서버 버전과 다르다는 것을 기억하는 한, 오래 전에 서버에서 md-devices를 만들었을 때 잘못되었을 수 있습니다. 내가 방금 옵션을 놓친 것일 수도 있습니다.

어쨌든 conf-file에 배열을 추가하면 트릭을 수행하는 것처럼 보입니다. 나는 몇 년 동안 아무런 문제없이 위의 습격 1과 5를 습격했습니다.


답변

경고 : 우선 아래 ( “–force”사용으로 인해)가 위험 해 보인다고 말하고 복구 할 수없는 데이터가있는 경우 다음 중 하나를 시도하기 전에 관련된 파티션의 복사본을 만드는 것이 좋습니다. 아래 것들. 그러나 이것은 나를 위해 일했습니다.

어레이가 비활성으로 표시되는 것과 같은 문제가 있었으며 여기에서 다른 사람들이 제안한 “mdadm –examine –scan> /etc/mdadm.conf”를 포함하여 아무것도 수행하지 않았습니다.

필자의 경우 드라이브 교체 후 RAID-5 어레이를 시작하려고 할 때 (더러움을 통해 dmesg) 더러워 졌다고 말합니다 .

md/raid:md2: not clean -- starting background reconstruction
md/raid:md2: device sda4 operational as raid disk 0
md/raid:md2: device sdd4 operational as raid disk 3
md/raid:md2: device sdc4 operational as raid disk 2
md/raid:md2: device sde4 operational as raid disk 4
md/raid:md2: allocated 5334kB
md/raid:md2: cannot start dirty degraded array.

에서 비활성으로 표시되도록하기 /proc/mdstat:

md2 : inactive sda4[0] sdd4[3] sdc4[2] sde4[5]
      3888504544 blocks super 1.2

교체 한 드라이브를 제외하고 모든 장치에 동일한 이벤트가 있음을 발견했습니다 ( /dev/sdb4).

[root@nfs1 sr]# mdadm -E /dev/sd*4 | grep Event
mdadm: No md superblock detected on /dev/sdb4.
         Events : 8448
         Events : 8448
         Events : 8448
         Events : 8448

그러나 어레이 세부 정보는 5 개 장치 중 4 개를 사용할 수 있음을 보여줍니다.

[root@nfs1 sr]# mdadm --detail /dev/md2
/dev/md2:
[...]
   Raid Devices : 5
  Total Devices : 4
[...]
 Active Devices : 4
Working Devices : 4
[...]
    Number   Major   Minor   RaidDevice State
       0       8        4        0      inactive dirty  /dev/sda4
       2       8       36        2      inactive dirty  /dev/sdc4
       3       8       52        3      inactive dirty  /dev/sdd4
       5       8       68        4      inactive dirty  /dev/sde4

위의 내용은 “상태”열의 메모리에서 가져온 것이므로 스크롤 백 버퍼에서 찾을 수 없습니다.

배열을 중지 한 다음 다시 어셈블하여이 문제를 해결할 수있었습니다.

mdadm --stop /dev/md2
mdadm -A --force /dev/md2 /dev/sd[acde]4

이 시점에서 어레이는 5 개의 장치 중 4 개로 실행되어 교체 장치를 추가 할 수 있었고 다시 구축 할 수있었습니다. 아무 문제없이 파일 시스템에 액세스 할 수 있습니다.


답변

FStab의 오류로 인해 서버가 부팅되지 않는 Ubuntu 10.04 관련 문제가 발생했습니다.

위의 솔루션에서 언급 한대로이 명령을 실행했습니다.

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

“mdadm –examine –scan”의 결과가 “/etc/mdadm/mdadm.conf”에 추가됩니다.

제 경우에는 다음과 같습니다.

ARRAY /dev/md/0 metadata=1.2 UUID=2660925e:6d2c43a7:4b95519e:b6d110e7 name=localhost:0

이것은 fakeraid 0 입니다. 자동 마운트를위한 / etc / fstab의 명령 은 다음과 같습니다.

/dev/md0 /home/shared/BigDrive ext3 defaults,nobootwait,nofail 0 0

여기서 중요한 것은 “nobootwait”와 “nofail”이 있다는 것입니다. Nobootwait는 부팅을 방해하는 시스템 메시지를 건너 뜁니다. 제 경우에는 이것이 원격 서버에 있었기 때문에 필수적이었습니다.

이것이 일부 사람들에게 도움이되기를 바랍니다.


답변

당신은 당신의 MD 장치를 활성화 할 수 있습니다

mdadm -A /dev/md_d0

RAID 멤버 중 하나가 발견되거나 비슷한 문제가 발생하기 전에 일부 시작 스크립트가 너무 빨리 시작된다고 가정합니다. 빠르고 더러운 해결 방법으로이 행을 /etc/rc.local에 추가 할 수 있어야합니다.

mdadm -A /dev/md_d0 && mount /dev/md_d0

편집 : 분명히 /etc/mdadm/mdadm.conf에 여전히 이전 구성 이름이 포함되어 있습니다. 이 파일을 편집하고 md0의 발생을 md_d0으로 바꾸십시오.


답변

비슷한 문제가 발생했습니다 … 관련 장치 파티션을 키운 후에 서버가 md2를 마운트하지 않습니다. 이 스레드를 읽었을 때 md2 RAID 장치에 새로운 UUID가 있고 시스템이 이전 장치를 사용하려고한다는 것을 알았습니다.

제안한대로 …에서 ‘md2’출력 사용

mdadm --examine --scan

/etc/mdadm/mdadm.conf이전 UUID 줄을 편집 하여 위 명령의 출력으로 바꾸면 문제가 해결되었습니다.


답변

당신이 무언가를 /dev/md[012346789}하는 척 하면로 이동합니다 /dev/md{126,127...}.
/dev/md0에 계속 장착 /dev/md126하거나 /dev/md127다음을 수행해야합니다.

언 마운트 /dev/md127
또는 언 마운트 /dev/md126.

시스템을 중지하지 않고 명령 및 일부 응용 프로그램을 실행할 수 있도록 일시적입니다.