JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris ZFS 관리 설명서     Oracle Solaris 10 8/11 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

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

2.  Oracle Solaris ZFS 시작하기

3.  Oracle Solaris ZFS와 전통적인 파일 시스템의 차이

4.  Oracle Solaris 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 저장소 풀 업그레이드

5.  Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트

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

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

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

9.  Oracle Solaris ZFS 위임 관리

10.  Oracle Solaris ZFS 고급 주제

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

A.  Oracle Solaris ZFS 버전 설명

색인

ZFS 저장소 풀 만들기 및 삭제

다음 섹션에서는 ZFS 저장소 풀을 만들고 삭제하는 여러 시나리오를 설명합니다.

풀 만들기 및 삭제는 빠르고 쉽습니다. 하지만 이러한 작업을 수행할 때 주의하십시오. 새 풀에서 사용될 것으로 알려진 장치 사용을 막기 위한 확인이 수행되지만 ZFS에서 장치가 이미 사용 중인지 항상 알 수 있는 것은 아닙니다. 풀 삭제는 풀 만들기보다 쉽습니다. zpool destroy를 주의해서 사용하십시오. 이 단순한 명령이 막대한 결과를 가져올 수 있습니다.

ZFS 저장소 풀 만들기

저장소 풀을 만들려면 zpool create 명령을 사용합니다. 이 명령은 풀 이름 및 가상 장치 수를 인수로 사용합니다. 풀 이름은 ZFS 구성 요소 명명 요구 사항의 조건을 충족해야 합니다.

기본 저장소 풀 만들기

다음 명령은 c1t0d0c1t1d0 디스크로 구성된 tank 이름의 새 풀을 만듭니다.

# zpool create tank c1t0d0 c1t1d0

전체 디스크를 나타내는 장치 이름은 /dev/dsk 디렉토리에서 찾을 수 있으며, 단일 대형 슬라이스를 포함하도록 ZFS에 의해 알맞게 레이블이 지정됩니다. 데이터는 두 디스크에 걸쳐 동적으로 스트라이프됩니다.

미러된 저장소 풀 만들기

미러된 풀을 만들려면 mirror 키워드 다음에 미러를 구성할 저장소 장치 수를 사용합니다. 명령줄에 mirror 키워드를 반복하면 여러 미러를 지정할 수 있습니다. 다음 명령은 2개의 이중 미러를 갖춘 풀을 만듭니다.

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

두번째 mirror 키워드는 새 최상위 레벨 가상 장치가 지정됨을 나타냅니다. 데이터는 두 미러에 걸쳐 동적으로 스트라이프되어, 두 디스크 사이에 알맞게 데이터가 중복됩니다.

권장되는 미러된 구성에 대한 자세한 내용은 다음 사이트를 참조하십시오.

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide

현재 ZFS 미러된 구성에서는 다음 작업이 지원됩니다.

미러된 저장소 풀에서 로그 또는 캐시 장치가 아닌 장치는 절대로 제거할 수 없습니다. RFE가 이 기능을 위해 마련되었습니다.

ZFS 루트 풀 만들기

ZFS 루트 파일 시스템에서 설치하고 부트할 수 있습니다. 다음 루트 풀 구성 정보를 검토하십시오.

ZFS 루트 파일 시스템 설치 및 부트에 대한 자세한 내용은 5 장Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트를 참조하십시오.

RAID-Z 저장소 풀 만들기

단일 패리티 RAID-Z 풀을 만드는 것은 raidz 또는 raidz1 키워드가 mirror 대신 사용된다는 점을 제외하고 미러된 풀을 만드는 것과 동일합니다. 다음 예는 5개의 디스크로 구성된 단일 RAID-Z 장치의 풀을 만드는 방법을 보여줍니다.

# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0

이 예는 단축 장치 이름 또는 전체 장치 이름을 사용하여 디스크를 지정할 수 있다는 것을 보여줍니다. /dev/dsk/c5t0d0c5t0d0은 모두 동일 디스크를 가리킵니다.

풀을 만들 때 raidz2 또는 raidz3 키워드를 사용하여 이중 패리티 또는 삼중 패리티 RAID-Z 구성을 만들 수 있습니다. 예:

# zpool create tank raidz2 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0
# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c3t0d0  ONLINE       0     0     0
            c4t0d0  ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0

