윈도 저장소 폴(저장소 공간)의 성능

저장소 공간은 이미 나온지가 꽤 지난 기술이지만 의외로 정보가 없다. 일단 이 글은 저장소 공간을 설정하는걸 설명하는게 목적이 아니기때문에 설정은 패스. 부실하지만 간략한 방법 및 설명은 [이곳 페이지]에서 확인가능.

그래도 저장소 공간을 만들 때 중요한 부분을 설명하자면

  • 단순(복원 없음) – RAID 0에 해당. 디스크 두개 이상이 모두 이어저 하나로 연결된 형태(1테라 + 1테라 => 2테라). 단점은 하드 중 하나라도 고장나면 모든 데이터가 소실된다.
  • 양방향 미러 – RAID 1에 해당. 모든 디스크에 동일하게 데이터를 기록하는 형태(1테라 + 1테라 => 1테라). 두개 이상의 하드에 동일하게 기록하기때문에 구성 된 하드 중 하나만 정상이고 나머지는 망가져도 데이터는 보존된다.
  • 패리티 – RAID 5에 해당. 이건 좀 복잡하다. 단순하게 생각하면 디스크 세개이상을 두개의 용량으로 사용하면서(1테라 + 1테라 + 1테라 => 2테라) 하나의 디스크가 문제있어도 해당 디스크 교채 후 재구성이 가능하다.

그 외 3방향 미러가있지만 패스. HDD가 다섯개 이상 필요하기도하고 이정도로 구성할 사용자가 개념을 알기위해 이걸 볼 이유가 없을것이기때문(…). 첨언을 하자면 저장소 공간은 기본 할당 가능한 용량보다 높게 설정가능하지만 그 용량 을 넘어서 기록 된 데이터 안정성 보장이 안되므로 추천하고싶지않다.

목적이 아닌 서론은 이정도에서 끝. (참고로 아래 내용은 일부 OS의 환경이나 하드웨어에 따라 다를 수 있으니 모든 사용자에 해당하지 않을 수 있다고 본다.)

2019-08-10 추가내용

데이터 유실이 발생된 분도 계셔서 주의를 추가합니다.

분문에 올린 설정 조작은 데이터가 없는 상황에 또는 백업을 해두고 하시기를 바랍니다. 결론적으로 지금까지 윈도에서는 저장소 공간, 인텔 빠른 스토리지 기술, 리눅스에서는 LVM, zfs로 여러가지 소프트웨어 레벨의 RAID-5를 사용해봤지만 현재 윈도 데스크톱에는 HDD를 다 때어내고 시놀로지나스에서 iSCSI를 할당하여 연결하고 리눅스 머신의 zfs만 사용중입니다.

btrfs에서 바로 RAID-5를 사용할 수 있지만 블록 레벨 단위의 파티션이 필요하여 LVM RAID-5위에 btrfs를 돌렸지만 수개월만에 파일시스템 손상이 발생하였으며 저장소 공간, 인텔 빠른 스토리지 기술은 만족할 수 있는 성능이 아니였습니다. (zfs나 btrfs같은 자체적으로 데이터 오류감지 & 수정하는 파일시스템은 레이드 위에 올리면 서로 이것을 하기때문에 충돌을 일으킬 수 있으니 자체 레이드를 사용하기를 추천하기도합니다.)

리눅스환경이 익숙하면 linux on zfs를 사용하거나 아니면 비용을 지불하여 가정용 나스를 사용하시길 추천드립니다. (btrfs의 RAID-5는 쓰기속도 테스트 안해봐서 잘 모르겠으며 linux on zfs는 매우 만족스러운 성능이지만 HDD 구성을 변경하던 중 인식문제가 발생했었기때문에 꼭 여분의 하드를 준비하여 cron등으로 주기적으로 rsync를 하는 환경을 두시길 바랍니다.)

쓰기속도를 어느정도 보장받으면서 윈도에서 소프트웨어 레이드를 사용하려면 공간효율이 나쁘지만 RAID-1을 권합니다.

디스크 공간을 설정하고나서 아래와같이 처절한 속도를 보여주었다. 대체 이건 언제적 미디어 속도지? (그래프 앞부분은 SSD에서 빠르게 읽힌 내용을 메모리에 버퍼로 읽은 부분이므로 실제 쓰기에 해당되는 성능은 아니다.)

이래처럼 작업 관리자의 성능 탭에서 보면 꾸준히 그래프는 9~12MB/s 범위를 유지하고있다. (디스크 전송 속도 그래프의 점선)

구글링으로 삽질해본 결과 성능을 올리는 방법은 PowerProtected 옵션을 활성화하는것이다. 아마도 전원이 나갔을경우에도 데이터 안정성을위해 캐시를 사용하지 않는듯하다. 현재 상태를 확인하려면 장치관리자에(시작 버튼을 우클릭하여 실행가능)서 [디스크 드라이브]의 [Microsoft Storage Space Device]를 더블클릭하여 속성을 열고 [정책] 탭을 열면 확인가능하다.

저장소 공간의 PowerProtected를 True로 변경하면 쓰기 캐싱이 활성화 되며 이렇게 변경하고 파일을 복사하면 아래와같이 그나마 나은 쓰기 속도를 볼 수 있다. (평균은 약 50~60MB/s 정도로 추정.)

