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

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

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

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

ZFS 스냅샷 개요

ZFS 스냅샷 만들기 및 삭제

ZFS 스냅샷 유지

ZFS 스냅샷 이름 바꾸기

ZFS 스냅샷 표시 및 액세스

ZFS 스냅샷에 대한 디스크 공간 계산

ZFS 스냅샷 롤백

ZFS 스냅샷 차이 식별(zfs diff)

ZFS 복제본 개요

ZFS 복제본 만들기

ZFS 복제본 삭제

ZFS 복제본으로 ZFS 파일 시스템 대체

ZFS 데이터 전송 및 수신

다른 백업 제품으로 ZFS 데이터 저장

ZFS 스냅샷 스트림 식별

ZFS 스냅샷 전송

ZFS 스냅샷 수신

ZFS 스냅샷 스트림에 다른 등록 정보 값 적용

복잡한 ZFS 스냅샷 스트림 전송 및 수신

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 send 명령은 표준 출력 결과에 기록될 스냅샷의 스트림 표현을 만듭니다. 기본적으로 전체 스트림이 생성됩니다. 출력을 파일 또는 다른 시스템으로 재지정할 수 있습니다. zfs receive 명령은 컨텐츠가 표준 출력에 제공된 스트림에 지정되어 있는 스냅샷을 만듭니다. 전체 스트림이 수신된 경우 새 파일 시스템도 생성됩니다. 이 명령으로 ZFS 스냅샷 데이터를 전송하고 ZFS 스냅샷 데이터 및 파일 시스템을 수신할 수 있습니다. 다음 절에 나와 있는 예제를 참조하십시오.

ZFS 데이터 저장을 위해 제공되는 백업 솔루션은 다음과 같습니다.

다른 백업 제품으로 ZFS 데이터 저장

zfs sendzfs receive 명령 이외에도 tarcpio 명령 등의 아카이브 유틸리티를 사용하여 ZFS 파일을 저장할 수도 있습니다. 이러한 유틸리티는 ZFS 파일 속성 및 ACL을 저장하고 복원합니다. tarcpio 명령에 적합한 옵션을 확인하십시오.

ZFS 및 타사 백업 제품에 대한 최신 정보는 Oracle Solaris 11 릴리스 정보를 참조하십시오.

ZFS 스냅샷 스트림 식별

zfs send 명령을 사용하여 ZFS 파일 시스템 또는 볼륨의 스냅샷을 스냅샷 스트림으로 변환합니다. 그런 다음 zfs receive 명령을 통해 스냅샷 스트림을 사용하여 ZFS 파일 시스템 또는 볼륨을 다시 만들 수 있습니다.

스냅샷 스트림을 만드는 데 사용된 zfs send 옵션에 따라 다른 유형의 스트림 형식이 생성됩니다.

스트림 패키지는 전체 또는 증분 스트림이 한 개 이상 포함된 스트림 유형입니다. 다음 세 가지 유형의 스트림 패키지가 있습니다.

ZFS 스냅샷 전송

zfs send 명령을 사용하여 스냅샷 스트림의 복사본을 전송하고 같은 시스템의 다른 풀 또는 백업 데이터를 백업하는 데 사용되는 다른 시스템의 다른 풀에 있는 스냅샷 스트림을 수신할 수 있습니다. 예를 들어 같은 시스템의 다른 풀에 있는 스냅샷 스트림을 전송하려면 다음과 비슷한 구문을 사용하십시오.

# zfs send tank/dana@snap1 | zfs recv spool/ds01

zfs recvzfs receive 명령에 대한 별명으로 사용할 수 있습니다.

스냅샷 스트림을 다른 시스템으로 전송하려는 경우 ssh 명령을 통해 zfs send 출력 결과를 파이프로 연결하십시오. 예를 들면 다음과 같습니다.

sys1# zfs send tank/dana@snap1 | ssh sys2 zfs recv newtank/dana

전체 스트림을 전송하는 경우 대상 파일 시스템이 존재하지 않아야 합니다.

zfs send -i 옵션을 사용하여 증분 데이터를 전송할 수 있습니다. 예를 들면 다음과 같습니다.

sys1# zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh sys2 zfs recv newtank/dana

