![드라이브를 어레이로 조립할 수 없음](https://linux55.com/image/41929/%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%A5%BC%20%EC%96%B4%EB%A0%88%EC%9D%B4%EB%A1%9C%20%EC%A1%B0%EB%A6%BD%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%9D%8C.png)
나는 달렸다
mdadm -A /dev/md0 /dev/sda1 /dev/sdb1
하지만 /dev/sdb1
배열에만 로드됩니다. 동일한 두 드라이브에 더 많은 어레이가 있습니다. 파티셔닝은 매번 실패합니다 sda
. 동기화되지 않았다고 dmesg
말해 주세요 sda
...이것은 복구 CD에 있기 때문입니다. sda
부팅이 되지 않아서 일시적으로 연결을 끊었습니다(하드웨어 측면에서) .
어떻게 진행해야 하나요? 이것이 손상된 드라이브의 원인이 될 수 있습니까? 일전에 추적할 수 없는 이상한 파일 시스템 문제(아마도 전조)에 부딪혔습니다. 누락된 파일이 나중에 마법처럼 다시 나타나는 문제였습니다. 케이블이 누락된 것이 아닐까요?
주요 질문은 드라이브를 다시 동기화하는 방법입니다.
cat /proc/mdstat
Personalities : [raid10]
md3 : active raid10 sda4[1]
955683840 blocks super 1.2 512K chunks 2 far-copies [2/1] [_U]
md2 : active raid10 sda3[1]
10483712 blocks super 1.2 512K chunks 2 far-copies [2/1] [_U]
md1 : active raid10 sda2[1]
10484736 blocks 512K chunks 2 far-copies [2/1] [_U]
md0 : active raid10 sda1[1]
101376 blocks 512K chunks 2 far-copies [2/1] [_U]
unused devices: <none>
고쳐 쓰다
다른 드라이브에서 실행 badblocks
하고 오랫동안 테스트했지만 smartctl
아무런 문제도 발견되지 않았습니다.
출력 요청mdadm -D /dev/md0
(다른 것이 필요하면 md0-3이 있습니다)
/dev/md0:
Version : 0.90
Creation Time : Mon May 31 20:24:14 2010
Raid Level : raid10
Array Size : 101376 (99.02 MiB 103.81 MB)
Used Dev Size : 101376 (99.02 MiB 103.81 MB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Oct 25 07:58:25 2010
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Layout : far=2
Chunk Size : 512K
UUID : 30ffe1d2:f5759995:820bb796:b5530bd2 (local to host slave-iv)
Events : 0.212
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 1 1 active sync /dev/sda1
드라이브에 실제 문제는 보이지 않지만 뭔가 분명히 잘못된 것 같으니 어떻게 해야 할까요?오늘부로 중요한 데이터의 전체 백업이 완료되었습니다.
업데이트 2원본 콘텐츠를 다시 추가하려고 할 때마다 sda
(적어도 삭제하지 않고) 커널 매직 넘버 오류로 인해 부팅 프로세스가 엉망이 됩니다. 커널 버전이 동기화되지 않았기 때문인 것 같습니다. 드라이브는 현재 외부 엔클로저에 있습니다 sdd
. USB를 통해 연결된 경우 드라이브를 다시 추가(재동기화)해야 합니까? 이로 인해 문제가 발생합니까?
df
Filesystem Size Used Avail Use% Mounted on
udev 10M 284K 9.8M 3% /dev
/dev/md1 9.9G 7.0G 2.4G 75% /
shm 3.0G 1.5M 3.0G 1% /dev/shm
/dev/md0 96M 15M 77M 16% /boot
/dev/md2 9.9G 6.5G 3.0G 69% /var
/dev/md3 898G 451G 402G 53% /home
none 1.0G 45M 980M 5% /tmp
/dev/sdb1 992M 36M 956M 4% /media/D4A4-B7C1
각 md 드라이브에는 해당 sda/sdb가 있습니다. 어레이에서 sda 드라이브(또는 드라이브 0)를 뽑아내야 합니다.
답변1
좋습니다. 디스크 중 하나가 현재 어레이에서 활성화되지 않은 것 같습니다. 예를 들어, 현재 열거형 /dev/md0
에서 /dev/sdb1
.
/dev/sdb1
이전 상태로 다시 추가하려면 :
mdadm -a --re-add /dev/md0 /dev/sdb1
데이터가 모두 일치하는지 확인하기 위해 어레이를 다시 확인해야 할 수도 있습니다.
echo check >>/sys/block/md0/md/sync_action
처음부터 이미지를 다시 작성하려면 다음을 수행하십시오.
/dev/sdb1
어레이에서 완전히 제거되었는지 확인하십시오 .
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1
마치 새 디스크인 것처럼 배열에 다시 추가할 수 /dev/sdb1
있도록 구성을 삭제합니다 .mdadm
mdadm --zero-superblock /dev/sdb1
배열에 구성원으로 다시 추가되었습니다 /dev/sdb1
.
mdadm -a /dev/md0 /dev/sdb1
USB 디스크 동기화가 느립니다.
그러나 귀하의 문제는 부트로더가 두 번째 드라이브에 제대로 설치되지 않아 연결 시 부팅이 불가능하다는 것입니다.
시스템이 양호한 구성으로 알려진 드라이브에서 부팅되도록 두 드라이브의 순서를 바꿀 수 있습니다.
일단 실행되어 두 드라이브를 동기화할 수 있게 되면 두 드라이브 모두에 부트로더를 다시 설치해야 합니다. 이렇게 하면 어떤 드라이브가 없거나 먼저 열거되는지에 상관없이 항상 부팅할 수 있습니다.
부트로더를 다시 설치하는 방법에는 여러 가지가 있습니다.
lilo
≥ 22.0을 사용하는 경우 지정boot = /dev/md0
하고 다시 실행하십시오. 이전 lilo 구성을 사용하는 경우 어레이의 각 디스크에 하나씩 두 개의 lilo 구성을 만들고 각 디스크에 별도로 설치하십시오.raid-extra-boot = mbr
/etc/lilo.conf
lilo
lilo
lilo
- Grub을 사용하는 경우
grub-install /dev/sda
및grub-install /dev/sdb
. 실패하면 Grub 쉘을 사용하여 Grub 의 하드 드라이브 번호를setup (hd0)
확인해 보세요.setup (hd1)
cat /boot/grub/device.map