errors: No known data errors
# zpool create tank raidz3 c0t0d0 c1t0d0 c2t0d0 c3t0d0 c4t0d0 c5t0d0 c6t0d0 c7t0d0
# zpool status -v tank
  pool: tank
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz3-0  ONLINE       0     0     0
            c0t0d0  ONLINE       0     0     0
            c1t0d0  ONLINE       0     0     0
            c2t0d0  ONLINE       0     0     0
            c3t0d0  ONLINE       0     0     0
            c4t0d0  ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0
            c6t0d0  ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0

errors: No known data errors

현재 ZFS RAID-Z 구성에서는 다음 작업이 지원됩니다.

현재 RAID-Z 구성에서는 다음 작업이 지원되지 않습니다.

RAID-Z 구성에 대한 자세한 내용은 RAID-Z 저장소 풀 구성을 참조하십시오.

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

기본적으로 ZIL은 기본 풀 내의 블록에서 할당됩니다. 하지만 NVRAM 또는 전용 디스크와 같은 별도의 의도 로그 장치를 사용하면 성능을 높일 수도 있습니다. ZFS 로그 장치에 대한 자세한 내용은 개별 ZFS 로그 장치 설정을 참조하십시오.

저장소 풀을 만들 때 또는 해당 풀이 만들어진 후 ZFS 로그 장치를 설정할 수 있습니다.

다음 예는 미러된 로그 장치가 있는 미러된 저장소 풀을 만드는 방법을 보여줍니다.

# zpool create datap mirror c1t1d0 c1t2d0 mirror c1t3d0 c1t4d0 log mirror c1t5d0 c1t8d0
# zpool status datap
  pool: datap
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        datap       ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c1t1d0  ONLINE       0     0     0
            c1t2d0  ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            c1t3d0  ONLINE       0     0     0
            c1t4d0  ONLINE       0     0     0
        logs
          mirror-2  ONLINE       0     0     0
            c1t5d0  ONLINE       0     0     0
            c1t8d0  ONLINE       0     0     0

errors: No known data errors

로그 장치 실패에서 복구에 대한 자세한 내용은 예 11-2를 참조하십시오.

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

캐시 장치가 있는 저장소 풀을 만들어 저장소 풀 데이터를 캐시에 저장할 수 있습니다. 예:

# zpool create tank mirror c2t0d0 c2t1d0 c2t3d0 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

캐시 장치가 있는 ZFS 저장소 풀을 만들지 여부를 결정할 때 다음 사항을 고려하십시오.

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

각 저장소 풀에는 하나 이상의 가상 장치가 포함됩니다. 가상 장치는 물리적 저장소의 레이아웃 및 저장소 풀의 결함 특성을 설명하는 저장소 풀의 내부 표현입니다. 따라서 가상 장치는 저장소 풀을 만드는 데 사용된 디스크 장치나 파일을 나타냅니다. 풀에는 구성 최상위에 많은 수의 가상 장치(최상위 레벨 vdev라고 함)가 있을 수 있습니다.

최상위 레벨 가상 장치에 둘 이상의 물리적 장치가 포함되어 있을 경우 구성은 미러 또는 RAID-Z 가상 장치로 데이터 중복성을 제공합니다. 이러한 가상 장치는 디스크, 디스크 슬라이스 또는 파일로 구성됩니다. 스페어는 풀에 대해 사용 가능한 핫 스페어를 추적하는 특수한 가상 장치입니다.

다음 예는 각각 두 디스크의 미러인 2개의 최상위 레벨 가상 장치로 구성된 풀을 만드는 방법을 보여줍니다.

# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0

다음 예는 4개의 디스크가 있는 하나의 최상위 레벨 가상 장치로 구성된 풀을 만드는 방법을 보여줍니다.

# zpool create mypool raidz2 c1d0 c2d0 c3d0 c4d0

zpool add 명령을 사용하면 이 풀에 다른 최상위 레벨 가상 장치를 추가할 수 있습니다. 예를 들면 다음과 같습니다.

# zpool add mypool raidz2 c2d1 c3d1 c4d1 c5d1

중복되지 않은 풀에서 사용되는 디스크, 디스크 슬라이스 또는 파일은 최상위 레벨 가상 장치로 동작합니다. 저장소 풀은 일반적으로 여러 최상위 레벨 가상 장치를 포함합니다. ZFS는 풀의 모든 최상위 레벨 가상 장치 사이에 동적으로 데이터를 스트라이프합니다.

ZFS 저장소 풀에 포함된 가상 장치 및 물리적 장치는 zpool status 명령으로 표시됩니다. 예를 들면 다음과 같습니다.

