JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: ZFS 파일 시스템     Oracle Solaris 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.  ZFS 루트 풀 구성 요소 관리

ZFS 루트 풀 구성 요소 관리(개요)

ZFS 루트 풀 요구 사항

ZFS 루트 풀 공간 요구 사항

ZFS 루트 풀 구성 요구 사항

ZFS 루트 풀 설치 문제 해결

ZFS 루트 풀 관리

ZFS 루트 풀 설치

ZFS 부트 환경 업데이트 방법

대체 BE를 마운트하는 방법

미러링된 루트 풀 구성 방법

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

다른 루트 풀에 BE를 만드는 방법

ZFS 스왑 및 덤프 장치 관리

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

ZFS 덤프 장치 문제 해결

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

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

SPARC 기반 시스템의 ZFS 루트 파일 시스템에서 부트

x86 기반 시스템의 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 문제 해결 및 풀 복구

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

13.  Oracle Solaris ZFS 권장 방법

A.  Oracle Solaris ZFS 버전 설명

색인

ZFS 루트 풀 관리

다음 단원에서는 ZFS 루트 풀 설치 및 업데이트와 미러링된 루트 풀 구성에 대한 정보를 제공합니다.

ZFS 루트 풀 설치

Oracle Solaris 11 Live CD 설치 방법을 사용하면 단일 디스크에 기본 ZFS 루트 풀이 설치됩니다. Oracle Solaris 11 AI(자동 설치) 방법을 사용할 경우 ZFS 루트 풀의 디스크 또는 미러링된 디스크를 식별할 AI 매니페스트를 만들 수 있습니다.

AI 설치 프로그램은 기본 부트 디스크 또는 사용자가 식별한 대상 디스크에 ZFS 루트 풀을 설치하는 유연성을 제공합니다. c1t0d0s0과 같은 논리적 장치 또는 물리적 장치 경로를 지정할 수 있습니다. 또한 설치할 장치에 대해 MPxIO 식별자 또는 장치 ID를 사용할 수 있습니다.

설치 후 ZFS 저장소 풀 및 파일 시스템 정보를 검토하십시오. 이는 설치 유형 및 사용자 정의에 따라 다를 수 있습니다. 예를 들면 다음과 같습니다.

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

        NAME        STATE     READ WRITE CKSUM
        rpool       ONLINE       0     0     0
          c1t3d0s0  ONLINE       0     0     0

errors: No known data errors
# zfs list
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
rpool                    6.49G  60.4G    40K  /rpool
rpool/ROOT               3.46G  60.4G    31K  legacy
rpool/ROOT/solaris       3.46G  60.4G  3.16G  /
rpool/ROOT/solaris/var    303M  60.4G   216M  /var
rpool/dump               2.00G  60.5G  1.94G  -
rpool/export             96.5K  60.4G    32K  /rpool/export
rpool/export/home        64.5K  60.4G    32K  /rpool/export/home
rpool/export/home/admin  32.5K  60.4G  32.5K  /rpool/export/home/admin
rpool/swap               1.03G  60.5G  1.00G  -

ZFS BE 정보를 검토하십시오. 예를 들면 다음과 같습니다.

# beadm list
# beadm list
BE      Active Mountpoint Space Policy Created          
--      ------ ---------- ----- ------ -------          
solaris NR     /          3.85G static 2011-09-26 08:37 

위 출력에서 Active 필드는 BE가 현재 활성 상태인지(N으로 표시됨), 재부트 시 활성화되는지(R로 표시됨) 또는 둘 다(NR로 표시됨)인지를 나타냅니다.

ZFS 부트 환경 업데이트 방법

기본 ZFS BE(부트 환경)의 이름은 기본적으로 solaris입니다. beadm list 명령을 사용하여 BE를 식별할 수 있습니다. 예를 들면 다음과 같습니다.

# beadm list
BE      Active Mountpoint Space Policy Created          
--      ------ ---------- ----- ------ -------          
solaris NR     /          8.41G static 2011-01-13 15:31 

위 출력에서 NR은 BE가 현재 활성 상태이며 재부트 시 활성 BE가 됨을 의미합니다.

