RAID 1은 중복성의 이점을 제공하지만 RAID를 사용하면 어떤 경우에도 불일치(디스크 오류가 아닌 I/O 오류 등)가 발생하는지 이해하려고 합니다.
이것을 이해하기 위해 나는 읽었다.매뉴얼 페이지, 몇 가지 질문이 생겼습니다.
변경 사항은 모든 장치에 동시에 기록됩니다.
(1) 모든 디스크 쓰기가 완료된 후에만 쓰기가 시스템에 다시 승인됩니까(실패로 표시된 디스크 제외)?
RAID1의 경우 [비정상 종료 후 어레이 일관성 유지]에는 첫 번째 드라이브의 내용을 다른 모든 드라이브에 복사하는 작업이 포함됩니다.
(2) 첫 번째 장치에는 최신 쓰기가 포함될 수도 있고 포함되지 않을 수도 있습니다. 따라서 두 번째 최신 디스크의 데이터를 덮어쓸 수 있습니다. (1)에 대한 대답이 '예'라면 이는 문제가 되지 않습니다. 그렇죠?
md 드라이버가 쓰기 오류[...]를 감지하면 즉시 장치를 비활성화하고(결함이 있는 것으로 표시) 나머지 장치에서 작업을 계속합니다.
(3) 쓰기 작업을 계속하기 전(예: 재부팅 후)에 이 정보가 유지됩니까?
(4) WIL(Write Intent Log)은 단지 최적화에 불과합니까, 아니면 데이터 손실이 불가피한 경우에 도움이 됩니까?
다음 시나리오를 고려해보세요.
- sda 및 sdb 장치가 포함된 md0 RAID 1
abc
md0에 쓰기- sdb가 실패하고 결함이 있는 것으로 표시됨
xyz
md0에 쓰기(실제로는 현재 sda)- 시스템이 재부팅되고 그 후에는 sdb만 사용할 수 있습니다(이유가 무엇이든)
- md0에서 읽으면 어떻게 되나요? 무엇을 읽을 것인가?
기본적으로 RAID 1(특히 md)을 사용하면 사용자에게 승인된 쓰기가 손실되고(눈에 띄지 않을 수 있음) 개별 디스크가 전혀 기록되지 않는지(가용성 대 일관성) 이해하고 싶습니다.