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 저장소 풀 관리

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

Oracle Solaris ZFS 루트 파일 시스템 설치 및 부트(개요)

ZFS 설치 기능

ZFS 지원을 위한 Oracle Solaris 설치 및 Live Upgrade 요구 사항

Oracle Solaris 릴리스 요구 사항

일반 ZFS 저장소 풀 요구 사항

ZFS 저장소 풀의 디스크 공간 요구 사항

ZFS 저장소 풀 구성 요구 사항

ZFS 루트 파일 시스템 설치(Oracle Solaris 초기 설치)

미러링된 ZFS 루트 풀을 만드는 방법(사후 설치)

ZFS 루트 파일 시스템 설치(Oracle Solaris Flash 아카이브 설치)

ZFS 루트 파일 시스템 설치(JumpStart 설치)

ZFS에 대한 JumpStart 키워드

ZFS에 대한 JumpStart 프로필의 예

ZFS에 대한 JumpStart 문제

ZFS 루트 파일 시스템으로 마이그레이션 또는 ZFS 루트 파일 시스템 업데이트(Live Upgrade)

Live Upgrade를 통한 ZFS 마이그레이션 문제

Live Upgrade를 사용하여 영역이 없는 ZFS 루트 파일 시스템 마이그레이션 또는 업데이트

Live Upgrade를 사용하여 영역이 있는 시스템 마이그레이션 또는 업그레이드(Solaris 10 10/08)

UFS에 영역 루트가 있는 UFS 루트 파일 시스템을 ZFS 루트 파일 시스템으로 마이그레이션하는 방법(Solaris 10 10/08)

ZFS에 영역 루트가 있는 ZFS 루트 파일 시스템을 구성하는 방법(Solaris 10 10/08)

ZFS에 영역 루트가 있는 ZFS 루트 파일 시스템을 업그레이드하거나 패치를 적용하는 방법(Solaris 10 10/08)

Oracle Solaris Live Upgrade를 사용하여 영역이 있는 시스템 마이그레이션 또는 업그레이드(Solaris 10 5/09 이상)

지원되는 ZFS 영역 루트 구성 정보(Solaris 10 5/09 이상)

ZFS 루트 파일 시스템 및 영역 루트가 있는 ZFS BE를 만드는 방법(Solaris 10 5/09 이상)

영역 루트가 있는 ZFS 루트 파일 시스템을 업그레이드하거나 패치를 적용하는 방법(Solaris 10 5/09 이상)

영역 루트가 있는 UFS 루트 파일 시스템을 ZFS 루트 파일 시스템으로 마이그레이션하는 방법(Solaris 10 5/09 이상)

스왑 및 덤프 장치에 대한 ZFS 지원

ZFS 스왑 장치 및 덤프 장치의 크기 조정

ZFS 덤프 장치 문제 해결

ZFS 루트 파일 시스템에서 부트

미러링된 ZFS 루트 풀의 대체 디스크에서 부트

SPARC: ZFS 루트 파일 시스템에서 부트

x86: ZFS 루트 파일 시스템에서 부트

부트가 성공하지 못하도록 하는 ZFS 마운트 지점 문제 해결(Solaris 10 10/08)

ZFS 마운트 지점 문제 해결 방법

복구를 위해 ZFS 루트 환경에서 부트

ZFS 비상 안전 모드 부트 방법

대체 매체에서 ZFS를 부트하는 방법

ZFS 루트 풀 또는 루트 풀 스냅샷 복구

ZFS 루트 풀의 디스크 교체 방법

루트 풀 스냅샷을 만드는 방법

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 루트 풀의 디스크 교체 방법

다음과 같은 경우 루트 풀의 디스크를 교체해야 할 수 있습니다.

미러링된 루트 풀 구성에서는 대체 매체에서 부트하지 않고도 디스크를 교체할 수 있습니다. zpool replace 명령을 사용하여 실패한 디스크를 교체할 수 있습니다. 또는 추가 디스크가 있을 경우 zpool attach 명령을 사용할 수 있습니다. 추가 디스크를 연결하고 루트 풀 디스크를 분리하는 예는 이 단원의 절차를 참조하십시오.

