ZFS 에러 발생 시 저장 장치 교체 방법 (How to Replace a Failed Storage Device in ZFS)

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 저장 장치 교체는 복잡해 보일 수 있지만, 단계별로 차근차근 따라하면 어렵지 않게 수행할 수 있다. 이 과정을 통해 데이터 손실 없이 안전하게 문제가 있는 저장 장치를 교체할 수 있다.

Leave a Reply

error: Content is protected !!