pkg update 명령을 사용하여 ZFS 부트 환경을 업데이트할 수 있습니다. pkg update 명령을 사용하여 ZFS BE를 업데이트할 경우 기존 BE에 대한 업데이트가 매우 사소한 업데이트가 아닌 한 새 BE가 만들어지고 자동으로 활성화됩니다.

  1. ZFS BE를 업데이트합니다.
    # pkg update
                                           
    
    DOWNLOAD                                  PKGS       FILES    XFER (MB)
    Completed                              707/707 10529/10529  194.9/194.9 
    .
    .
    .

    새 BE solaris-1이 자동으로 만들어지고 활성화됩니다.

  2. BE 활성화를 완료하려면 시스템을 재부트합니다. 그런 후 BE 상태를 확인합니다.
    # init 6
    .
    .
    .
    # beadm list
    BE        Active Mountpoint Space Policy Created          
    --        ------ ---------- ----- ------ -------          
    solaris   -      -          6.25M static 2011-09-26 08:37 
    solaris-1 NR     /          3.92G static 2011-09-26 09:32 
  3. 새 BE를 부트할 때 오류가 발생하는 경우 이전 BE를 활성화하고 다시 부트합니다.
    # beadm activate solaris
    # init 6

대체 BE를 마운트하는 방법

복구 용도로 다른 BE의 파일을 복사하거나 액세스해야 할 수도 있습니다.

  1. 관리자로 전환합니다.
  2. 대체 BE를 마운트합니다.
    # beadm mount solaris-1 /mnt
  3. BE에 액세스합니다.
    # ls /mnt
    bin        export     media      pkg        rpool      tmp
    boot       home       mine       platform   sbin       usr
    dev        import     mnt        proc       scde       var
    devices    java       net        project    shared     
    doe        kernel     nfs4       re         src        
    etc        lib        opt        root       system     
  4. 작업을 마쳤으면 대체 BE를 마운트 해제합니다.
    # beadm umount solaris-1

미러링된 루트 풀 구성 방법

자동 설치 도중 미러링된 루트 풀을 구성하지 않는 경우 설치 후에 미러링된 루트 풀을 쉽게 구성할 수 있습니다.

루트 풀의 디스크 교체에 대한 자세한 내용은 ZFS 루트 풀의 디스크 교체 방법을 참조하십시오.

  1. 현재 루트 풀 상태를 표시합니다.
    # zpool status rpool
      pool: rpool
     state: ONLINE
     scrub: none requested
    config:
    
            NAME        STATE     READ WRITE CKSUM
            rpool       ONLINE       0     0     0
              c2t0d0s0  ONLINE       0     0     0
    
    errors: No known data errors
  2. 필요한 경우 루트 풀에 연결할 두번째 디스크를 준비합니다.
  3. 두번째 디스크를 연결하여 미러링된 루트 풀을 구성합니다.
    # zpool attach rpool c2t0d0s0 c2t1d0s0
    Make sure to wait until resilver is done before rebooting.
  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.
     scan: resilver in progress since Thu Sep 29 18:09:09 2011
        1.55G scanned out of 5.36G at 36.9M/s, 0h1m to go
        1.55G scanned out of 5.36G at 36.9M/s, 0h1m to go
        1.55G resilvered, 28.91% done
    config:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror-0    ONLINE       0     0     0
                c2t0d0s0  ONLINE       0     0     0
                c2t1d0s0  ONLINE       0     0     0  (resilvering)
    
    errors: No known data errors

    위의 출력 결과에서는 리실버링 프로세스가 완료되지 않았습니다. 다음과 유사한 메시지가 표시되면 리실버링이 완료된 것입니다.

    resilvered 5.36G in 0h10m with 0 errors on Thu Sep 29 18:19:09 2011
  5. 새 디스크에서 성공적으로 부트할 수 있는지 확인합니다.
  6. 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.
    • SPARC: eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.

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

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

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

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

