JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 11.1 관리: ZFS 파일 시스템     Oracle Solaris 11.1 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

1.  Oracle Solaris ZFS 파일 시스템(소개)

2.  Oracle Solaris ZFS 시작하기

3.  Oracle Solaris ZFS 저장소 풀 관리

ZFS 저장소 풀의 구성 요소

ZFS 저장소 풀의 디스크 사용

ZFS 저장소 풀에서 슬라이스 사용

ZFS 저장소 풀에서 파일 사용

ZFS 저장소 풀 고려 사항

ZFS 저장소 풀의 복제 기능

미러링된 저장소 풀 구성

RAID-Z 저장소 풀 구성

ZFS 하이브리드 저장소 풀

중복 구성에서 데이터 자가 치료

저장소 풀의 동적 스트라이프

ZFS 저장소 풀 만들기 및 삭제

ZFS 저장소 풀 만들기

기본 저장소 풀 만들기

미러된 저장소 풀 만들기

ZFS 루트 풀 만들기

RAID-Z 저장소 풀 만들기

로그 장치를 사용하여 ZFS 저장소 풀 만들기

캐시 장치를 사용하여 ZFS 저장소 풀 만들기

저장소 풀을 만들 때 주의 사항

저장소 풀 가상 장치 정보 표시

ZFS 저장소 풀 만들기 오류 처리

사용 중인 장치 감지

일치하지 않는 복제 레벨

저장소 풀 만들기의 Dry Run 수행

저장소 풀에 대한 기본 마운트 지점

ZFS 저장소 풀 삭제

사용할 수 없는 장치가 있는 풀 삭제

ZFS 저장소 풀의 장치 관리

저장소 풀에 장치 추가

저장소 풀에서 장치 연결 및 분리

미러링된 ZFS 저장소 풀을 분할하여 새로운 풀 만들기

저장소 풀에서 장치 온라인 및 오프라인 전환

장치 오프라인 전환

온라인으로 장치 설정

저장소 풀 장치 오류 지우기

저장소 풀의 장치 교체

저장소 풀에서 핫 스패어 지정

저장소 풀에서 핫 스패어 활성화 및 비활성화

ZFS 저장소 풀 등록 정보 관리

ZFS 저장소 풀 상태 질의

ZFS 저장소 풀에 대한 정보 표시

모든 저장소 풀 또는 특정 풀에 대한 정보 표시

물리적 위치로 풀 장치 표시

특정 저장소 풀 통계 표시

ZFS 저장소 풀 출력 결과 스크립팅

ZFS 저장소 풀 명령 내역 표시

ZFS 저장소 풀에 대한 I/O 통계 보기

풀 전역 I/O 통계 나열

가상 장치 I/O 통계 사용

ZFS 저장소 풀의 건전성 상태 확인

기본 저장소 풀 건전성 상태

자세한 건전성 상태

ZFS 저장소 풀 상태 정보 수집

ZFS 저장소 풀 마이그레이션

ZFS 저장소 풀 마이그레이션 준비

ZFS 저장소 풀 내보내기

가져올 수 있는 저장소 풀 결정

대체 디렉토리에서 ZFS 저장소 풀 가져오기

ZFS 저장소 풀 가져오기

누락된 로그 장치가 있는 풀 가져오기

읽기 전용 모드로 풀 가져오기

특정 장치 경로로 풀 가져오기

삭제된 ZFS 저장소 풀 복구

ZFS 저장소 풀 업그레이드

4.  ZFS 루트 풀 구성 요소 관리

5.  Oracle Solaris ZFS 파일 시스템 관리

6.  Oracle Solaris ZFS 스냅샷 및 복제 작업

7.  ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호

8.  Oracle Solaris ZFS 위임 관리

9.  Oracle Solaris ZFS 고급 주제

10.  Oracle Solaris ZFS 문제 해결 및 풀 복구

11.  스냅샷 아카이브 및 루트 풀 복구

12.  Oracle Solaris ZFS 권장 방법

A.  Oracle Solaris ZFS 버전 설명

색인

ZFS 저장소 풀의 장치 관리