일부 하드웨어의 경우 실패한 디스크를 교체하기 위해 zpool replace 작업을 시도하기 전에 디스크를 오프라인 상태로 만들고 구성을 해제해야 합니다. 예를 들면 다음과 같습니다.

# zpool offline rpool c1t0d0s0
# cfgadm -c unconfigure c1::dsk/c1t0d0
<Physically remove failed disk c1t0d0>
<Physically insert replacement disk c1t0d0>
# cfgadm -c configure c1::dsk/c1t0d0
# zpool replace rpool c1t0d0s0
# zpool online rpool c1t0d0s0
# zpool status rpool
<Let disk resilver before installing the boot blocks>
SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0

교체 디스크를 넣은 후 해당 디스크를 온라인 상태로 만들거나 재구성할 필요가 없는 하드웨어도 있습니다.

교체 디스크에서의 부트를 테스트하고 교체 디스크가 실패할 경우 기존 디스크에서 수동으로 부트할 수 있도록 현재 디스크와 새 디스크의 부트 장치 경로 이름을 식별해야 합니다. 다음 절차의 예에서 현재 루트 풀 디스크(c1t10d0s0)의 경로 이름은 다음과 같습니다.

/pci@8,700000/pci@3/scsi@5/sd@a,0

교체 부트 디스크(c1t9d0s0)의 경로 이름은 다음과 같습니다.

/pci@8,700000/pci@3/scsi@5/sd@9,0
  1. 교체 디스크(또는 새 디스크)를 물리적으로 연결합니다.
  2. 새 디스크의 레이블이 SMI, 슬라이스가 0인지 확인합니다.

    루트 풀에 사용되는 디스크의 레이블을 재지정하는 방법은 다음 사이트를 참조하십시오.

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

  3. 새 디스크를 루트 풀에 연결합니다.

    예를 들면 다음과 같습니다.

    # zpool attach rpool c1t10d0s0 c1t9d0s0
  4. 루트 풀 상태를 확인합니다.

    예를 들면 다음과 같습니다.

    # zpool status rpool
      pool: rpool
     state: ONLINE
    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.
     scrub: resilver in progress, 25.47% done, 0h4m to go
    config:
    
            NAME           STATE     READ WRITE CKSUM
            rpool          ONLINE       0     0     0
              mirror-0     ONLINE       0     0     0
                c1t10d0s0  ONLINE       0     0     0
                c1t9d0s0   ONLINE       0     0     0
    
    errors: No known data errors
  5. 새 디스크에서 부트할 수 있는지 확인합니다.

    예를 들어, SPARC 기반 시스템에서는 다음과 유사한 구문을 사용합니다.

    ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0
  6. 시스템이 새 디스크에서 부트되면 이전 디스크를 분리합니다.

    예를 들면 다음과 같습니다.

    # zpool detach rpool c1t10d0s0
  7. 기본 부트 장치를 재설정하여 새 디스크에서 자동으로 부트하도록 시스템을 설정합니다.
    • SPARC - SPARC 부트 PROM에서 eeprom 명령 또는 setenv 명령을 사용합니다.

    • x86 - 시스템 BIOS를 재구성합니다.

루트 풀 스냅샷을 만드는 방법

복구를 위해 루트 풀 스냅샷을 만들 수 있습니다. 루트 풀 스냅샷을 만들 때는 순환적 루트 풀 스냅샷을 수행하는 것이 가장 좋습니다.

다음 절차에서는 순환적 루트 풀 스냅샷을 만든 후 해당 스냅샷을 파일로 저장하고 원격 시스템의 풀에 스냅샷으로 저장합니다. 루트 풀이 실패할 경우 NFS를 사용하여 원격 데이터 집합을 마운트할 수 있으며 다시 만들어진 풀로 스냅샷 파일을 수신할 수 있습니다. 또한 루트 풀 스냅샷을 원격 시스템의 풀에 실제 스냅샷으로 저장할 수 있습니다. 원격 시스템에서 스냅샷을 주고 받는 작업은 약간 복잡합니다. 손상을 복구할 시스템이 Oracle Solaris OS 미니 루트에서 부트되는 동안 ssh를 구성하거나 rsh를 사용해야 하기 때문입니다.

