Oracle® Solaris 11.2의 ZFS 파일 시스템 관리

인쇄 보기 종료

업데이트 날짜: 2014년 12월
 
 

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 볼륨의 일부입니다.

내보낸 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

이 명령은 마운트 지점이 /export/zfshome 파일 시스템 및 새로운 풀 home을 만듭니다.

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