장치와 관련된 대부분의 기본 정보는 ZFS 저장소 풀의 구성 요소에서 다룹니다. 풀이 만들어진 후 풀 내의 물리적인 장치를 관리하기 위한 여러 가지 작업을 수행할 수 있습니다.

저장소 풀에 장치 추가

새 최상위 레벨 가상 장치를 추가하여 디스크 공간을 동적으로 추가할 수 있습니다. 이 디스크 공간은 풀의 모든 데이터 세트에서 즉시 사용할 수 있습니다. 풀에 새 가상 장치를 추가하려면 zpool add 명령을 사용합니다. 예:

# zpool add zeepool mirror c2t1d0 c2t2d0

가상 장치를 지정하기 위한 형식은 zpool create 명령의 경우와 같습니다. 장치가 사용 중인지 여부가 확인되고, -f 옵션 없이는 명령에서 중복성 레벨을 변경할 수 없습니다. 명령은 dry run을 수행할 수 있도록 -n 옵션도 지원합니다. 예를 들면 다음과 같습니다.

# zpool add -n zeepool mirror c3t1d0 c3t2d0
would update 'zeepool' to the following configuration:
      zeepool
        mirror
            c1t0d0
            c1t1d0
        mirror
            c2t1d0
            c2t2d0
        mirror
            c3t1d0
            c3t2d0

이 명령 구문은 미러된 장치 c3t1d0 c3t2d0zeepool 풀의 기존 구성에 추가합니다.

가상 장치 검증 수행 방식에 대한 자세한 내용은 사용 중인 장치 감지를 참조하십시오.

예 3-1 미러된 ZFS 구성에 디스크 추가

다음 예에서는 미러링된 기존 ZFS 구성에 다른 미러가 추가됩니다.

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool add tank mirror c0t3d0 c1t3d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c0t2d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            c0t3d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0

errors: No known data errors

예 3-2 RAID-Z 구성에 디스크 추가

마찬가지로 추가 디스크를 RAID-Z 구성에 추가할 수 있습니다. 다음 예는 3개의 디스크를 포함하는 하나의 RAID-Z 장치를 갖춘 저장소 풀을 각각 3개의 디스크를 포함하는 두 개의 RAID-Z 장치를 갖춘 저장소 풀로 변환하는 방법을 보여줍니다.

# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0

errors: No known data errors
# zpool add rzpool raidz c2t2d0 c2t3d0 c2t4d0
# zpool status rzpool
  pool: rzpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        rzpool      ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
          raidz1-1  ONLINE       0     0     0
            c2t2d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
            c2t4d0  ONLINE       0     0     0

errors: No known data errors

예 3-3 미러된 로그 장치 추가 및 제거

다음 예에서는 미러링된 저장소 풀에 미러링된 로그 장치를 추가하는 방법을 보여줍니다.

# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors
# zpool add newpool log mirror c0t6d0 c0t7d0
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0
        logs
          mirror-1  ONLINE       0     0     0
            c0t6d0  ONLINE       0     0     0
            c0t7d0  ONLINE       0     0     0

errors: No known data errors

로그 장치를 기존 로그 장치에 연결하여 미러된 로그 장치를 만들 수 있습니다. 이 작업은 미러되지 않은 저장소 풀에서 장치를 연결하는 것과 동일합니다.

zpool remove 명령을 사용하여 로그 장치를 제거할 수 있습니다. 이전 예에서 미러된 로그 장치는 mirror-1 인수를 지정하여 제거할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool remove newpool mirror-1
# zpool status newpool
  pool: newpool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        newpool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t4d0  ONLINE       0     0     0
            c0t5d0  ONLINE       0     0     0

errors: No known data errors

풀 구성에 하나의 로그 장치만 포함되어 있을 경우 장치 이름을 지정하여 로그 장치를 제거할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool status pool
  pool: pool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        pool        ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            c0t8d0  ONLINE       0     0     0
            c0t9d0  ONLINE       0     0     0
        logs
          c0t10d0   ONLINE       0     0     0

errors: No known data errors
# zpool remove pool c0t10d0

예 3-4 캐시 장치 추가 및 제거

캐시 장치를 ZFS 저장소 풀에 추가하고 더 이상 필요하지 않을 경우 제거할 수 있습니다.