SATA 디스크가 있는 시스템의 경우 장애가 발생한 디스크를 교체하기 위해 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
<Confirm that the new disk has an SMI label and a slice 0>
# 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/c1t0d0s0

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

  1. 교체 디스크를 물리적으로 연결합니다.
  2. 교체(새) 디스크의 레이블이 SMI(VTOC), 슬라이스가 0인지 확인합니다.

    루트 풀에 사용할 디스크의 레이블 재지정에 대한 자세한 내용은 Oracle Solaris 관리: 장치 및 파일 시스템의 디스크에 레이블을 지정하는 방법을 참조하십시오.

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

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

    # zpool attach rpool c2t0d0s0 c2t1d0s0
    Make sure to wait until resilver is done before rebooting.
  4. 루트 풀 상태를 확인합니다.

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

    # zpool status rpool
      pool: rpool
     state: ONLINE
     scan: resilvered 5.36G in 0h2m with 0 errors on Thu Sep 29 18:11:53 2011
    config:
    
            NAME          STATE     READ WRITE CKSUM
            rpool         ONLINE       0     0     0
              mirror-0    ONLINE       0     0     0
                c2t0d0s0  ONLINE       0     0     0
                c2t1d0s0  ONLINE       0     0     0
    
    errors: No known data errors
  5. 리실버링이 완료된 후 새 디스크에서 부트할 수 있는지 확인합니다.

    예를 들어, SPARC 기반 시스템에서는 다음을 수행합니다.

    ok boot /pci@1f,700000/scsi@2/disk@1,0

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

    /pci@1f,700000/scsi@2/disk@0,0

    아래 예에서 교체 부트 디스크(c2t1d0s0)는 다음과 같습니다.

    boot /pci@1f,700000/scsi@2/disk@1,0
  6. 시스템이 새 디스크에서 부트되면 이전 디스크를 분리합니다.

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

    # zpool detach rpool c2t0d0s0
  7. 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.
    • SPARC: eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.

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

다른 루트 풀에 BE를 만드는 방법

다른 루트 풀에 기존 BE를 재생성하려는 경우 아래 단계를 수행합니다. 독립적인 스왑 및 덤프 장치가 있는 유사한 BE가 포함된 두 개의 루트 풀을 만들 것인지 또는 스왑 및 덤프 장치를 공유하는 다른 루트 풀에 BE를 만들 것인지에 따라 단계를 수정할 수 있습니다.

두번째 루트 풀의 새 BE를 활성화하고 부트하면 첫번째 루트 풀의 이전 BE에 대한 정보가 없습니다. 원래 BE로 다시 부트하려는 경우 원래 루트 풀의 부트 디스크에서 수동으로 시스템을 부트해야 합니다.

  1. SMI(VTOC) 레이블이 지정된 디스크를 사용하여 두번째 루트 풀을 만듭니다. 예를 들면 다음과 같습니다.
    # zpool create rpool2 c4t2d0s0
  2. 두번째 루트 풀에 새 BE를 만듭니다. 예를 들면 다음과 같습니다.
    # beadm create -p rpool2 solaris2
  3. 두번째 루트 풀에서 bootfs 등록 정보를 설정합니다. 예를 들면 다음과 같습니다.
    # zpool set bootfs=rpool2/ROOT/solaris2 rpool2
  4. 새 BE를 활성화합니다. 예를 들면 다음과 같습니다.
    # beadm activate solaris2
  5. 새 BE에서 부트하지만 구체적으로 두번째 루트 풀의 부트 장치에서 부트해야 합니다.
    ok boot disk2

    시스템이 새 BE로 실행됩니다.

  6. 스왑 볼륨을 다시 만듭니다. 예를 들면 다음과 같습니다.
    # zfs create -V 4g rpool2/swap
  7. 새 스왑 장치에 대한 /etc/vfstab 항목을 업데이트합니다. 예를 들면 다음과 같습니다.
    /dev/zvol/dsk/rpool2/swap       -               -               swap -     no      -
  8. 덤프 볼륨을 다시 만듭니다. 예를 들면 다음과 같습니다.
    # zfs create -V 4g rpool2/dump
  9. 덤프 장치를 재설정합니다. 예를 들면 다음과 같습니다.
    # dumpadm -d /dev/zvol/dsk/rpool2/dump
  10. 두번째 루트 풀의 부트 디스크에서 부트되도록 기본 부트 장치를 재설정합니다.
    • SPARC - eeprom 명령 또는 부트 PROM의 setenv 명령을 사용하여 새 디스크에서 자동으로 부트되도록 시스템을 설정합니다.

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

  11. 재부트하여 원래 루트 풀의 스왑 및 덤프 장치를 지웁니다.
    # init 6