RAID-1 및 정기적 인 드라이브 제거 (RAID-1을 백업 수단으로 사용) 작업에 충분합니까 아니면

mdadm의 2 개의 파티션으로 구성된 RAID-1 (노트북의 내부 HDD에 하나, 외부 HDD에 하나)을 사용하는 것이 좋습니다.

두 드라이브가 모두있는 경우 시스템이 RAID-1로 작동하고 외부 HDD가 분리되어 있으면 일반 볼륨 (degradad RAID-1)으로 작동하고 외부 HDD를 다시 연결하면 빠르게 재 동기화됩니다.

질문 :

  1. 좋은 생각입니까?
  2. 쓰기 의도 비트 맵이이 작업에 충분합니까 아니면 다른 것이 필요합니까?
  3. 파일 시스템 수준에서 수행하는 것을 고려해야합니까 (3b. 그렇다면 어떻게?).

기본 요구 사항은 다음과 같습니다.

  1. 외장 드라이브를 다시 추가하면 재 동기화됩니다 (해당 파티션을 변경하지 않은 경우).
  2. 쓰기 / 재 동기화 작업 중에 제거하지 않은 경우 제거 된 드라이브에서 다소 일관된 데이터가 나타납니다.

재 동기화 중에 드라이브를 제거하면 데이터가 약간 일치하지 않을 것으로 예상하지만 다시 추가하면 빠른 재 동기화가 완료 될 것으로 예상합니다. 예를 들어 나머지 드라이브가 변경된 사항을 추적하고 (많은 변경이있을 수 있음) 필요한 부분 만 다시 동기화하기를 원합니다.



답변

나는 이것이 좋은 생각이 아니라고 말할 것입니다. 대부분 물리적 / 전기적 드라이브 문제만으로 보호 할 수 있으며 새로 고치는 동안 매우 취약한 백업 사본이 하나만 있습니다.

다른 드라이브 또는 일반적으로 컴퓨터에서 오류가 발생하면 재 동기화 중에 주 드라이브가 작동하지 않고 “bakcup”드라이브에 부분적으로 업데이트 된 (즉, 잠재적으로 매우 손상된) 파일 시스템이있을 수 있습니다. 대부분의 백업 솔루션에 여러 백업이 포함되는 이유 (다른 업데이트를 수행하는 동안 적어도 하나의 백업을 오프라인으로 (및 바람직하게는 오프 사이트로) 가질 수있는 또 다른 주요 이유)가 있지만 RAID 재 동기화가 하지 인식 특정 파일 시스템 될 것 때문에 부분적인 재 동기화를 보장하기 위해 아무것도 할 수 없습니다 것은 일관성있는 상태 (예를 들어 그렇게에 관련 저널 블록 전에 데이터를 작성하고 동기화 할 수)에 가까운 무엇이든에있는 파일 시스템을 떠난다.

이 방법으로 전체 시스템을 RAIDing하는 경우 쓰기 의도 쓰기 성능이 매우 중요 할 수 있습니다 ( http://blog.ganneff.de/blog/2008/01/30/write-intent-bitmaps 와 같은 게시물 참조). -considere.html ), 쓰기 작업이 많지 않은 RAIDing 파일 시스템 인 경우 걱정하지 않아도됩니다.

이 기술을 사용 sync하는 경우 드라이브를 강제로 꺼내기 전에 실행해야합니다 .

대신 rsync를 사용하여 백업 파일 시스템을 업데이트하는 것을 고려 했습니까? 솔루션 베스트 케이스에서 속도가 느려질 것입니다 (파일 시스템에 많은 파일이 포함되어 있으면 아무 것도 변경되지 않은 경우에도 파일 크기와 날짜의 전체 스캔이 필요하기 때문에 중요 할 수 있음). 일반적으로 충분히 빠르며 확실히 빠릅니다. 이를 결정하기 위해 RAID 드라이버가 필요한 전체 재 동기화.


답변

external_HDD 기반 RAID-1 어레이 아이디어가 작동하는 것처럼 보입니다.

어레이가 성능 저하를 시작하고 쓰기 의도 비트 맵을 사용하여 변경 사항을 추적합니다.

외장 HDD를 연결하면 udev스크립트가 파티션 중 하나가 내 어레이에 적합한 것을 감지하여 추가합니다. 변경 사항이없는 경우 즉시 동기화 한 다음 읽기 액세스 속도를 높입니다.

외장 HDD 연결을 끊으면 (갑자기 제거 포함) 다른 udev스크립트가 드라이브가 제거되고 어레이가 다시 성능 저하됨을 등록합니다.

그러나 쓰기 성능이 눈에 띄게 떨어지지 만이 용도에는 적합합니다.

다른 장점은 다른 용도로 해당 파티션을 임시로 포맷 한 다음 다시 전체 어레이로 배열로 가져올 수 있다는 것입니다.


답변

저널링 등의 최신 파일 시스템이 이러한 위험을 완화 시키지만 제거 된 외장 HDD의 파일 시스템이 마운트 할 수없는 상태에있을 수 있다는 점에서 내가 본 한 가지 문제입니다.

그러나 mdadm을 사용하는 경우 Linux를 사용하는 것으로 가정하고 대신 rsync를 사용하는 것이 좋습니다. 변경된 파일 만 복사되므로 빠르며 외장 HDD에 현재 날짜의 폴더를 생성하고 그 아래에 내부 하드 드라이브의 전체 백업을 생성하지만 파일을 하드 링크하는 스크립트를 가질 수 있습니다 이전 백업이므로 새 데이터에만 공간을 사용합니다. 이렇게하면 내부 HDD에서 삭제 된 파일을 쉽게 복구 할 수 있습니다.