zpool add 명령을 사용하여 캐시 장치를 추가합니다. 예:

# zpool add tank cache c2t5d0 c2t8d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0
        cache
          c2t5d0    ONLINE       0     0     0
          c2t8d0    ONLINE       0     0     0

errors: No known data errors

캐시 장치는 미러링하거나 RAID-Z 구성의 일부가 될 수 없습니다.

zpool remove 명령을 사용하여 캐시 장치를 제거합니다. 예를 들면 다음과 같습니다.

# zpool remove tank c2t5d0 c2t8d0
# zpool status tank
 pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0
            c2t3d0  ONLINE       0     0     0

errors: No known data errors

현재 zpool remove 명령만 핫 스패어, 로그 장치 및 캐시 장치 제거를 지원합니다. 기본 미러된 풀 구성의 일부인 장치는 zpool detach 명령을 사용하여 제거할 수 있습니다. 중복되지 않은 장치 및 RAID-Z 장치는 풀에서 제거할 수 없습니다.

ZFS 저장소 풀에서 캐시 장치 사용에 대한 자세한 내용은 캐시 장치를 사용하여 ZFS 저장소 풀 만들기를 참조하십시오.

저장소 풀에서 장치 연결 및 분리

zpool add 명령 이외에 zpool attach 명령을 사용하여 새 장치를 기존 미러된 장치 또는 미러되지 않은 장치에 추가할 수 있습니다.

디스크를 연결하여 미러링된 루트 풀을 만드는 경우 미러링된 루트 풀을 구성하는 방법(SPARC 또는 x86/VTOC)을 참조하십시오.

ZFS 루트 풀에서 디스크를 교체할 경우 ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)을 참조하십시오.

예 3-5 이중 미러된 저장소 풀을 삼중 미러된 저장소 풀로 변환

이 예에서는 zeepool이 기존 이중 미러이고, 새 장치 c2t1d0을 기존 장치 c1t1d0에 연결하여 삼중 미러로 변환합니다.

# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0

errors: No known data errors
# zpool attach zeepool c1t1d0 c2t1d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 12:59:20 2010
config:

        NAME        STATE     READ WRITE CKSUM
        zeepool     ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c2t1d0  ONLINE       0     0     0  592K resilvered

errors: No known data errors

기존 장치가 삼중 미러의 일부인 경우 새 장치를 연결하면 사중 미러가 만들어지고, 이런 방식으로 계속 이어집니다. 어떠한 경우든지 새 장치는 즉시 재구성을 시작합니다.

예 3-6 중복되지 않은 ZFS 저장소 풀을 미러된 ZFS 저장소 풀로 변환

또한 zpool attach 명령을 사용하여 중복되지 않은 저장소 풀을 중복된 저장소 풀로 변환할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool create tank c0t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c0t1d0    ONLINE       0     0     0

errors: No known data errors
# zpool attach tank c0t1d0 c1t1d0
# zpool status tank
  pool: tank
 state: ONLINE
 scrub: resilver completed after 0h0m with 0 errors on Fri Jan  8 14:28:23 2010
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c0t1d0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0  73.5K resilvered

errors: No known data errors

zpool detach 명령을 사용하여 미러된 저장소 풀에서 장치를 분리할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool detach zeepool c2t1d0

하지만 이 작업은 데이터의 다른 유효한 복제본이 존재할 경우 실패합니다. 예:

# zpool detach newpool c1t2d0
cannot detach c1t2d0: only applicable to mirror and replacing vdevs

미러링된 ZFS 저장소 풀을 분할하여 새로운 풀 만들기

zpool split 명령을 사용하여 미러링된 ZFS 저장소 풀을 백업 풀로 신속하게 복제할 수 있습니다. 이 기능을 사용하여 미러링된 루트 풀을 분할할 수 있지만 일부 추가 단계를 수행하기 전까지는 분할된 풀로 부트할 수 없습니다.

zpool split 명령을 사용하면 미러된 ZFS 저장소 풀에서 하나 이상의 디스크를 분리하여 분리된 디스크로 새 풀을 만들 수 있습니다. 새 풀은 원래 미러된 ZFS 저장소 풀과 동일한 컨텐츠를 가집니다.

