반응형
RAID-Z1에서 RAID-Z2로 변경하는 방법 (데이터 보호 유지)
RAID-Z1에서 RAID-Z2로 변경하는 과정에서 기존 데이터를 보호하면서 수행하는 것은 단순한 RAID 레벨 변경이 아니라 스토리지 풀의 확장 및 데이터 마이그레이션이 포함된 복잡한 과정입니다.
ZFS는 기존 RAID-Z1 풀을 직접 RAID-Z2로 변환하는 기능을 지원하지 않으므로, 다음과 같은 시나리오로 진행해야 합니다.
1. RAID-Z1 vs RAID-Z2: 차이점
RAID 유형 | 최소 디스크 개수 | 허용 가능한 디스크 장애 수 | 패리티 블록 수 | 데이터 보호 수준 |
RAID-Z1 | 3개 이상 | 1개 | 1개 | 보통 (1개 디스크 장애 시 복구 가능) |
RAID-Z2 | 4개 이상 | 2개 | 2개 | 높음 (2개 디스크 장애 시 복구 가능) |
RAID-Z1은 디스크 1개 장애 시 복구 가능하지만, 2개 이상 고장 시 데이터 유실 위험이 큽니다. 반면, RAID-Z2는 2개의 디스크 장애까지 허용하므로 안전성이 높아집니다.
하지만, 기존 RAID-Z1 풀을 RAID-Z2로 변경하는 기능이 존재하지 않으므로, 새로운 RAID-Z2 풀을 생성하고 데이터를 마이그레이션하는 방식으로 진행해야 합니다.
2. RAID-Z1에서 RAID-Z2로 변경하는 방법 (데이터 보호 유지)
시나리오 1: 여유 디스크 공간이 충분한 경우 (가장 안전한 방법)
✅ 전제 조건:
- TrueNAS 시스템에 기존 RAID-Z1 풀 외에도 추가로 디스크를 장착할 수 있는 공간이 있는 경우
- 새로운 RAID-Z2 풀을 생성한 후 데이터를 마이그레이션할 수 있음
- 데이터 보호를 유지하면서 RAID-Z2로 변경하는 가장 안전한 방식
✅ 진행 과정:
- 새로운 RAID-Z2 풀 생성
- 기존 RAID-Z1 풀과는 별도로 새로운 RAID-Z2 풀을 생성
- 예: zpool create tank2 raidz2 /dev/sdX /dev/sdY /dev/sdZ ...
- 기존 데이터 마이그레이션
- rsync 또는 zfs send/receive를 활용하여 데이터를 새로운 풀로 복사
- 예:
zfs snapshot tank@backup zfs send tank@backup | zfs receive tank2@backup
- 데이터 검증
- zfs diff 또는 rsync --checksum을 이용하여 복사된 데이터가 정확한지 확인
- 예:
rsync -avh --dry-run /mnt/tank/ /mnt/tank2/
- 기존 RAID-Z1 풀 삭제 후, 새 RAID-Z2 풀을 기본 풀로 설정
- 기존 RAID-Z1 풀(tank)을 삭제 (zpool destroy tank)
- tank2의 이름을 기존 풀 이름(tank)으로 변경하여 시스템이 정상적으로 동작하도록 설정
zpool export tank2 zpool import tank2 tank
✅ 장점:
- 데이터 보호를 유지하면서 RAID-Z2로 전환 가능
- 다운타임 최소화
✅ 단점:
- 추가적인 디스크 공간이 필요 (새로운 RAID-Z2 풀을 만들기 위해)
시나리오 2: 추가 디스크 공간이 없는 경우 (디스크 교체 방식, 위험도 높음)
✅ 전제 조건:
- 추가 디스크를 사용할 수 없는 경우
- RAID-Z1을 유지하면서 디스크를 하나씩 교체하여 RAID-Z2로 전환
✅ 진행 과정:
- 기존 RAID-Z1 풀의 디스크 하나를 더 큰 용량의 새 디스크로 교체
- 예:
zpool replace tank old_disk new_disk
- 예:
- 디스크가 정상적으로 리빌드되었는지 확인
- zpool status 명령어로 확인
- 정상적으로 동기화될 때까지 기다려야 함
- 모든 디스크를 RAID-Z2로 변경할 만큼 교체한 후, zpool 업그레이드 진행
- 모든 디스크를 교체하면, zpool 업그레이드를 통해 RAID-Z2로 전환 가능
- 예:
zpool upgrade tank
✅ 장점:
- 추가 디스크 공간이 필요 없음
- 일부 시스템에서는 가능하지만, 일반적으로 TrueNAS에서는 지원되지 않을 수 있음
✅ 단점:
- 디스크 교체 중 장애 발생 시 데이터 손실 위험이 있음
- 오랜 시간이 걸릴 수 있음
시나리오 3: 백업 후 풀을 새로 생성 (가장 간단하지만, 다운타임 존재)
✅ 전제 조건:
- TrueNAS 외부 스토리지(외장 하드, 다른 NAS 등)에 데이터 백업이 가능
- RAID-Z1 풀을 삭제한 후, RAID-Z2 풀을 새로 생성할 수 있음
✅ 진행 과정:
- 데이터 백업
- 기존 RAID-Z1 풀의 데이터를 외부 스토리지에 백업
- rsync 또는 zfs send를 사용하여 안전하게 저장
- 예:
rsync -avh /mnt/tank/ /mnt/external_backup/
- RAID-Z1 풀 삭제 후 RAID-Z2 풀 생성
- 기존 풀 삭제 (zpool destroy tank)
- RAID-Z2로 새 풀 생성
zpool create tank raidz2 /dev/sdX /dev/sdY /dev/sdZ /dev/sdA
- 데이터 복원
- 백업한 데이터를 RAID-Z2 풀로 복원
- 예:
rsync -avh /mnt/external_backup/ /mnt/tank/
✅ 장점:
- RAID-Z2로 완벽한 새 풀을 구성 가능
- 기존 RAID-Z1 풀을 유지할 필요가 없어 더 깔끔한 방법
✅ 단점:
- 백업할 외부 스토리지가 필요
- 다운타임이 존재 (새 풀을 만들고 복원하는 동안 서비스 중단 가능)
4. 결론: 가장 적합한 방법 선택
방법 | 추가 디스크 필요 여부 | 데이터 보호 수준 | 소요 시간 | 난이도 |
시나리오 1: 새 RAID-Z2 풀 생성 후 마이그레이션 | ✅ 필요 | ✅ 높음 | ⏳ 중간 | ⭐⭐ |
시나리오 2: 디스크 교체 방식 (RAID-Z1 유지하면서 점진적 변경) | ❌ 없음 | ⚠️ 위험 있음 | ⏳ 오래 걸림 | ⭐⭐⭐⭐ |
시나리오 3: 백업 후 RAID-Z2 새로 생성 | ✅ 필요 | ✅ 높음 | ⏳ 오래 걸림 | ⭐ |
✅ 추천:
- 추가 디스크 공간이 있다면, 시나리오 1 (새 RAID-Z2 풀 생성 후 마이그레이션)이 가장 안전한 방법
- 추가 디스크가 없다면, 시나리오 3 (백업 후 새 풀 생성)이 가장 확실한 방법
- 디스크 교체 방식(시나리오 2)은 위험 부담이 크므로, 추천하지 않음
반응형
'IT생활' 카테고리의 다른 글
RAID-Z1에서 디스크 고장 시 시스템을 자동으로 종료하거나 오프라인으로 만드는 로직이 있는가? (0) | 2025.03.15 |
---|---|
RAID-Z1에서 디스크 하나가 고장 나면 어떻게 되는가? (0) | 2025.03.15 |
TrueNAS SCALE에서 적합한 분석 AI 시스템 (0) | 2025.03.15 |
NAS에 저장된 사진, 음성 분석 및 정리 시스템 (0) | 2025.03.15 |
H.264, AVC, x264의 차이점과 관계 (0) | 2025.03.15 |