첫번째 인수(snap1)는 이전 스냅샷이고 두번째 인수(snap2)는 이후 스냅샷입니다. 이 경우 증분 수신이 성공하려면 newtank/dana 파일 시스템이 존재해야 합니다.


주 - 원래 수신된 파일 시스템에서 파일 정보에 액세스하면 다음과 비슷한 메시지와 함께 증분 스냅샷 수신 작업이 실패할 수 있습니다.

cannot receive incremental stream of tank/dana@snap2 into newtank/dana: 
most recent snapshot of tank/dana@snap2 does not match incremental source

증분 스냅샷을 수신된 파일 시스템에도 수신해야 할 경우 원래 수신된 파일 시스템에서 파일 정보에 액세스해야 하면 atime 등록 정보를 off로 설정하십시오.


증분 snap1 소스는 스냅샷 이름의 마지막 구성 요소로 지정할 수 있습니다. 따라서 사용자가 snap1@ 기호 뒤에 이름을 지정하기만 하면 됩니다. snap1은 snap2와 같은 파일 시스템에서 생성된 것으로 간주됩니다. 예를 들면 다음과 같습니다.

sys1# zfs send -i snap1 tank/dana@snap2 | ssh sys2 zfs recv newtank/dana

이 단축 구문은 위 예의 증분 구문과 같습니다.

다른 파일 시스템 snapshot1에서 증분 스트림을 생성하려고 하면 다음과 같은 메시지가 표시됩니다.

cannot send 'pool/fs@name': not an earlier snapshot from the same fs

복사본을 여러 개 저장해야 할 경우에는 gzip 명령으로 ZFS 스냅샷 스트림 표현을 압축하십시오. 예를 들면 다음과 같습니다.

# zfs send pool/fs@snap | gzip > backupfile.gz

ZFS 스냅샷 수신

파일 시스템 스냅샷을 수신할 경우 다음 사항에 유념하십시오.

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

# zfs send tank/gozer@0830 > /bkups/gozer.083006
# zfs receive tank/gozer2@today < /bkups/gozer.083006
# zfs rename tank/gozer tank/gozer.old
# zfs rename tank/gozer2 tank/gozer

대상 파일 시스템을 변경하고 스냅샷에 대해 다른 증분 전송을 수행하려는 경우 먼저 수신 파일 시스템을 롤백해야 합니다.

다음 예를 고려하십시오. 먼저 다음과 같이 파일 시스템을 변경합니다.

sys2# rm newtank/dana/file.1

그런 다음 tank/dana@snap3에 대해 증분 전송을 수행합니다. 그러나 새 증분 스냅샷을 수신하려면 먼저 수신 파일 시스템을 롤백해야 합니다. 또는 -F 옵션을 사용하여 롤백 단계를 제거할 수 있습니다. 예를 들면 다음과 같습니다.

sys1# zfs send -i tank/dana@snap2 tank/dana@snap3 | ssh sys2 zfs recv -F newtank/dana

증분 스냅샷을 수신하는 경우 대상 파일 시스템이 이미 있어야 합니다.

파일 시스템을 변경한 다음 새 증분 스냅샷을 수신하기 위해 수신 파일 시스템을 롤백하지 않거나 -F 옵션을 사용하지 않을 경우, 다음과 비슷한 메시지가 표시됩니다.

sys1# zfs send -i tank/dana@snap4 tank/dana@snap5 | ssh sys2 zfs recv newtank/dana
cannot receive: destination has been modified since most recent snapshot

-F 옵션이 성공하기 전에 다음 검사가 수행됩니다.

ZFS 스냅샷 스트림에 다른 등록 정보 값 적용

특정 파일 시스템 등록 정보 값을 갖는 ZFS 스냅샷 스트림을 전송할 수 있지만, 스냅샷 스트림을 수신할 때 다른 로컬 등록 정보 값을 지정할 수 있습니다. 또는 스냅샷 스트림을 수신하여 원본 파일 시스템을 다시 만들 때 원본 등록 정보 값이 사용되도록 지정할 수 있습니다. 또한 스냅샷 스트림을 수신할 때 파일 시스템 등록 정보를 사용 안함으로 설정할 수 있습니다.