기본적으로 미러된 풀에서 zpool split 작업은 새로 만들어진 풀에 대한 마지막 디스크를 분리합니다. 분할 작업 이후에는 새 풀을 가져올 수 있습니다. 예를 들면 다음과 같습니다.

# zpool status tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0

errors: No known data errors
# zpool split tank tank2
# zpool import tank2
# zpool status tank tank2
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          c1t0d0    ONLINE       0     0     0

errors: No known data errors

  pool: tank2
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank2       ONLINE       0     0     0
          c1t2d0    ONLINE       0     0     0

errors: No known data errors

zpool split 명령에서 새로 만들어진 풀에 대해 사용해야 하는 디스크를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool split tank tank2 c1t0d0

실제 분할 작업이 이루어지기 전에 메모리의 데이터는 미러된 디스크로 비워집니다. 데이터가 비워진 후 디스크는 풀에서 분리되고 새 풀 GUID가 부여됩니다. 새 풀 GUID는 분할된 동일 시스템에서 풀을 가져올 수 있도록 하기 위해 생성됩니다.

분할할 풀에 비기본 파일 시스템 마운트 지점이 있고 새 풀이 동일 시스템에서 생성되는 경우 기존 마운트 지점이 서로 충돌하지 않도록 zpool split -R 옵션을 사용하여 새 풀에 대한 대체 루트 디렉토리를 지정해야 합니다. 예를 들면 다음과 같습니다.

# zpool split -R /tank2 tank tank2

zpool split -R 옵션을 사용하지 않고 새 풀을 가져오려고 할 때 마운트 지점 충돌을 알 수 있는 경우 -R 옵션으로 새 풀을 가져오십시오. 새 풀이 다른 시스템에서 만들어질 경우 마운트 지점 충돌이 발생하지 않는다면 대체 루트 디렉토리 지정은 필요하지 않습니다.

zpool split 기능을 사용하기 전에 다음 고려 사항을 검토하십시오.

예 3-7 미러된 ZFS 풀 분할

다음 예에서는 세 개의 디스크가 포함된 mothership이라는 미러링된 저장소 풀이 분할됩니다. 그 결과로 생성되는 두 개의 풀은 두 개의 디스크를 포함하는 mothership이라는 미러링된 풀과 한 개의 디스크를 포함하는 luna라는 새 풀입니다. 각 풀은 동일한 컨텐츠를 가집니다.

luna 풀은 백업 목적으로 다른 시스템으로 가져올 수 있습니다. 백업이 완료된 후에는 luna 풀을 삭제할 수 있으며 디스크가 mothership에 다시 연결됩니다. 그런 후 프로세스를 반복할 수 있습니다.

# zpool status mothership
  pool: mothership
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        mothership                 ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0

errors: No known data errors
# zpool split mothership luna
# zpool import luna 
# zpool status mothership luna
  pool: luna
 state: ONLINE
  scan: none requested
config:

        NAME                     STATE     READ WRITE CKSUM
        luna                     ONLINE       0     0     0
          c0t5000C500335F907Fd0  ONLINE       0     0     0

errors: No known data errors

  pool: mothership
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        mothership                 ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0

errors: No known data errors

저장소 풀에서 장치 온라인 및 오프라인 전환

ZFS에서는 개별 장치를 오프라인이나 온라인으로 전환할 수 있습니다. 하드웨어가 불안정하거나 제대로 작동하지 않을 경우 이러한 조건이 일시적이라면 ZFS는 데이터 읽기나 데이터 쓰기를 계속합니다. 조건이 일시적이 아니라면 장치를 오프라인으로 전환하여 장치를 무시하도록 ZFS에 지시할 수 있습니다. ZFS는 오프라인 장치에 요청을 보내지 않습니다.


주 - 장치를 교체하기 위해 오프라인으로 전환할 필요는 없습니다.


장치 오프라인 전환

zpool offline 명령을 사용하여 장치를 오프라인으로 전환할 수 있습니다. 장치는 경로 또는 단축 이름으로 지정할 수 있습니다(장치가 디스크인 경우). 예를 들면 다음과 같습니다.

# zpool offline tank c0t5000C500335F95E3d0