# 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

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

풀 만들기 오류는 여러 가지 원인으로 발생할 수 있습니다. 지정된 장치가 존재하지 않는 경우와 같이 일부 원인은 분명하지만, 기타 원인은 좀더 미묘할 수 있습니다.

사용 중인 장치 감지

장치를 포맷하기 전에 ZFS는 먼저 디스크가 ZFS 또는 운영 체제의 다른 부분에서 사용되고 있는지 여부를 확인합니다. 디스크가 사용 중인 경우 다음과 같은 오류가 나타날 수 있습니다.

# zpool create tank c1t0d0 c1t1d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently mounted on swap. Please see swap(1M).
/dev/dsk/c1t1d0s0 is part of active ZFS pool zeepool. Please see zpool(1M).

일부 오류는 -f 옵션을 대체할 수 있지만, 대부분의 오류는 그럴 수 없습니다. 다음 조건은 -f 옵션을 사용하여 대체할 수 없으며 수동으로 해결해야 합니다.

마운트된 파일 시스템

디스크 또는 해당 슬라이스 중 하나가 현재 마운트된 파일 시스템을 포함하고 있습니다. 이 오류를 해결하려면 umount 명령을 사용합니다.

/etc/vfstab의 파일 시스템

디스크가 /etc/vfstab 파일에 나열된 파일 시스템을 포함하지만, 파일 시스템이 현재 마운트되어 있지 않습니다. 이 오류를 해결하려면 /etc/vfstab 파일에서 라인을 제거하거나 주석 처리합니다.

전용 덤프 장치

디스크가 시스템에 대한 전용 덤프 장치로 사용 중입니다. 이 오류를 해결하려면 dumpadm 명령을 사용합니다.

ZFS 풀의 일부

디스크 또는 파일이 활성 ZFS 저장소 풀의 일부입니다. 이 오류를 해결하려면 zpool destroy 명령을 사용하여 다른 풀을 삭제합니다(더 이상 필요하지 않은 경우). 또는 zpool detach 명령을 사용하여 다른 풀에서 디스크를 분리합니다. 미러된 저장소 풀에서만 디스크를 분리할 수 있습니다.

다음 사용 중 여부 확인은 유용한 경고로 사용되며 -f 옵션을 사용하여 대체하고 풀을 만들 수 있습니다.

파일 시스템 포함

마운트되어 있지 않고 사용 중이 아닌 것으로 보이지만 디스크가 알려진 파일 시스템을 포함하고 있습니다.

볼륨의 일부

디스크가 Solaris Volume Manager 볼륨의 일부입니다.

Live Upgrade

디스크가 Oracle Solaris Live Upgrade에 대한 대체 부트 환경으로 사용 중입니다.

내보낸 ZFS 풀의 일부

디스크가 시스템에서 내보내졌거나 수동으로 제거된 저장소 풀의 일부입니다. 후자의 경우 디스크가 다른 시스템에서 사용 중인 네트워크 연결 드라이브이거나 아닐 수 있으므로 풀은 잠재적으로 활성 상태로 보고됩니다. 잠재적으로 활성 상태인 풀을 대체할 때 주의하십시오.

다음 예는 -f 옵션 사용 방법을 보여줍니다.

# zpool create tank c1t0d0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c1t0d0s0 contains a ufs filesystem.
# zpool create -f tank c1t0d0

이상적으로는 -f 옵션을 사용하여 대체하는 대신 오류를 해결해야 합니다.

일치하지 않는 복제 레벨

복제 레벨이 서로 다른 가상 장치로 풀을 만드는 것은 권장되지 않습니다. zpool 명령은 일치하지 않는 레벨의 중복성으로 풀을 만들지 못하도록 시도합니다. 이러한 구성으로 풀을 만들려고 시도할 경우 다음과 유사한 오류가 표시됩니다.

# zpool create tank c1t0d0 mirror c2t0d0 c3t0d0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: both disk and mirror vdevs are present
# zpool create tank mirror c1t0d0 c2t0d0 mirror c3t0d0 c4t0d0 c5t0d0
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: 2-way mirror and 3-way mirror vdevs are present