경우에 따라 전송 스트림의 파일 시스템 등록 정보가 수신 파일 시스템에 적용되지 않거나 로컬 파일 시스템 등록 정보(예: mountpoint 등록 정보 값)이 복원을 방해할 수 있습니다.

예를 들어 tank/data 파일 시스템의 경우 compression 등록 정보가 사용 안함으로 설정되어 있습니다. tank/data 파일 시스템의 스냅샷은 등록 정보(-p 옵션)을 사용하여 백업 풀에 전송되며 compression 등록 정보가 사용으로 설정된 상태로 수신됩니다.

# zfs get compression tank/data
NAME       PROPERTY     VALUE     SOURCE
tank/data  compression  off       default
# zfs snapshot tank/data@snap1
# zfs send -p tank/data@snap1 | zfs recv -o compression=on -d bpool
# zfs get -o all compression bpool/data
NAME        PROPERTY     VALUE     RECEIVED  SOURCE
bpool/data  compression  on        off       local

이 예에서 compression 등록 정보는 스냅샷이 bpool로 수신될 때 사용으로 설정됩니다. 따라서 bpool/data에 대한 compression 값은 on입니다.

복구를 위해 이 스냅샷 스트림이 새 풀인 restorepool로 전송될 경우 원본 스냅샷 등록 정보를 모두 유지하고자 할 수 있습니다. 이 경우 zfs send -b 명령을 사용하여 원본 스냅샷 등록 정보를 복원하십시오. 예를 들면 다음과 같습니다.

# zfs send -b bpool/data@snap1 | zfs recv -d restorepool
# zfs get -o all compression restorepool/data
NAME              PROPERTY     VALUE     RECEIVED  SOURCE
restorepool/data  compression  off       off       received 

이 예에서 compression 값은 off인데, 이는 원본 tank/data 파일 시스템의 스냅샷 압축 값을 나타냅니다.

스냅샷 스트림에 로컬 파일 시스템 등록 정보 값이 있는데 이 스트림을 수신할 때 이 등록 정보를 사용 안함으로 설정하려면 zfs receive -x 명령을 사용하십시오. 예를 들어 다음 명령은 백업 풀에 예약된 모든 파일 시스템 등록 정보를 사용하여 홈 디렉토리 파일 시스템의 순환 스냅샷 스트림을 전송합니다. 이때 쿼터 등록 정보 값은 사용되지 않습니다.

# zfs send -R tank/home@snap1 | zfs recv -x quota bpool/home
# zfs get -r quota bpool/home
NAME                   PROPERTY  VALUE  SOURCE
bpool/home             quota     none   local
bpool/home@snap1       quota     -      -
bpool/home/lori        quota     none   default
bpool/home/lori@snap1  quota     -      -
bpool/home/mark        quota     none   default
bpool/home/mark@snap1  quota     -      -

-x 옵션을 사용하여 순환 스냅샷이 수신되지 않은 경우 수신된 파일 시스템에서 쿼터 등록 정보가 설정됩니다.

# zfs send -R tank/home@snap1 | zfs recv bpool/home
# zfs get -r quota bpool/home
NAME                   PROPERTY  VALUE  SOURCE
bpool/home             quota     none   received
bpool/home@snap1       quota     -      -
bpool/home/lori        quota     10G    received
bpool/home/lori@snap1  quota     -      -
bpool/home/mark        quota     10G    received
bpool/home/mark@snap1  quota     -      -

복잡한 ZFS 스냅샷 스트림 전송 및 수신

이 절에서는 zfs send -I -R 옵션을 사용하여 보다 복잡한 스냅샷 스트림을 전송 및 수신하는 방법에 대해 설명합니다.

복잡한 ZFS 스냅샷 스트림을 전송 및 수신할 때는 다음 사항에 유의하십시오.

예 6-1 복잡한 ZFS 스냅샷 스트림 전송 및 수신

zfs send -I 옵션을 사용하여 증분 스냅샷 그룹을 하나의 스냅샷에 결합할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I

그런 다음 snapB, snapCsnapD를 제거합니다.

# zfs destroy pool/fs@snapB
# zfs destroy pool/fs@snapC
# zfs destroy pool/fs@snapD

결합된 스냅샷을 수신하려면 다음 명령을 사용하십시오.

