빈 드라이브로 mdadm RAID 빠른 설정?


9

mdadm을 사용하여 일부 RAID5 디스크를 RAID6으로 다시 작성하고 있습니다. 내가 관심이있는 드라이브에는 데이터가 없습니다.

RAID를 설정하면 모양을 설정하는 데 시간이 걸립니다. 스트라이핑 및 패리티 계산이 필요한 데이터가있을 때이 드라이브를 사용하면 비어 있거나 최소한 비어있는 것으로 간주합니다.

패리티 계산을 건너 뛰고 mdadm에게 슈퍼 블록을 설정하고 수행하도록 지시하는 방법이 있습니까? 그렇지 않으면 이동할 데이터가 없을 때이 시간을 정확히 어떻게 소비합니까?

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec

--assume-clean올바른 RAID 어레이를 포함하는 기존 디스크 세트에서 어레이를 재구성하는 위치에 대해서는 이야기하지 않습니다 . 빈 스트라이프로 간주되고 올바르게 줄무늬로 간주되지 않는 배열에 대해 이야기하고 있습니다.

따라서이 질문을 위해 장치가 0으로 미리 채워져 있다고 말합니다.

답변:


8

사용할 수는 --assume-clean있지만 raid5 (raid6 아님)를 사용하지 않고 디스크에 실제로 0이 가득 차면 패리티 검사를 처음 실행할 때 수정해야 할 오류가 발생하므로이 작업을 수행하지 않아야합니다. 어레이 사용을 시작하기 전에 재 동기화가 완료 될 때까지 기다릴 필요가 없습니다. 그것이 끝날 때까지 백그라운드에서 함께 흔들립니다.


감사합니다 psusi-이것은 문제를 해결하지 못합니다.
Paul

2
@Paul, 음. 그렇습니다. "비어 있음"과 같은 것은 동기화되지 않았거나 동기화되지 않은 것입니다.
psusi

내가 묻는 질문은 다루지 않습니다. 0 블록의 xor는 0입니다. 따라서 mdadm에 공간이 비어 있다고 간주 할 수 있으면 패리티가 매우 빠르게 생성 될 수 있습니다. 패리티는 특정 블록을 쓸 때만 올바르게 계산하면되며, 이전에는 "잘못된"문제가되지 않았습니다. 실제로 디스크를 제로화 할 수도 있습니다.
Paul

2
@Paul, 다시 한번, "빈"과 같은 것은 없습니다. 일반적으로 예, 기록 된 적이없는 줄무늬의 패리티가 잘못되었다는 것은 중요하지 않으므로 디스크가 0으로 가득 차 있지 않은 경우에도-가정 청소를 사용하여 벗어날 수 있지만 잘못된 패리티는 mdadm이 패리티 검사를 수행 할 때 감지 및 수정됩니다.
psusi

2
@Paul, "빈"의 의미는 잘 정의되어 있지 않습니다. 대부분의 사람들은이 파일을 사용하여 장치에 파일이나 파일 시스템을 넣지 않았으며 현재 포함되어있는 내용을 알거나 신경 쓰지 않습니다. 디스크가 모두 0으로 가득 차면 --assume-clean이 필요합니다. 디스크가 모두 0이고 패리티를 재 계산하지 않는다는 말이 필요합니다. 언급했듯이 패리티 0은 적어도 raid5 (raid6 아님)에 대해 모든 0의 데이터 디스크에 적합합니다.
psusi

2

소프트웨어 또는 하드웨어 RAID로는이 작업을 수행 할 수 없습니다. 모든 체크섬은 디스크에 기록해야하는데 시간이 걸립니다. 나중에 할 수 있지만 디스크에 쓰지 않은 디스크 부분을 사용하려면 먼저 디스크 부분을 수행해야합니다.

이것은 기본적으로 RAID 시스템과 파일 시스템이 서로에 대해 알지 못하기 때문입니다. ZFS에는 이에 대한 해결책이 있지만 RAID 부분은 파일 시스템과 긴밀하게 통합되어 있습니다. 따라서 RAID 하위 시스템은 실제로 데이터를 저장하는 데 사용되는 디스크 부분과 나중에 사용할 수있는 디스크 부분을 확인한 후 체크섬을 작성합니다.

모든 체크섬을 작성하기 전에 소프트웨어 RAID에 처리 속도를 추가하거나 RAID 사용을 시작하고 나중에 소프트웨어 RAID가이를 처리하도록 할 수 있습니다. 마녀는 @psusi가 쓴 것입니다.


RAID가 어떻게 작동하는지 이해하고, 빈 디스크에서 체크섬으로 발생하는 일을 이해하려고합니다. 디스크에 무언가를 기록 할 때마다 체크섬을 계산해야하므로 데이터가 존재하기 전에이를 계산하는 것은 의미가 없습니다. 이 시나리오에서는 고려해야 할 파일 시스템이 없습니다.
Paul

6
거기에 항상 데이터의 존재. 중요하지 않거나 의미있는 것은 아니지만 모든 부문에는 항상 가치가 있습니다. RAID 구현은 어떤 섹터가 중요한 데이터를 포함하는지 알지 못하므로 모든 섹터를 중요하게 취급하고 패리티를 계산해야합니다.
Wyzard 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.