이러한 오류는 -f 옵션으로 대체할 수 있지만, 이 방식은 피해야 합니다. 명령은 크기가 다른 장치를 사용하여 미러된 풀 또는 RAID-Z 풀을 만드는 것에 대해 경고하기도 합니다. 이 구성이 허용되기는 하지만, 중복성 레벨이 일치하지 않으면 큰 용량의 장치에서 사용되지 않는 디스크 공간이 생기게 됩니다. 경고를 대체하려면 -f 옵션이 필요합니다.

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

풀을 만들려는 시도는 여러 가지 방식으로 예상치 않게 실패할 수 있으며, 디스크 포맷은 위험한 작업이 될 수 있습니다. 이러한 이유로 zpool create 명령에는 실제로 장치에 쓰지 않고 풀 만들기를 시뮬레이션하는 추가 옵션인 -n이 있습니다. 이 dry run 옵션은 장치 사용 중 여부 확인 및 복제 레벨 검증을 수행하고 이 과정에서 발생하는 모든 오류를 보고합니다. 오류가 발견되지 않으면 다음과 유사한 출력 결과가 표시됩니다.

# zpool create -n tank mirror c1t0d0 c1t1d0
would create 'tank' with the following layout:

        tank
          mirror
            c1t0d0
            c1t1d0

일부 오류는 실제로 풀을 만들지 않으면 감지할 수 없습니다. 가장 일반적인 예는 동일 구성에서 동일한 장치를 두 번 지정하는 것입니다. 이 오류는 실제로 데이터를 쓰지 않으면 사실상 감지할 수 없으므로 zpool create -n 명령에서 성공으로 보고할 수 있지만, 이 옵션 없이 명령을 실행하면 풀 만들기를 실패합니다.

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

풀을 만들 때 최상위 레벨 데이터 집합에 대한 기본 마운트 지점은 /pool-name입니다. 이 디렉토리는 존재하지 않거나 비어 있어야 합니다. 디렉토리가 존재하지 않을 경우 자동으로 생성됩니다. 디렉토리가 비어 있을 경우 루트 데이터 집합이 기존 디렉토리 위에 마운트됩니다. 다른 기본 마운트 지점으로 풀을 만들려면 zpool create 명령의 -m 옵션을 사용합니다. 예:

# zpool create home c1t0d0
default mountpoint '/home' exists and is not empty
use '-m' option to provide a different default
# zpool create -m /export/zfs home c1t0d0

이 명령은 새로운 풀 home 및 마운트 지점 /export/zfs home 데이터 집합을 만듭니다.

마운트 지점에 대한 자세한 내용은 ZFS 마운트 지점 관리를 참조하십시오.

ZFS 저장소 풀 삭제

풀은 zpool destroy 명령을 사용하여 삭제됩니다. 이 명령은 마운트된 데이터 집합이 포함되어 있더라도 풀을 삭제합니다.

# zpool destroy tank

주의

주의 - 풀을 삭제할 때 주의하십시오. 올바른 풀을 삭제하고 있는지 및 항상 데이터의 복사본을 가지고 있는지 확인하십시오. 실수로 잘못된 풀을 삭제할 경우 풀 복구를 시도할 수 있습니다. 자세한 내용은 삭제된 ZFS 저장소 풀 복구를 참조하십시오.


결함 장치가 있는 풀 삭제

풀을 삭제하려면 풀이 더 이상 유효하지 않음을 나타내는 데이터를 디스크에 기록해야 합니다. 이 상태 정보는 가져오기를 수행할 때 해당 장치가 잠재적인 풀로 표시되지 않도록 합니다. 하나 이상의 장치를 사용할 수 없어도 풀을 삭제할 수 있습니다. 하지만 필요한 상태 정보는 이러한 사용할 수 없는 장치에 기록되지 않습니다.

이러한 장치가 제대로 복구되면 새 풀을 만들 때 잠재적으로 활성 상태로 보고됩니다. 가져올 풀을 검색할 때 유효한 장치로 나타납니다. 풀에 결함이 있는 장치가 많아 풀 자체가 결함인 경우(최상위 레벨 가상 장치가 결함을 의미), 명령은 경고를 출력하고 -f 옵션 없이는 완료할 수 없습니다. 이 옵션은 풀을 열 수 없어 거기에 저장된 데이터를 알 수 없으므로 필요합니다. 예를 들면 다음과 같습니다.

# zpool destroy tank
cannot destroy 'tank': pool is faulted
use '-f' to force destruction anyway
# zpool destroy -f tank

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

풀 가져오기에 대한 자세한 내용은 ZFS 저장소 풀 가져오기를 참조하십시오.