새로운 md 어레이는 자동 읽기 전용이며 resync = PENDING


17

다음 명령으로 새 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.

확인 했습니까 dmesg?
frostschutz

@frostschutz 어제 syslog에 기록 된 dmesg 라인을 시간대 UTC + 1로 추가했습니다 (더 이상 원래 dmesg에 액세스 할 수 없으므로 시스템을 재부팅했습니다). 내가 알 수있는 한 평범한 것은 없습니다.
Martin von Wittich

어떤 커널 및 mdadm 버전이 있는지 궁금합니다.
derobert

리눅스 호스트 3.10-0.bpo.3-686-PAE @derobert # 1 SMP 데비안 3.10.11-1 ~ bpo70 + 1 (2013년 9월 24일)는 i686 GNU / 리눅스
마틴 폰 WITTICH

@derobert mdadm-v3.2.5-2012 년 5 월 18 일, Debian wheezy –
Martin von Wittich

답변:


25

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

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

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

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


흠 ... 그러면 첫 번째 쓰기 직후에 동기화가 시작되어 자동 읽기 전용으로 동기화가 지연됩니까?
Martin von Wittich

@MartinvonWittich 예, 첫 번째 쓰기 직후 동기화가 시작됩니다. 그래서 그래, 그것은 그것 - 일반적으로 지연 몇 초, 당신은 일반적으로 뭔가 (할 것 같은 pvcreate, mkfs곧 후 새로운 배열 등) --create.
derobert

"다른 버전을 실행해야합니다"는 추측입니까? 최신 버전을 사용하고 있으며 이전 버전의 경우이 동작을 기억할 수 없습니다. @MartinvonWittich가 그가 우리에게 말하지 않은 것을 만들지 않는 한 (생성 후 재부팅과 같은), 그것은 전혀 일어난 일을 설명하지 않습니다.
frostschutz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.