루트 풀 스냅샷 원격 저장 및 복구에 대한 자세한 내용은 다음 사이트를 참조하십시오.

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

파일 또는 스냅샷으로 원격 저장된 스냅샷을 검증하는 것은 루트 풀 복구 과정에서 중요한 단계입니다. 어떤 방법이든 정기적으로(예: 풀 구성이 변경되는 경우 또는 Solaris OS가 업그레이드되는 경우) 스냅샷을 다시 만들어야 합니다.

다음 절차에서는 시스템이 zfsBE 부트 환경에서 부트됩니다.

  1. 원격 시스템에서 스냅샷을 저장할 풀 및 파일 시스템을 만듭니다.

    예를 들면 다음과 같습니다.

    remote# zfs create rpool/snaps
  2. 파일 시스템을 로컬 시스템과 공유합니다.

    예를 들면 다음과 같습니다.

    remote# zfs set sharenfs='rw=local-system,root=local-system' rpool/snaps
    # share
    -@rpool/snaps   /rpool/snaps   sec=sys,rw=local-system,root=local-system   "" 
  3. 순환적 루트 풀 스냅샷을 만듭니다.
    local# zfs snapshot -r rpool@snap1
    local# zfs list -r rpool
    NAME                        USED  AVAIL  REFER  MOUNTPOINT
    rpool                      7.84G  59.1G   109K  /rpool
    rpool@snap1                  21K      -   106K  -
    rpool/ROOT                 4.78G  59.1G    31K  legacy
    rpool/ROOT@snap1               0      -    31K  -
    rpool/ROOT/s10zfsBE        4.78G  59.1G  4.76G  /
    rpool/ROOT/s10zfsBE@snap1  15.6M      -  4.75G  -
    rpool/dump                 1.00G  59.1G  1.00G  -
    rpool/dump@snap1             16K      -  1.00G  -
    rpool/export                 99K  59.1G    32K  /export
    rpool/export@snap1           18K      -    32K  -
    rpool/export/home            49K  59.1G    31K  /export/home
    rpool/export/home@snap1      18K      -    31K  -
    rpool/swap                 2.06G  61.2G    16K  -
    rpool/swap@snap1               0      -    16K  -
  4. 루트 풀 스냅샷을 원격 시스템에 보냅니다.

    예를 들어, 루트 풀 스냅샷을 파일로 원격 풀에 보내려면 다음과 유사한 구문을 사용합니다.

    local# zfs send -Rv rpool@snap1 > /net/remote-system/rpool/snaps/rpool.snap1
    sending from @ to rpool@snap1
    sending from @ to rpool/ROOT@snap1
    sending from @ to rpool/ROOT/s10zfsBE@snap1
    sending from @ to rpool/dump@snap1
    sending from @ to rpool/export@snap1
    sending from @ to rpool/export/home@snap1
    sending from @ to rpool/swap@snap1

    루트 풀 스냅샷을 스냅샷으로 원격 풀에 보내려면 다음과 유사한 구문을 사용합니다.

    local# zfs send -Rv rpool@snap1 | ssh remote-system zfs receive -Fd -o canmount=off tank/snaps
    sending from @ to rpool@snap1
    sending from @ to rpool/ROOT@snap1
    sending from @ to rpool/ROOT/s10zfsBE@snap1
    sending from @ to rpool/dump@snap1
    sending from @ to rpool/export@snap1
    sending from @ to rpool/export/home@snap1
    sending from @ to rpool/swap@snap1

ZFS 루트 풀을 다시 만들고 루트 풀 스냅샷을 복원하는 방법

이 절차에서는 다음과 같이 가정합니다.

