스왑과 RAID-1이 혼합되어야합니까?


9

스왑 공간에 사용되는 작은 RAID-1 어레이가있는 상자가 있습니다. 시스템의 다른 모든 파티션에 대해 미러를 설정 한 이후에만이 작업을 수행했습니다.

오늘 저는 이 질문을 읽었으며 "RAID-1 이상 / 권장 가능한 스왑이 있습니까?"

답변:


17

RAID 1에서 스왑을 해제하지 않아야합니다.

때때로 RAID 1을 교체하는 것이 덜 중요하지만 일반적으로 도움이되며 종종 필요 합니다. 이미 RAID 1을 사용하고 있다면 고의로 스왑을 다른 곳에 두어야 할 이유가 거의 없습니다.

RAID 1에서 스왑이 더 잘 수행 될 수 있음

RAID 1의 SWAP는 RAID 외부의 단일 스왑 파티션보다 성능이 좋을 것으로 예상되지만 두 개의 스왑은 같은 우선 순위로 설정되지 않았습니다.

모든 데이터를 두 디스크에 모두 기록해야하므로 RAID 1에 쓰는 것이 단일 디스크에 쓰는 것보다 속도가 느린 경우가 있습니다. 종종 속도는 느려지지 않습니다. 일반적으로 속도 저하는 무시할 수 있습니다. 동일한 IDE 컨트롤러에 두 디스크 중 하나의 RAID 1이있는 경우 속도가 느려집니다. 그러나 한 디스크에 액세스해도 다른 디스크에 대한 액세스 속도가 느려지지 않으면 RAID 1에 쓰는 속도가 크게 느려지지 않습니다.

하나의 디스크가 읽기에 의해 점유되면 다른 디스크에서 더 많은 데이터를 읽을 수 있기 때문에 RAID 1에서 읽기는 거의 항상 단일 디스크에서 읽는 것보다 빠릅니다. 두 개의 드라이브로 구성된 RAID 1 에서 읽는 것은 단일 드라이브에서 읽는 것 보다 거의 두 배 빠릅니다 .

두 개의 개별 스왑 파티션을 RAID 1 (또는 다른 RAID)의 단일 스왑 파티션과 비교하는 테스트는 없습니다. 단일 스왑 파티션이 RAID 1스왑보다 성능이 우수하다고 생각할 이유가 없습니다 . 별도의 디스크에 두 개의 스왑이있는 경우 상황이 더 복잡합니다.

  • 에서 스왑에 우선 순위가 다른 /etc/fstab경우 별도의 페이지가 스왑됩니다. 동일한 페이지가 한 번에 둘 다로 바뀌지 않습니다. 관련없는 스왑 된 데이터에 동시에 액세스하는 경우 두 개의 스왑이 더 빠를 것으로 예상되지만 단일 페이지에 액세스하는 경우에는 느려질 것입니다.

  • 스와프가 동일한 우선 순위가 주어지면 /etc/fstab, (심지어 하나의 페이지에서) 데이터를 스트라이프됩니다 . 이는 RAID 0과 비슷하며 스왑을 RAID 1에 배치하는 것보다 성능이 훨씬 우수합니다.

    이론적으로 하드웨어 RAID 1을 사용하는 경우 소프트웨어 스트라이핑의 효율성이 떨어질 수 있지만 스왑에서 읽는 것이 압도적으로 훨씬 일반적인 응용 프로그램이없는 경우 비 RAID 소프트웨어 스트라이프 스왑은 스왑 파티션보다 성능이 뛰어납니다. RAID 1에서.

    (커널이 여러 스왑 파티션간에 스왑 된 데이터를 스트라이핑 할 수 있으므로 스왑 용으로 만 소프트웨어 RAID 0을 설정할 이유가 없습니다.)

RAID 1 성능에 대한 자세한 정보 는 Wikipdia 기사 "표준 RAID 레벨" 의이 섹션 을 참조하십시오 .

스트라이프 스왑에 대한 중요한 정보를 제공 한 gertvdijk 에게 감사합니다 .

당신은 정말 RAID에 스왑이 필요할 수 있습니다 1