장치를 오프라인으로 전환할 때 다음 사항을 고려하십시오.

오프라인 장치는 풀 상태를 질의할 때 OFFLINE 상태에 있습니다. 풀 상태 질의에 대한 자세한 내용은 ZFS 저장소 풀 상태 질의를 참조하십시오.

장치 건전성에 대한 자세한 내용은 ZFS 저장소 풀의 건전성 상태 확인을 참조하십시오.

온라인으로 장치 설정

장치가 오프라인으로 전환된 후 zpool online 명령을 사용하여 다시 온라인으로 전환할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool online tank c0t5000C500335F95E3d0

장치가 온라인으로 전환되었을 때 풀에 쓰여진 모든 데이터는 새로 사용 가능한 장치와 재동기화됩니다. 디스크를 교체하기 위해 장치를 온라인으로 전환할 수 없습니다. 장치를 오프라인으로 전환하고 장치를 교체한 다음 온라인으로 전환하려고 하는 경우 UNAVAIL 상태가 지속됩니다.

UNAVAIL 장치를 온라인으로 전환하려고 시도하면 다음과 비슷한 메시지가 표시됩니다.

결함이 있는 디스크 메시지는 콘솔에 표시되거나 /var/adm/messages 파일에 기록될 수도 있습니다. 예를 들면 다음과 같습니다.

SUNW-MSG-ID: ZFS-8000-LR, TYPE: Fault, VER: 1, SEVERITY: Major
EVENT-TIME: Wed Jun 20 11:35:26 MDT 2012
PLATFORM: ORCL,SPARC-T3-4, CSN: 1120BDRCCD, HOSTNAME: tardis
SOURCE: zfs-diagnosis, REV: 1.0
EVENT-ID: fb6699c8-6bfb-eefa-88bb-81479182e3b7
DESC: ZFS device 'id1,sd@n5000c500335dc60f/a' in pool 'pond' failed to open.
AUTO-RESPONSE: An attempt will be made to activate a hot spare if available.
IMPACT: Fault tolerance of the pool may be compromised.
REC-ACTION: Use 'fmadm faulty' to provide a more detailed view of this event. 
Run 'zpool status -lx' for more information. Please refer to the associated 
reference document at http://support.oracle.com/msg/ZFS-8000-LR for the latest 
service procedures and policies regarding this diagnosis.

결함이 있는 장치 교체에 대한 자세한 내용은 누락된 장치 해결을 참조하십시오.

zpool online -e 명령을 사용하여 LUN을 확장할 수 있습니다. 기본적으로 풀에 추가된 LUN은 autoexpand 풀 등록 정보가 사용으로 설정되지 않은 경우 전체 크기로 확장되지 않습니다. LUN이 이미 온라인 상태이거나 LUN이 현재 오프라인 상태인 경우에도 zpool online -e 명령을 사용하여 LUN을 자동으로 확장할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool online -e tank c0t5000C500335F95E3d0

저장소 풀 장치 오류 지우기

실패로 인해 장치가 오프라인으로 전환되어 zpool status 출력 결과에 오류가 나열될 경우 zpool clear 명령을 사용하여 오류 수를 지울 수 있습니다.

인수 없이 지정되면 이 명령은 풀 내의 모든 장치 오류를 지웁니다. 예를 들면 다음과 같습니다.

# zpool clear tank

하나 이상의 장치가 지정되면 이 명령은 지정된 장치와 연관된 오류만 지웁니다. 예를 들면 다음과 같습니다.

# zpool clear tank c0t5000C500335F95E3d0

zpool 오류 지우기에 대한 자세한 내용은 일시적인 오류 지우기를 참조하십시오.

저장소 풀의 장치 교체

zpool replace 명령을 사용하여 저장소 풀의 장치를 교체할 수 있습니다.

중복된 풀의 동일 위치에서 다른 장치로 장치를 물리적으로 교체하는 경우 교체되는 장치만 식별하면 됩니다. 일부 하드웨어에서 ZFS는 장치가 동일 위치의 다른 디스크에 있다고 인식합니다. 예를 들어, 디스크를 제거하고 동일 위치에서 교체하여 실패한 디스크(c1t1d0)를 교체하려면 다음 구문을 사용합니다.

