ZFS(Zettabyte File System)는 강력한 데이터 관리 기능을 제공하는 파일 시스템이다. 하지만 가끔 저장 장치에 문제가 생겨 에러가 발생할 수 있다. 이런 상황에서 저장 장치를 안전하게 교체하는 방법을 알아보자.
ZFS 에러 확인하기
저장 장치에 문제가 생기면 ZFS는 이를 감지하고 알려준다. 먼저 풀의 상태를 확인해야 한다. 터미널에서 다음 명령어를 입력한다:
zpool status
이 명령어를 실행하면 ZFS 풀의 현재 상태가 표시된다. 문제가 있는 저장 장치는 ‘FAULTED’ 또는 ‘UNAVAIL’ 상태로 표시된다.
문제가 있는 저장 장치 확인하기
‘zpool status’ 명령어의 결과에서 문제가 있는 저장 장치를 찾는다. 예를 들어, 다음과 같은 결과가 나올 수 있다:
pool: mypool
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
scan: scrub repaired 0 in 0 days 00:00:00 with 0 errors on Sun Jun 21 00:00:00 2024
config:
NAME STATE READ WRITE CKSUM
mypool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
sda ONLINE 0 0 0
sdb FAULTED 0 0 0 too many errors
errors: No known data errors
이 예시에서는 ‘sdb’ 장치에 문제가 있음을 알 수 있다.
새 저장 장치 준비하기
문제가 있는 저장 장치를 교체하기 위해 새 저장 장치를 준비한다. 새 저장 장치는 기존 장치와 같거나 더 큰 용량이어야 한다. 새 장치를 시스템에 연결하고 인식되는지 확인한다.
문제가 있는 저장 장치 교체하기
이제 ‘zpool replace’ 명령어를 사용하여 문제가 있는 저장 장치를 새 장치로 교체한다. 명령어 형식은 다음과 같다:
zpool replace 풀이름 문제있는장치 새장치
예를 들어, ‘mypool’이라는 풀에서 ‘sdb’ 장치를 ‘sdc’로 교체하려면 다음과 같이 입력한다:
zpool replace mypool sdb sdc
이 명령어를 실행하면 ZFS는 자동으로 새 장치로 데이터를 복사하기 시작한다.
교체 과정 모니터링하기
저장 장치 교체 과정은 시간이 걸릴 수 있다. 진행 상황을 확인하려면 다음 명령어를 사용한다:
zpool status
이 명령어를 실행하면 교체 진행 상황이 표시된다. 예를 들어:
pool: mypool
state: DEGRADED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Sun Jun 21 01:00:00 2024
112G scanned at 114M/s, 43.3G issued at 44.3M/s, 112G total
18.8G resilvered, 38.56% done, 0 days 00:26:20 to go
config:
NAME STATE READ WRITE CKSUM
mypool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
sda ONLINE 0 0 0
sdc ONLINE 0 0 0 (resilvering)
errors: No known data errors
‘resilvering’ 과정이 완료되면 풀의 상태가 ‘ONLINE’으로 변경된다.
최종 확인
교체 과정이 완료되면 다시 한 번 풀의 상태를 확인한다:
zpool status
모든 장치가 ‘ONLINE’ 상태이고 풀의 상태도 ‘ONLINE’이면 저장 장치 교체가 성공적으로 완료된 것이다.
ZFS 저장 장치 교체는 복잡해 보일 수 있지만, 단계별로 차근차근 따라하면 어렵지 않게 수행할 수 있다. 이 과정을 통해 데이터 손실 없이 안전하게 문제가 있는 저장 장치를 교체할 수 있다.