RAID 1에서 스왑이 필요한지 여부는 처음에 RAID 1이 필요한 이유에 따라 다릅니다. 스왑의 데이터는 일반적으로 변동성 이 높으며 데이터 손실이 일반적 으로 자산 손실을 의미하지는 않습니다. 하나.:

  1. RAID의 한 가지 장점 (RAID 0 제외)은 드라이브에 장애가 발생하면 컴퓨터의 실행 속도가 다소 느려진다는 것입니다. 스왑이 활성화 된 경우 거의 항상 디스크로 페이지를 스왑 한 프로그램이 실행중인 경우 스왑 파티션 (유일한 스왑 파티션이든 아니든)을 포함하는 드라이브에 오류가 발생하며 중복이 없습니다. 백업하면 시스템이 즉시 작동을 멈 춥니 다 (스왑이 사용되는 방식에 따라 재부팅 할 때까지 완전히 사용할 수 없음). 머신을 프로덕션 서버 또는 다른 중요한 작업으로 사용하는 경우 다운 타임이 발생 합니다.

    일반적으로 발생하는 단일 불리한 이벤트 (드라이브 하나 실패)로 인한 총 스왑 실패를 허용 할 수있는 경우 RAID 1을 사용하는 이유를 스스로에게 문의해야합니다 . 당신은 좋은 대답을 할 수 있습니다 ... 그리고 당신은하지 않을 수 있습니다. RAID (RAID 0 제외)는 디스크 장애를 방지하지만 RAID는 백업 솔루션이 아닙니다 . RAID의 파일을 변경하거나 삭제하거나 맬웨어가 RAID의 시스템을 감염시키는 경우, 모든 곳에서 즉시 변경이 이루어집니다. RAID는이를 복구 할 수 없습니다.

    중복이 아닌 백업 이 필요한데 아직 안정성이 높고 쉽게 액세스 할 수있는 백업이없는 경우 드라이브 중 하나를 RAID에서 완전히 꺼내 백업에 사용해야합니다. 물론, 오프 사이트 백업이 필요할 수도 있습니다.

  2. 컴퓨터를 최대 절전 모드로 전환하면 (즉, 디스크 일시 중단) RAM의 내용이 스왑 파티션에 복사됩니다 . 따라서 디스크 장애가 발생했을 때 컴퓨터가 최대 절전 모드 인 경우 스왑 파티션을 잃어 실제로 데이터를 잃을 수 있습니다.


좋은 답변입니다, @Eliah. RAID-1에 대한 저의 동기는 과거에 디스크 장애로 인해 깨어졌습니다. 백업으로 인해 데이터가 손실되지 않았지만 여전히 새 디스크를 넣고 기계를 재 구축해야하므로 시간이 걸립니다. 이 방법으로 여전히 성능이 저하 된 어레이에서 작업 설정을 유지하고 어레이를 재구성하기 위해 새 디스크를 넣을 수 있습니다.
LRE

@LRE RAID는 데이터 손실의 원인이 드라이브 오류 일 때 백업처럼 작동합니다. 이는 RAID에 완벽하게 사용 가능 하지만 데이터 손실의 다른 모든 원인 (일반적인 것)을 방지하기 위해 별도의 백업이 있는지 확인하십시오 .
Eliah Kagan

"RAID 1의 스왑이 더 나은 성능을 발휘할 것 같습니다" 는 사실이 아닙니다. 참조 이 wiki.kernel.org 페이지 : "당신은 단지 그들에게는 / etc / fstab에 파일에 동일한 우선 순위를 부여하면 커널 자체가 여러 장치에 교환 스트라이프 수 있습니다." 내가 알 수있는 한 RAID 위에 스왑을 두는 것은 순전히 가용성입니다.
gertvdijk

@gertvdijk 감사합니다. 그 정보를 통합하기 위해 편집했습니다. RAID 1의 스왑이 더 나은 성능을 발휘할 것이라는 의도는 단일 스왑 파티션 (RAID가 아닌)보다 성능이 좋을 것입니다. 나는 주장을 좁히고 세부 사항을 추가했습니다.
Eliah Kagan

@EliahKagan, 예, 이해합니다. 백업을 가지고 있습니다 (그리고 과거에 숨겨둔 것을 저장했습니다). RAID-1이 백업을 칭찬합니다
LRE

3

Ubuntu Server 설명서의 고급 설치 섹션에서는 소프트웨어 RAID 1 어레이에서의 설치에 대해 설명합니다. 내가 볼 수 있듯이 RAID에서도 스왑 파티션을 만들므로 거의 "권장"레이아웃입니다.

그러나 이론적으로 볼 때 스왑 파티션에 RAID 1을 사용하면 "일반"파티션에 비해 이점이 적을 수 있습니다. 스왑 파티션의 데이터는 다소 변동성이 적으므로 많은 데이터를 잃을 가능성이 줄어 듭니다. 스왑 파티션이 갑자기 실패하면 프로세스가 중단되거나 시스템이 재부팅 될 수 있지만 디스크 오류가 발생한 경우.

RAID-0 또는 2 개의 별도의 비 RAID 파티션을 사용하면 성능 관점에서 더 합리적 일 수도 있고 그렇지 않을 수도 있습니다. 성능이 걱정된다면 벤치마킹을 수행해야 할 수도 있습니다.

또한이 모든 것이 시스템에 RAM이 많이 제한되어 있고 스왑이 많이 사용되는 경우에만 성능에 영향을 줄 수 있습니다. RAM을 추가하고 스왑을 완전히 제거하는 것은 성능과 안정성 측면에서 최고의 솔루션입니다. :)


RAID 1로 바꾸는 것은 실제로 많은 의미가 있습니다.
Eliah Kagan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.