# zpool replace tank c1t1d0

다른 물리적 위치에 있는 디스크로 저장소 풀의 디스크를 교체하는 경우 두 장치를 모두 지정해야 합니다. 예를 들면 다음과 같습니다.

# zpool replace tank c1t1d0 c1t2d0

ZFS 루트 풀에서 디스크를 교체할 경우 ZFS 루트 풀의 디스크 교체 방법(SPARC 또는 x86/VTOC)을 참조하십시오.

다음은 디스크 교체를 위한 기본 단계입니다.

  1. 필요한 경우 zpool offline 명령을 사용하여 디스크를 오프라인으로 전환합니다.

  2. 교체할 디스크를 제거합니다.

  3. 교체 디스크를 삽입합니다.

  4. 교체 디스크가 표시되는지 여부를 확인하려면 format 출력 결과를 검토합니다.

    또한 장치 ID가 변경되었는지 여부를 확인합니다. 교체 디스크에 WWN이 포함된 경우 결함이 있는 디스크에 대한 장치 ID가 변경된 것입니다.

  5. 디스크가 교체되었음을 ZFS에 알립니다. 예를 들면 다음과 같습니다.

    # zpool replace tank c1t1d0

    교체 디스크에 위에서 식별한 것과 다른 장치 ID가 포함된 경우 새 장치 ID를 포함시킵니다.

    # zpool replace tank c0t5000C500335FC3E7d0 c0t5000C500335BA8C3d0
  6. 필요에 따라 zpool online 명령을 사용하여 디스크를 온라인으로 전환합니다.

  7. 장치가 교체되었다고 FMA에 알립니다.

    fmadm faulty 출력 결과의 Affects: 절에서 zfs://pool=name/vdev=guid 문자열을 식별하고 해당 문자열을 fmadm repaired 명령의 인수로 제공합니다.

    # fmadm faulty
    # fmadm repaired zfs://pool=name/vdev=guid

SATA 디스크가 있는 일부 시스템에서는 오프라인 상태로 전환하기 전에 디스크의 구성을 해제해야 합니다. 이 시스템의 동일 슬롯 위치에서 디스크를 교체하는 경우 이 절의 첫번째 예에 설명된 대로 zpool replace 명령만 실행하면 됩니다.

SATA 디스크 교체 예는 예 10-1을 참조하십시오.

ZFS 저장소 풀에서 장치를 교체할 때 다음을 고려하십시오.

장치 교체에 대한 자세한 내용은 누락된 장치 해결손상된 장치 교체 또는 복구를 참조하십시오.

저장소 풀에서 핫 스패어 지정

핫 스패어 기능을 사용하여 저장소 풀에서 장애 또는 결함이 있는 장치를 교체하는 데 사용할 수 있는 디스크를 식별할 수 있습니다. 장치를 핫 스패어로 지정하면 해당 장치는 풀에서 활성 장치가 아니지만, 풀의 활성 장치가 실패할 경우 핫 스패어가 자동으로 실패한 장치를 교체하게 됩니다.

다음 방법으로 장치를 핫 스패어로 지정할 수 있습니다.

다음 예는 풀이 만들어진 경우 장치를 핫 스패어로 지정하는 방법을 보여줍니다.

# zpool create zeepool mirror c0t5000C500335F95E3d0 c0t5000C500335F907Fd0 
mirror c0t5000C500335BD117d0 c0t5000C500335DC60Fd0 spare c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   
          c0t5000C500335FC3E7d0    AVAIL   

errors: No known data errors

다음 예는 풀이 만들어진 후 풀에 장치를 추가하여 핫 스패어를 지정하는 방법을 보여줍니다.

# zpool add zeepool spare c0t5000C500335E106Bd0 c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   
          c0t5000C500335FC3E7d0    AVAIL   

errors: No known data errors

핫 스패어는 zpool remove 명령을 사용하여 저장소 풀에서 제거할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool remove zeepool c0t5000C500335FC3E7d0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: none requested
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

errors: No known data errors

핫 스패어는 저장소 풀에서 현재 사용되는 경우 제거할 수 없습니다.

ZFS 핫 스패어를 사용할 때 다음을 고려하십시오.

