- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 Windows 스토리지 풀(Storage Spaces)에서 물리 디스크 손상으로 인한 오류가 발생했을 때, 데이터 손실을 최소화하면서 안전하게 복구하는 실무 절차를 정리하는 것이다.
1. 스토리지 풀과 물리 디스크 손상 개요
Windows 스토리지 풀(Storage Spaces)은 여러 개의 물리 디스크를 하나의 논리적인 풀로 묶어 가상 디스크를 제공하는 기능이다. RAID와 유사한 개념이지만 소프트웨어 기반으로 동작하며, 미러, 패리티, 단순(Simple) 등 다양한 복원력을 제공한다.
스토리지 풀을 사용하면 디스크 확장과 중복 구성이 편리해지지만, 물리 디스크가 손상되거나 예기치 않게 제거되면 풀 전체가 “경고” 또는 “오류” 상태로 전환되며, 최악의 경우 가상 디스크가 오프라인으로 전환될 수 있다. 따라서 물리 디스크 장애가 발생했을 때는 장애 범위를 정확히 파악한 뒤, 올바른 순서로 복구 절차를 진행해야 한다.
실무에서는 디스크 한 개만 고장 나도 사용자가 당황하여 디스크를 무턱대고 빼거나, 초기화하거나, 새 풀을 만들어버리는 경우가 많다. 이렇게 잘못된 조치가 이어지면 복원 가능한 상황이 빠르게 복구 불가능 상태로 악화되기 때문에, 장애 인지 직후의 첫 대응이 무엇보다 중요하다.
1-1. Storage Spaces 구성 요소 이해
스토리지 풀 장애를 복구하려면 먼저 구성 요소 간 관계를 이해해야 한다.
- 물리 디스크(Physical Disk) : 실제 HDD, SSD, SAS, SATA 디스크를 의미한다.
- 스토리지 풀(Storage Pool) : 여러 물리 디스크를 묶어 하나의 리소스로 관리하는 단위이다.
- 가상 디스크(Virtual Disk, 저장소 공간) : 스토리지 풀 위에 생성되는 논리 디스크이다.
- 볼륨(Volume) : 가상 디스크를 NTFS 또는 ReFS 파일 시스템으로 포맷한 후 드라이브 문자로 마운트한 영역이다.
물리 디스크 장애가 발생하면 가장 아래 계층에서 문제가 시작되고, 스토리지 풀과 가상 디스크, 최종적으로 볼륨까지 영향을 미치게 된다. 복구는 항상 하위 계층부터 상태를 점검하고 순차적으로 상위 계층의 상태를 회복하는 방향으로 접근해야 한다.
1-2. 물리 디스크 손상 시 전형적인 증상
물리 디스크가 손상되거나 제거되면 다음과 같은 증상이 나타나는 경우가 많다.
- 저장소 풀 상태가 “손상됨”, “경고”, “축소된 복원력” 등으로 표시된다.
- 가상 디스크 상태가 “감가됨(Degraded)”, “오류”, “읽기 전용”으로 전환된다.
- 서버 관리자 또는 설정 앱에서 특정 물리 디스크가 “오프라인”, “유실됨”, “예기치 않게 제거됨”으로 표시된다.
- 이벤트 뷰어에 디스크 오류, 스토리지 풀 관련 오류 이벤트가 반복적으로 기록된다.
- 파일 복사 시 속도가 비정상적으로 느려지거나, I/O 오류로 인해 복사가 중단된다.
이와 같은 현상이 한 번이라도 발생하면 이미 디스크의 신뢰성이 크게 떨어진 상태일 수 있으므로, 즉시 백업 확보 및 복구 계획 수립에 들어가는 것이 안전하다.
2. 복구 전 사전 점검 사항
복구 성공 가능성을 판단하려면 현재 구성이 어떤 형태인지, 몇 개의 디스크가 동시에 장애를 일으켰는지, 장애 전후로 어떤 조치가 있었는지를 먼저 파악해야 한다.
2-1. 복제 수준과 장애 디스크 개수 확인
Storage Spaces는 구성 방식에 따라 허용 가능한 장애 디스크 수가 달라진다. 아래 표는 대표적인 구성과 허용 장애 수, 복구 가능성을 정리한 것이다.
| 가상 디스크 유형 | 최소 디스크 수 | 허용 장애 디스크 수(일반적 기준) | 데이터 복구 가능성 |
|---|---|---|---|
| 단순(Simple) | 1개 이상 | 0개 | 디스크 1개라도 손상 시 해당 데이터는 복구가 매우 어렵다. |
| 2방향 미러(2-way mirror) | 2개 이상 | 동일 복제 그룹 내 1개 | 대부분 1개 장애까지는 복구 가능하다. |
| 3방향 미러(3-way mirror) | 5개 이상 | 동일 복제 그룹 내 2개 | 2개까지 장애 발생해도 살아있는 복제본에서 복구 가능하다. |
| 단일 패리티(Parity) | 3개 이상 | 1개 | 1개 디스크 장애까지는 구조적으로 복구 가능하지만, 재구성 시간과 부담이 크다. |
정확한 허용 장애 개수는 풀 구성 방식, 칼럼 수, 업락(Enclosure) 인식 방식 등 세부 설정에 따라 달라질 수 있다. 그러나 단순(Simple) 구성에서 디스크 한 개라도 완전히 손실되면 일반적인 방법으로는 데이터 복구가 매우 어렵다는 점은 변하지 않는다.
2-2. 최신 백업 여부 점검
복구 작업을 시작하기 전, 현재 가지고 있는 백업이 어느 시점까지 유효한지 반드시 확인해야 한다. 백업이 있다면, 스토리지 풀을 무리하게 살리려 하기보다 장애 디스크를 교체한 뒤 새로 구성하고 백업에서 데이터를 복원하는 전략이 더 안전한 경우가 많다.
백업이 없는 경우라면 다음과 같은 원칙으로 접근해야 한다.
- 읽기 전용으로 볼륨을 마운트할 수 있다면, 가능한 한 빠르게 중요한 데이터를 외부 저장장치로 복사한다.
- 복구 시도 과정에서 추가 쓰기를 최소화하여, 파일 시스템 메타데이터 손상을 방지한다.
- 복구 도중 시스템이 멈추거나 전원이 꺼지는 상황을 피하기 위해, 안정적인 전원 환경을 확보한다.
2-3. 장애 전후 조치 기록
이미 누군가가 장애 이후 다음과 같은 작업을 수행했다면, 복구 난도가 크게 상승한다.
- 문제가 된 물리 디스크를 초기화하거나 새 파티션을 생성했다.
- 스토리지 풀에서 해당 디스크를 강제로 제거했다.
- 동일 디스크를 다른 서버에 연결하여 임의로 사용했다.
- 서버나 PC를 반복적으로 강제 종료했다.
가능하면 장애 발생 시점부터 누가 어떤 조작을 했는지 시간 순으로 정리해 두는 것이 좋다. 이후 문제가 복잡해졌을 때, 어떤 시점까지 되돌릴 수 있는지 판단하는 근거가 된다.
3. GUI를 통한 기본 복구 절차
일반적인 데스크톱 Windows 환경에서는 “설정 → 시스템 → 저장소 → 스토리지 풀” 또는 “제어판 → 시스템 및 보안 → 저장 공간”을 통해 Storage Spaces를 관리할 수 있다. Windows Server 환경에서는 서버 관리자와 파일 및 저장소 서비스에서 관리하는 것이 일반적이다.
3-1. 문제 디스크와 풀 상태 확인
먼저 스토리지 관리 화면에서 다음 항목을 확인한다.
- 어떤 스토리지 풀이 “오류”, “경고”, “축소된 복원력” 상태인지 확인한다.
- 각 풀에 속한 물리 디스크 중 “오프라인”, “누락됨”, “예기치 않게 제거됨”으로 표시되는 디스크를 찾는다.
- 가상 디스크의 상태가 “감가됨”, “오류”, “읽기 전용” 중 무엇인지 확인한다.
GUI에서 이미 어떤 디스크가 문제가 있는지 명확하게 보이는 경우, 그 디스크를 곧바로 교체 대상으로 지정할 수 있다. 다만, SSD 캐시나 저널 디스크 등이 별도로 존재하는 구성에서는 어떤 역할의 디스크가 장애인지 정확히 구별해야 한다.
3-2. 물리 디스크 사용 상태 변경(자동 → 제거 대상)
일부 환경에서는 물리 디스크의 사용 용도를 “자동”에서 “제거 예정” 또는 “Retired” 상태로 바꾼 뒤 풀에서 제거해야 한다. GUI에서 제공되는 경우, 문제 디스크를 선택하고 “제거”, “사용 안 함” 등의 메뉴를 통해 제거 플래그를 설정한다.
3-3. 새 물리 디스크 추가 및 복구
디스크 한 개가 물리적으로 손상된 것이 명확하다면, 동일 용량 이상, 속도 특성이 가능한 한 유사한 새 디스크를 준비하여 시스템에 연결한다. 이후 GUI에서 다음 순서대로 진행한다.
- 스토리지 풀에서 “디스크 추가” 또는 “물리 디스크 추가” 메뉴를 선택한다.
- 새로 인식된 물리 디스크를 선택하고, 해당 풀에 편입한다.
- 문제가 된 디스크에 대해 “제거”를 실행하거나, “복구” 또는 “최적화” 기능으로 데이터 재배치를 수행한다.
2방향 미러인 경우 장애 디스크가 1개에 불과하다면, 대부분 이 절차만으로도 가상 디스크 상태가 “정상”으로 되돌아오게 된다. 패리티 구성에서는 재구성 과정 동안 I/O 성능이 크게 저하될 수 있으므로, 야간이나 비사용 시간대에 작업하는 것이 좋다.
4. PowerShell을 활용한 심화 복구 절차
GUI에서 상태가 명확히 보이지 않거나, 특정 디스크가 “알 수 없는 상태”로 보이는 경우에는 PowerShell 명령을 활용하는 편이 더 정확하다. 다음은 대표적인 명령과 활용 예이다.
4-1. 스토리지 풀 및 디스크 상태 확인
관리자 권한 PowerShell을 실행한 뒤, 다음 명령으로 전체 요약 상태를 확인한다.
Get-StoragePool Get-VirtualDisk Get-PhysicalDisk | ft FriendlyName,CanPool,HealthStatus,OperationalStatus,Usage -AutoSize 이 명령으로 각 풀의 상태, 가상 디스크 상태, 물리 디스크의 HealthStatus(Healthy, Unhealthy 등)와 OperationalStatus(OK, Lost Communication, Failed 등)를 한눈에 파악할 수 있다.
4-2. 특정 풀과 가상 디스크 상세 점검
문제가 되는 풀의 이름이 “Storage Pool 1”이라고 가정하면 다음과 같이 보다 자세한 정보를 확인할 수 있다.
$pool = Get-StoragePool -FriendlyName "Storage Pool 1" $pool | Get-PhysicalDisk | ft FriendlyName,SerialNumber,HealthStatus,OperationalStatus,Usage -AutoSize $pool | Get-VirtualDisk | ft FriendlyName,HealthStatus,OperationalStatus,ResiliencySettingName -AutoSize 이 정보로 어떤 물리 디스크가 실제로 장애 상태인지, 가상 디스크가 어떤 복원력 유형(미러/패리티)으로 구성되어 있는지를 정확히 알 수 있다. 동일 모델의 디스크가 여러 개 있는 경우, SerialNumber를 함께 확인해 실제 물리 위치를 구분하는 것이 중요하다.
4-3. 장애 디스크를 제거 대상으로 표시
장애 디스크를 찾았다면, 우선 사용 용도를 “Retired(제거 예정)”로 변경하여 새 디스크로 데이터가 재배치되도록 해야 한다. 예를 들어 FriendlyName으로 디스크를 지정하면 다음과 같다.
$bad = Get-PhysicalDisk -FriendlyName "PhysicalDisk2" Set-PhysicalDisk -InputObject $bad -Usage Retired 이 단계는 GUI에서 제거를 클릭하는 것과 유사한 역할을 하지만, 보다 명시적인 제어가 가능하다.
4-4. 새 디스크를 풀에 추가하고 복구 실행
새 디스크를 장착한 뒤, 다음 명령으로 풀에 추가할 수 있다.
$new = Get-PhysicalDisk | Where-Object CanPool -eq $True Add-PhysicalDisk -StoragePoolFriendlyName "Storage Pool 1" -PhysicalDisks $new 이후 가상 디스크 복구를 위해 다음과 같이 명령을 실행한다.
Get-VirtualDisk -FriendlyName "DataVolume" | Repair-VirtualDisk Optimize-StoragePool -FriendlyName "Storage Pool 1" Repair-VirtualDisk 명령은 미러 또는 패리티 구조를 이용해 장애 디스크에 있던 데이터를 다른 디스크로 재구성한다. Optimize-StoragePool은 풀 내 데이터 배치를 재정렬하여 향후 성능 저하를 줄이는 역할을 한다.
4-5. 더 이상 사용하지 않는 디스크 제거
복구가 완료되고 가상 디스크 상태가 “정상”으로 돌아왔다면, 제거 예정으로 표시된 디스크를 실제 풀에서 제거할 수 있다.
Remove-PhysicalDisk -StoragePoolFriendlyName "Storage Pool 1" -PhysicalDisks $bad Update-StoragePool -FriendlyName "Storage Pool 1" 이 절차를 통해 논리적으로도 해당 디스크는 풀에서 완전히 분리되며, 이후 물리적으로 시스템에서 제거해도 된다.
5. 물리 디스크 실제 교체 및 주의사항
논리적인 복구 작업과 별개로, 물리 디스크 자체는 결국 교체되어야 한다. 특히 SMART 오류가 반복되거나, 재할당 섹터 수가 증가하는 디스크는 향후에도 반복적으로 문제를 일으킬 가능성이 높다.
5-1. 장애 디스크 식별
서버나 고급 PC용 스토리지 인클로저는 보통 슬롯 번호와 LED를 통해 장애 디스크를 표시한다. PowerShell에서 SerialNumber나 Enclosure 정보를 확인한 뒤, 실제 베이 번호와 매칭하여 잘못된 디스크를 빼지 않도록 주의해야 한다.
단순 데스크톱 케이스에 여러 디스크를 장착한 경우, SATA 포트 연결 순서나 케이블 라벨링을 평소에 해두어야 장애 시 헷갈리지 않는다. 이미 라벨링이 없다면, 장애가 발생하지 않은 다른 환경에서라도 미리 표준을 정해두는 것이 좋다.
5-2. 교체 시 전원 온/오프 정책
일부 서버급 장비는 핫스왑을 지원하여 전원을 켜둔 상태에서 디스크를 교체할 수 있다. 하지만 일반 데스크톱 PC나 핫스왑 미지원 케이스에서는 전원을 끈 뒤 디스크를 교체하는 것이 원칙이다. 하드웨어 사양서를 확인하여 핫스왑 지원 여부를 반드시 확인해야 한다.
5-3. 교체 후 초기 불량 검사
새 디스크를 장착한 뒤에는 바로 스토리지 풀에 편입하기 전에 제조사 도구 또는 표준 디스크 진단 도구로 간단한 오류 검사를 수행하는 것이 좋다. 초기 불량 디스크를 그대로 풀에 넣었다가, 복구 과정 도중 다시 장애가 발생하면 복구 전체가 실패할 수 있다.
6. 데이터 손실 최소화를 위한 비상 시나리오
이미 복원력 한계를 초과하는 수의 디스크가 손상되었거나, 잘못된 조치로 인해 메타데이터가 심각하게 손상된 경우, 일반적인 Storage Spaces 복구 절차만으로는 데이터를 되살리기 어렵다. 이때는 손실을 최소화하기 위한 비상 전략이 필요하다.
6-1. 읽기 가능한 볼륨에서 우선 백업
가상 디스크와 볼륨이 아직 마운트 가능하고, 일부 파일만 오류를 일으킨다면 다음과 같이 우선순위를 정해 백업해야 한다.
- 업무에 필수적인 데이터, 데이터베이스 백업 파일, 문서, 소스 코드 등부터 복사한다.
- 큰 미디어 파일이나 임시 파일은 최후 순위로 미룬다.
- 복사 중 오류가 발생하는 파일은 목록만 기록해두고, 전체 복구가 끝난 뒤 별도 파일 복구 도구 활용을 검토한다.
6-2. 볼륨이 읽기 전용일 때의 접근
일부 경우 Storage Spaces는 추가 손상을 막기 위해 볼륨을 자동으로 읽기 전용으로 전환한다. 이때는 다음과 같은 접근을 고려할 수 있다.
- 읽기 전용 상태 그대로 데이터를 다른 디스크로 복사한다.
- Disk Management나 PowerShell에서 강제로 쓰기를 허용하기보다는, 우선 백업을 끝낸 뒤 필요 시에만 쓰기 허용을 검토한다.
데이터 복구 전문 도구를 사용하는 경우에도 읽기 전용 스냅샷을 활용하는 것이 일반적으로 더 안전하다.
6-3. 전문 복구 업체 의뢰 기준
디스크가 여러 개 동시에 손상되었거나, 풀 메타데이터가 손상되어 Windows에서 아예 스토리지 풀 자체를 인식하지 못하는 경우, 내부적으로 저수준 구조를 파악해야 하는 단계에 이른다. 이 경우에는 다음 기준을 참고하여 전문 복구 업체 의뢰를 검토할 수 있다.
- 장애 디스크가 2개 이상이며, 가상 디스크 유형이 단순(Simple) 또는 패리티인 경우.
- RAID 카드와 Storage Spaces를 혼합 사용한 복잡한 구성이며, 어떤 레이어가 어디에 매핑되어 있는지 파악이 어려운 경우.
- 자체 복구 시도 중 잘못된 조치(디스크 초기화, 파티션 삭제 등)가 이미 수행된 경우.
7. 재발 방지를 위한 설계 및 운영 팁
한 번 스토리지 풀 장애를 겪고 나면, 같은 실수를 반복하지 않기 위한 구조 개선이 필요하다. 다음은 실무에서 적용하기 좋은 예방 전략이다.
7-1. 복원력 설계 재검토
단순(Simple) 구성은 디스크 손상 시 사실상 복구가 불가능하기 때문에, 업무 데이터에는 가능하면 2방향 또는 3방향 미러 구성을 사용하는 것이 안전하다. 패리티 구성은 용량 효율은 높지만, 재구성 시간과 복잡도가 높으므로 중요한 서비스의 기본 저장소로 사용하기보다는 대용량 아카이브 용도로 사용하는 것이 적절하다.
7-2. 디스크 분산 배치와 동일 모델 편중 방지
동일 제조사, 동일 모델, 동일 제조 시기의 디스크를 한 번에 대량 구매하면, 시간이 지나며 비슷한 시점에 동시에 고장 날 확률이 높다. 가능하다면 구매 시기를 분산하거나, 적어도 다른 제조 로트를 섞어 사용하여 동시 장애 가능성을 줄여야 한다.
7-3. SMART 모니터링 및 경고 설정
디스크의 SMART 정보를 주기적으로 모니터링하고, 재할당 섹터 증가, 읽기 오류 증가 등의 이상 징후가 보이면 사전에 디스크를 교체하는 것이 좋다. 일부 관리 도구는 임계값을 넘으면 메일 알림이나 팝업 경고를 제공하므로, 이를 적극 활용해야 한다.
7-4. 정기적인 백업 및 복구 연습
스토리지 풀 자체가 중복 구성을 제공한다고 해서 백업이 필요 없다고 판단하는 것은 잘못이다. 논리적인 삭제, 랜섬웨어, 파일 시스템 손상 등은 복원력과 무관하게 데이터를 손실시킬 수 있다.
- 별도의 물리 매체 또는 외부 스토리지에 주기적으로 백업을 수행한다.
- 정기적으로 백업에서 실제 복원 연습을 해보고, 복원 시간이 서비스 요구사항을 만족하는지 확인한다.
- 백업 정책과 스토리지 풀 구성을 함께 문서화하여, 장애 발생 시 누구든지 절차를 따라 복구할 수 있도록 준비한다.
7-5. 변경 이력 기록 및 표준 운영 절차(SOP) 수립
새 디스크 추가, 디스크 제거, 구성 변경 시마다 간단한 변경 이력을 기록해 두면 장애 분석에 크게 도움이 된다. 또한, “디스크 오류 알림 발생 시 조치 순서”와 같은 표준 운영 절차를 문서화하여, 당황한 상태에서 임의로 조작하는 일을 줄여야 한다.
FAQ
물리 디스크 한 개만 빨간색으로 표시되면 바로 교체해도 되는가?
복제 수준이 2방향 또는 3방향 미러이고, 단 한 개의 디스크만 장애 상태라면 일반적으로 즉시 교체하는 것이 좋다. 다만, 교체 전에는 반드시 현재 백업 상태와 다른 디스크의 SMART 정보를 함께 확인하여, 추가 장애 가능성이 없는지 점검해야 한다.
스토리지 풀 상태가 “축소된 복원력”으로만 표시되는데 당장 위험한가?
“축소된 복원력” 상태는 아직 데이터 접근은 가능하지만, 현재 구성으로는 추가 장애가 발생했을 때 데이터를 지킬 수 없다는 경고이다. 이 상태에서는 가능한 한 빠르게 장애 디스크를 교체하고 복원력을 회복한 뒤, 여유가 있을 때 전체 검사를 수행하는 것이 좋다.
단순(Simple) 구성에서 디스크 한 개가 완전히 사라졌다면 복구가 가능한가?
단순(Simple) 구성은 복제나 패리티가 없기 때문에, 디스크 자체가 완전히 손실된 경우 일반적인 도구로 데이터 복구를 하기 어렵다. 특정 조건에서는 전문 복구 업체가 일부 데이터를 복원할 수 있지만, 성공을 보장하기 어렵고 비용도 높기 때문에, 중요한 데이터는 처음부터 미러 또는 패리티 구성을 사용하는 것이 권장된다.
Repair-VirtualDisk 명령을 여러 번 실행해도 되는가?
Repair-VirtualDisk는 기본적으로 필요한 범위에 대해서만 재구성을 수행한다. 중간에 오류가 발생했거나 로그 상에서 여전히 손상 경고가 남아 있을 때 재실행하는 것은 일반적으로 문제가 되지 않는다. 다만, 매번 작업 전후로 이벤트 로그와 가상 디스크 상태를 꼼꼼히 확인하고, 디스크에서 이상 소음이나 심한 성능 저하가 느껴지면 하드웨어 문제를 먼저 의심해야 한다.
스토리지 풀을 새로 만들고 백업에서 복원하는 것이 더 나을 때는 언제인가?
장애 디스크가 여러 개이거나, 과거에 잘못된 조치로 메타데이터가 크게 손상된 경우에는 기존 풀을 억지로 살리려 하기보다, 새 디스크로 새 풀을 만들고 백업에서 데이터를 복원하는 전략이 더 안전하다. 특히 운영 중단 시간을 명확히 예측해야 하는 환경에서는, 새 구성을 먼저 안정화한 뒤 백업 복원을 진행하는 방식이 실무적으로 많이 사용된다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