모든 단계는 로컬 시스템에서 수행됩니다.

  1. 설치 DVD 또는 네트워크에서 부트합니다.
    • SPARC - 다음 부트 방법 중 하나를 선택합니다.

      ok boot net -s
      ok boot cdrom -s

      -s 옵션을 사용할 수 없을 경우 설치 프로그램을 종료해야 합니다.

    • x86 – DVD에서 부트하거나 네트워크에서 부트하는 옵션을 선택합니다. 그런 다음 설치 프로그램을 종료합니다.

  2. 루트 풀 스냅샷을 파일로 원격 시스템에 보낸 경우 원격 스냅샷 파일 시스템을 마운트합니다.

    예를 들면 다음과 같습니다.

    # mount -F nfs remote-system:/rpool/snaps /mnt

    네트워크 서비스가 구성되지 않은 경우 원격 시스템의 IP 주소를 지정해야 할 수 있습니다.

  3. 루트 풀 디스크가 교체되고 ZFS에서 사용 가능한 디스크 레이블을 포함하지 않는 경우 디스크 레이블을 재지정해야 합니다.

    디스크 레이블 재지정에 대한 자세한 내용은 다음 사이트를 참조하십시오.

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

  4. 루트 풀을 다시 만듭니다.

    예를 들면 다음과 같습니다.

    # zpool create -f -o failmode=continue -R /a -m legacy -o cachefile=
    /etc/zfs/zpool.cache rpool c1t1d0s0
  5. 루트 풀 스냅샷을 복원합니다.

    이 단계는 오래 걸릴 수 있습니다. 예를 들면 다음과 같습니다.

    # cat /mnt/rpool.0804 | zfs receive -Fdu rpool

    -u 옵션을 사용하면 zfs receive 작업이 완료될 때 복원된 아카이브가 마운트되지 않습니다.

    원격 시스템의 풀에 저장된 실제 루트 풀 스냅샷을 복원하려면 다음과 유사한 구문을 사용합니다.

    # rsh remote-system zfs send -Rb tank/snaps/rpool@snap1 | zfs receive -F rpool
  6. 루트 풀 데이터 집합이 복원되었는지 확인합니다.

    예를 들면 다음과 같습니다.

    # zfs list
  7. 루트 풀 BE에서 bootfs 등록 정보를 설정합니다.

    예를 들면 다음과 같습니다.

    # zpool set bootfs=rpool/ROOT/zfsBE rpool
  8. 새 디스크에 부트 블록을 설치합니다.
    • SPARC:

      # installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t1d0s0
    • x86:

      # installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t1d0s0
  9. 시스템을 재부트합니다.
    # init 6

비상 안전 부트에서 루트 풀 스냅샷을 롤백하는 방법

이 절차에서는 기존 루트 풀 스냅샷을 사용할 수 있다고 가정합니다. 예에서는 로컬 시스템에서 이를 사용할 수 있습니다.

# zfs snapshot -r rpool@snap1
# zfs list -r rpool
NAME                        USED  AVAIL  REFER  MOUNTPOINT
rpool                      7.84G  59.1G   109K  /rpool
rpool@snap1                  21K      -   106K  -
rpool/ROOT                 4.78G  59.1G    31K  legacy
rpool/ROOT@snap1               0      -    31K  -
rpool/ROOT/s10zfsBE        4.78G  59.1G  4.76G  /
rpool/ROOT/s10zfsBE@snap1  15.6M      -  4.75G  -
rpool/dump                 1.00G  59.1G  1.00G  -
rpool/dump@snap1             16K      -  1.00G  -
rpool/export                 99K  59.1G    32K  /export
rpool/export@snap1           18K      -    32K  -
rpool/export/home            49K  59.1G    31K  /export/home
rpool/export/home@snap1      18K      -    31K  -
rpool/swap                 2.06G  61.2G    16K  -
rpool/swap@snap1               0      -    16K  -
  1. 시스템을 종료하고 비상 안전 모드를 부트합니다.
    ok boot -F failsafe
    ROOT/zfsBE was found on rpool.
    Do you wish to have it mounted read-write on /a? [y,n,?] y
    mounting rpool on /a
    
    Starting shell.
  2. 각 루트 풀 스냅샷을 롤백합니다.
    # zfs rollback rpool@snap1
    # zfs rollback rpool/ROOT@snap1
    # zfs rollback rpool/ROOT/s10zfsBE@snap1
  3. 다중 사용자 모드로 재부트합니다.
    # init 6