저장소 풀에서 핫 스패어 활성화 및 비활성화

핫 스패어는 다음 방법으로 활성화됩니다.

UNAVAIL 장치는 핫 스패어를 사용할 수 있는 경우 자동으로 교체됩니다. 예를 들면 다음과 같습니다.

# zpool status -x
  pool: zeepool
 state: DEGRADED
status: One or more devices are unavailable in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or 'fmadm repaired', or replace the device
        with 'zpool replace'.
        Run 'zpool status -v' to see device specific details.
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 16:46:19 2012
config:

        NAME                         STATE     READ WRITE CKSUM
        zeepool                      DEGRADED     0     0     0
          mirror-0                   ONLINE       0     0     0
            c0t5000C500335F95E3d0    ONLINE       0     0     0
            c0t5000C500335F907Fd0    ONLINE       0     0     0
          mirror-1                   DEGRADED     0     0     0
            c0t5000C500335BD117d0    ONLINE       0     0     0
            spare-1                  DEGRADED   449     0     0
              c0t5000C500335DC60Fd0  UNAVAIL      0     0     0
              c0t5000C500335E106Bd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0      INUSE   

errors: No known data errors

현재 다음 방법으로 핫 스패어를 비활성화할 수 있습니다.

예 3-8 실패한 디스크가 교체된 후 핫 스패어 분리

이 예에서 결함이 있는 디스크(c0t5000C500335DC60Fd0)는 물리적으로 교체되고 zpool replace 명령을 사용하여 ZFS에 통지됩니다.

# zpool replace zeepool c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 16:53:43 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  ONLINE       0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

필요에 따라 zpool detach 명령을 사용하여 핫 스패어를 스패어 풀로 복귀시킬 수 있습니다. 예를 들면 다음과 같습니다.

# zpool detach zeepool c0t5000C500335E106Bd0

예 3-9 실패한 디스크 분리 및 핫 스패어 사용

현재 교체 중인 핫 스패어를 일시적으로 또는 영구적으로 교체하여 장애가 발생한 디스크를 교체하려는 경우 장애가 발생한 원래 디스크를 분리합니다. 실패한 디스크가 교체되면 저장소 풀에 스페어로 다시 추가할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool status zeepool
  pool: zeepool
 state: DEGRADED
status: One or more devices are unavailable in response to persistent errors.
        Sufficient replicas exist for the pool to continue functioning in a
        degraded state.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or 'fmadm repaired', or replace the device
        with 'zpool replace'.
        Run 'zpool status -v' to see device specific details.
  scan: scrub in progress since Thu Jun 21 17:01:49 2012
    1.07G scanned out of 6.29G at 220M/s, 0h0m to go
    0 repaired, 17.05% done
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    DEGRADED     0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 DEGRADED     0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335DC60Fd0  UNAVAIL      0     0     0
        spares
          c0t5000C500335E106Bd0    AVAIL   

errors: No known data errors
# zpool detach zeepool c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 17:02:35 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335E106Bd0  ONLINE       0     0     0

errors: No known data errors
(Original failed disk c0t5000C500335DC60Fd0 is physically replaced)
# zpool add zeepool spare c0t5000C500335DC60Fd0
# zpool status zeepool
  pool: zeepool
 state: ONLINE
  scan: resilvered 3.15G in 0h0m with 0 errors on Thu Jun 21 17:02:35 2012
config:

        NAME                       STATE     READ WRITE CKSUM
        zeepool                    ONLINE       0     0     0
          mirror-0                 ONLINE       0     0     0
            c0t5000C500335F95E3d0  ONLINE       0     0     0
            c0t5000C500335F907Fd0  ONLINE       0     0     0
          mirror-1                 ONLINE       0     0     0
            c0t5000C500335BD117d0  ONLINE       0     0     0
            c0t5000C500335E106Bd0  ONLINE       0     0     0
        spares
          c0t5000C500335DC60Fd0    AVAIL   

errors: No known data errors

디스크를 교체하고 스패어를 분리한 후에는 FMA에 디스크가 교체되었음을 알립니다.

# fmadm faulty
# fmadm repaired zfs://pool=name/vdev=guid