작업 관리자의 성능에서 확인하면 아래와같다.

PowerProtected 옵션을 변경하기위해서는 PowerShell을 관리자 권한으로 실행한다. 실행 방법은 윈도 키를 누른 후 Windows PowerShell 입력 후 아래같은 상태에서 컨트롤 + 쉬프트 + 엔터를 누르면 관리자 권한으로 실행가능. (또는 마우스 우클릭 – 자세히 – 관리자 권한으로 실행)

아래 화면처럼 Get-StoragePool을 입력하면 저장소 공간의 정보를 볼 수 있으며, Primordial을 제외한 FriendlyName 항목이 할당한 저장소 공간이다. (대소문자 구분 안하며 탭 키로 일부 자동완성을 사용할 수 있다.)

이제 Set-StoragePool -FriendlyName “이름” -IsPowerProtected $True 명령을 실행하면 쓰기캐시를 활성화 할 수 있다. 혹시나 장치관리자에서 저장소 공간에 할당 된 하드의 캐시를 비활성화 해보았으나 성능이 영 좋지 못하게된다.

구글링으로 확인 된 성능은 [이곳 페이지]에서 직접 확인 가능하며, 아래와같은 성능이 정상인거같다. 즉, 대용량 파일 쓰기는 123MB/s, 읽기는 160MB/s정도.

원래 RAID 5는 쓰기속도가 떨어지는 편이라고 하고 완전한 하드웨어 레이드가 아니라면 더 떨어질 수 밖에 없으니 쓰기 성능은 어느정도 손해를 볼 수 밖에 없으니 이정도로 만족을 해야겠다. 대신 읽기속도는 빠르니 나름 만족 중. (어차피 게임을하면 읽기 속도가 빨라야지 쓰기 속도는 영향 못미치기 때문.)

읽기 속도는 아래처럼 360MB/s가 유지되는것으로 단일하드의 속도대비 225%정도 나오는것으로 보인다.

기본 설정이 좀 구렸지만 그래도 쓸만한거같다. 저장소 공간을 사용하기 이전엔 소프트웨어 레이드를 사용해봤지만 어느순간 레이드가 풀려버리고 리빌드가 안된상태로 단일 하드로만 사용고있던 문제를 몇번 겪어보았기때문에 이번엔 저장소 공간을 구성해보았다. 과연 저장소 공간은 이런 상황이 발생하면 바로 경고 메시지를 띄워줄까? (애초 레이드 구성에 문제가 발생되어도 알림이 떠야하는게 정상일텐데 -_-;)

리눅스는 거의 동일한 LVM이란것이 많이 사용되고있고 사용해보면 한번 구성하면 높은 용량으로 증설하기 위해서는 디스크를 초기화 해야하는 레이드와는 달리 LVM과 저장소 공간은 유동적으로 추가 제거 변경이 가능해서 좋은 기술이라고 생각된다.

암튼 주절주절 글이 되어버렸지만 이쯤에서 저장소 공간의 성능에 관련 된 글 끗!

4 Comments

    블러드슈가

    저장소 공간을 구성하고 나서 하드디스크를 떼어내서 다른 피시에 연결하면 온전히 저장소 풀을 인식하게 될까요?

      iruis

      답글이 많이 늦었습니다 ㅠㅠ 결론부터 말씀드리면 예 입니다. OS 디스크를 포맷해도 문제없이 인식됩니다.

      약 3년정도 전 인텔 RST의 RAID기능을 사용 중 보드가 망가져 상위 모델로 교체한적있습니다. 하드 뽑은상태로 바이오스 SATA를 RST로 변경하고 윈도 설치하면서 RST드라이버 인식시키고 설치가 완료되니 기존 데이터 온전하게 RAID 인식되어있었습니다. 하지만 이건 위험이 따르죠. (보드를 바꾸면 RAID 상태가 유지된다는 보장이 없으니…)

      윈도의 오래된 방법인 소프트웨어 RAID (Regacy or Classic RAID), 저장소 폴의 RAID를 활용하면 윈도 설치중에도 온전하게 레이드가 인식됩니다. (단, 드라이브가 활성화 되어있지않으면 디스크 관리자로 들어가서 해당 드라이브의 좌측 레이블에서 우클릭 후 활성화 해야합니다.) 이쪽를 선호하게 된건 이쪽이 하드웨어를 교체해도, OS를 다시깔아도 하드만 그대로 옮기면 문제없이 레이드를 그대로 쓸 수 있기때문입니다.

      이미 시도하셨거나 해답을 얻었을지도 모르겠지만 늦게나마 답변을 남깁니다. 감사합니다!

    드리머

    Set-StoragePool -FriendlyName “이름” -IsPowerProtected $True – 이 메뉴 사용하니, 사용중이던 저장소가 날아가는군요. 데이터가 모두 날라갔습니다. ㅜㅜ

      iruis

      무어라 해드릴 수 있는 말이 없군요…ㅠㅠ 다른 PC가 있다면 하드를 고스란히 옮겨서 달아보는게 작은 희망일거같은데… 중요한 데이터가 날아가지않으셨기를 바라겠습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

*
*

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.