# zfs receive -d -F pool/fs < /snaps/fs@all-I
# zfs list
NAME                      USED  AVAIL  REFER  MOUNTPOINT
pool                      428K  16.5G    20K  /pool
pool/fs                    71K  16.5G    21K  /pool/fs
pool/fs@snapA              16K      -  18.5K  -
pool/fs@snapB              17K      -    20K  -
pool/fs@snapC              17K      -  20.5K  -
pool/fs@snapD                0      -    21K  -

zfs send -I 명령으로 스냅샷과 복제 스냅샷을 결합하여 결합된 데이터 세트를 만들 수도 있습니다. 예를 들면 다음과 같습니다.

# zfs create pool/fs
# zfs snapshot pool/fs@snap1
# zfs clone pool/fs@snap1 pool/clone
# zfs snapshot pool/clone@snapA
# zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I
# zfs destroy pool/clone@snapA
# zfs destroy pool/clone
# zfs receive -F pool/clone < /snaps/fsclonesnap-I

zfs send -R 명령을 사용하여 ZFS 파일 시스템과 모든 종속 파일 시스템 및 명명된 스냅샷까지 복제할 수 있습니다. 이 스트림이 수신되면 등록 정보, 스냅샷, 종속 파일 시스템 및 복제본이 모두 보존됩니다.

다음 예에서는 스냅샷이 사용자 파일 시스템용으로 생성되었습니다. 하나의 복제 스트림이 모든 사용자 스냅샷용으로 생성되었습니다. 다음으로, 원본 파일 시스템과 스냅샷이 삭제된 다음 복구되었습니다.

# zfs snapshot -r users@today
# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
users               187K  33.2G    22K  /users
users@today            0      -    22K  -
users/user1          18K  33.2G    18K  /users/user1
users/user1@today      0      -    18K  -
users/user2          18K  33.2G    18K  /users/user2
users/user2@today      0      -    18K  -
users/user3          18K  33.2G    18K  /users/user3
users/user3@today      0      -    18K  -
# zfs send -R users@today > /snaps/users-R
# zfs destroy -r users
# zfs receive -F -d users < /snaps/users-R
# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
users               196K  33.2G    22K  /users
users@today            0      -    22K  -
users/user1          18K  33.2G    18K  /users/user1
users/user1@today      0      -    18K  -
users/user2          18K  33.2G    18K  /users/user2
users/user2@today      0      -    18K  -
users/user3          18K  33.2G    18K  /users/user3
users/user3@today      0      -    18K  -

다음 예에서는 zfs send -R 명령을 사용하여 users 파일 시스템과 종속 항목을 복제하고 복제된 스트림을 다른 풀인 users2로 보냈습니다.

# zfs create users2 mirror c0t1d0 c1t1d0
# zfs receive -F -d users2 < /snaps/users-R
# zfs list
NAME                 USED  AVAIL  REFER  MOUNTPOINT
users                224K  33.2G    22K  /users
users@today             0      -    22K  -
users/user1           33K  33.2G    18K  /users/user1
users/user1@today     15K      -    18K  -
users/user2           18K  33.2G    18K  /users/user2
users/user2@today       0      -    18K  -
users/user3           18K  33.2G    18K  /users/user3
users/user3@today       0      -    18K  -
users2               188K  16.5G    22K  /users2
users2@today            0      -    22K  -
users2/user1          18K  16.5G    18K  /users2/user1
users2/user1@today      0      -    18K  -
users2/user2          18K  16.5G    18K  /users2/user2
users2/user2@today      0      -    18K  -
users2/user3          18K  16.5G    18K  /users2/user3
users2/user3@today      0      -    18K  -

ZFS 데이터 원격 복제

zfs sendzfs recv 명령을 사용하여 스냅샷 스트림 표현을 한 시스템에서 다른 시스템으로 원격을 복사할 수 있습니다. 예를 들면 다음과 같습니다.

# zfs send tank/cindy@today | ssh newsys zfs recv sandbox/restfs@today

이 명령은 tank/cindy@today 스냅샷 데이터를 전송하고 sandbox/restfs 파일 시스템으로 수신합니다. 또한 newsys 시스템에 restfs@today 스냅샷도 만듭니다. 이 예에서는 사용자가 ssh를 원격 시스템에서 사용하도록 구성했습니다.