새로운 md 어레이는 자동 읽기 전용이며 resync = PENDING /dev/md1 -l

다음 명령으로 새 md 배열을 만들었습니다.

mdadm --create /dev/md1 -l 1 -n 2 /dev/sd[ed]1

그러나 이제 /proc/mdstatresync = PENDING 인 배열을 “자동 읽기 전용”으로 표시합니다.

~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sde1[1] sdd1[0]
      976630336 blocks super 1.2 [2/2] [UU]
        resync=PENDING

md0 : active raid1 sdb1[0] sdc1[1]
      1953511936 blocks [2/2] [UU]

unused devices: <none>

이 사이트 에 따르면 문제를 해결할 수 있습니다.

mdadm --readwrite /dev/md1

그리고 그것은 작동합니다 :

~ # mdadm --readwrite /dev/md1
~ # cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sde1[1] sdd1[0]
      976630336 blocks super 1.2 [2/2] [UU]
      [>....................]  resync =  0.0% (54400/976630336) finish=598.2min speed=27200K/sec

md0 : active raid1 sdb1[0] sdc1[1]
      1953511936 blocks [2/2] [UU]

unused devices: <none>

그러나 나는 여전히 여기서 무슨 일이 일어나고 있는지 알고 싶습니다. 그에 대한 실제 정보를 찾을 수 없습니다. 왜 어레이가이 상태로 기본 설정되는지 알고 있습니까?

편집 : 추가 dmesg 출력 :

~ # grep kernel /var/log/syslog.1
Nov 13 10:03:44 iserv kernel: [160446.860113] e1000: eth1 NIC Link is Down
Nov 13 10:04:48 iserv kernel: [160511.017666] e1000: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
Nov 13 20:12:40 iserv kernel: [196982.775186]  sda: sda1
Nov 13 20:12:59 iserv kernel: [197001.598187]  sdd: sdd1
Nov 13 20:13:13 iserv kernel: [197016.344939]  sde: sde1
Nov 13 20:14:05 iserv kernel: [197067.520825] md: bind<sdd1>
Nov 13 20:14:05 iserv kernel: [197067.521263] md: bind<sde1>
Nov 13 20:14:05 iserv kernel: [197067.670215] md/raid1:md1: not clean -- starting background reconstruction
Nov 13 20:14:05 iserv kernel: [197067.670219] md/raid1:md1: active with 2 out of 2 mirrors
Nov 13 20:14:05 iserv kernel: [197067.670246] md1: detected capacity change from 0 to 1000069464064
Nov 13 20:14:05 iserv kernel: [197067.675101]  md1: unknown partition table
Nov 13 20:24:10 iserv kernel: [197672.572128] md: md1 switched to read-write mode.
Nov 13 20:24:10 iserv kernel: [197672.572269] md: resync of RAID array md1
Nov 13 20:24:10 iserv kernel: [197672.572273] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Nov 13 20:24:10 iserv kernel: [197672.572275] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.
Nov 13 20:24:10 iserv kernel: [197672.572280] md: using 128k window, over a total of 976630336k.


답변

어레이가 처음 조립되면 “자동 읽기 전용”모드로 설정됩니다. 커널 (3.10.x) 및 mdadm (3.3)을 사용하여 신속하게 테스트했지만 생성시에는 발생하지 않지만 다른 버전을 실행해야합니다.

그러나 자동 읽기 전용은 오류가 아니며 걱정할 것이 없습니다. 그것의 기본 아이디어는 더 안전하게 만드는 것입니다 --assemble(그리고 지금은 분명히조차도 --create) : 어레이가 읽기 쓰기가 될 때까지 디스크에 아무것도 기록되지 않습니다. (아마도 메타 데이터가 여전히 작성시 작성되었는지는 확실하지 않습니다.)

어레이는 첫 번째 쓰기를 수신하면 자동 읽기 전용에서 읽기 / 쓰기로 자동 전환됩니다. 따라서 계속해서 장치 나 LVM 물리 볼륨 등에서 파일 시스템을 만든 경우 읽기 / 쓰기로 전환하고 동기화를 시작했을 것입니다.

실행해야하는 유일한 이유 mdadm --readwrite는 쓰기를 수행하기 전에 동기화하려는 경우입니다.