탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1 관리: ZFS 파일 시스템 Oracle Solaris 11.1 Information Library (한국어) |
1. Oracle Solaris ZFS 파일 시스템(소개)
3. Oracle Solaris ZFS 저장소 풀 관리
5. Oracle Solaris ZFS 파일 시스템 관리
6. Oracle Solaris ZFS 스냅샷 및 복제 작업
7. ACL 및 속성을 사용하여 Oracle Solaris ZFS 파일 보호
zfs send 명령은 표준 출력 결과에 기록될 스냅샷의 스트림 표현을 만듭니다. 기본적으로 전체 스트림이 생성됩니다. 출력을 파일 또는 다른 시스템으로 재지정할 수 있습니다. zfs receive 명령은 컨텐츠가 표준 출력에 제공된 스트림에 지정되어 있는 스냅샷을 만듭니다. 전체 스트림이 수신된 경우 새 파일 시스템도 생성됩니다. 이 명령으로 ZFS 스냅샷 데이터를 전송하고 ZFS 스냅샷 데이터 및 파일 시스템을 수신할 수 있습니다. 다음 절에 나와 있는 예제를 참조하십시오.
ZFS 데이터 저장을 위해 제공되는 백업 솔루션은 다음과 같습니다.
엔터프라이즈 백업 제품 – 다음 기능이 필요한 경우 엔터프라이즈 백업 솔루션을 고려하십시오.
파일별 복원
백업 매체 확인
매체 관리
파일 시스템 스냅샷 및 스냅샷 롤백 – 파일 시스템 복사본을 손쉽게 만들고 필요한 경우 이전 파일 시스템 버전으로 되돌리려는 경우 zfs snapshot 및 zfs rollback 명령을 사용하십시오. 예를 들어 이전 버전의 파일 시스템에서 파일을 복원하려면 이 솔루션을 사용할 수 있습니다.
스냅샷 만들기 및 롤백에 대한 자세한 내용은 ZFS 스냅샷 개요를 참조하십시오.
스냅샷 저장 – zfs send 및 zfs receive 명령을 사용하여 ZFS 스냅샷을 전송하고 수신할 수 있습니다. 스냅샷 간 증분 변경을 저장할 수 있지만 파일을 개별적으로 복원할 수는 없습니다. 전체 파일 시스템 스냅샷을 복원해야 합니다. 이러한 명령은 ZFS 데이터를 저장하기 위한 완벽한 백업 솔루션을 제공하지 않습니다.
원격 복제 – zfs send 및 zfs receive 명령을 사용하여 파일 시스템을 시스템 간에 복사할 수 있습니다. 이 프로세스는 WAN을 통해 장치를 미러링하는 기존의 볼륨 관리 제품과 다릅니다. 특별한 구성이나 하드웨어가 필요하지 않습니다. ZFS 파일 시스템 복제의 이점은 다른 시스템의 저장소 풀에 파일 시스템을 다시 만들고, 동일한 파일 시스템 데이터를 포함하되 새로 생성된 풀에 대해 다른 레벨의 구성(예: RAID-Z)을 지정할 수 있다는 점입니다.
아카이브 유틸리티 – tar, cpio , pax 등의 아카이브 유틸리티 또는 타사 백업 제품을 사용하여 ZFS 데이터를 저장할 수 있습니다. 현재 tar 및 cpio는 NFSv4 스타일 ACL을 올바르게 변환하지만, pax는 그렇지 못합니다.
zfs send 및 zfs receive 명령 이외에도 tar 및 cpio 명령 등의 아카이브 유틸리티를 사용하여 ZFS 파일을 저장할 수도 있습니다. 이러한 유틸리티는 ZFS 파일 속성 및 ACL을 저장하고 복원합니다. tar 및 cpio 명령에 적합한 옵션을 확인하십시오.
ZFS 및 타사 백업 제품에 대한 최신 정보는 Oracle Solaris 11 릴리스 정보를 참조하십시오.
zfs send 명령을 사용하여 ZFS 파일 시스템 또는 볼륨의 스냅샷을 스냅샷 스트림으로 변환합니다. 그런 다음 zfs receive 명령을 통해 스냅샷 스트림을 사용하여 ZFS 파일 시스템 또는 볼륨을 다시 만들 수 있습니다.
스냅샷 스트림을 만드는 데 사용된 zfs send 옵션에 따라 다른 유형의 스트림 형식이 생성됩니다.
전체 스트림 – 데이터 세트가 생성된 시간부터 지정한 스냅샷까지의 모든 데이터 세트 컨텐츠로 구성됩니다.
zfs send 명령으로 생성되는 기본 스트림이 전체 스트림입니다. 지정한 스냅샷까지 파일 시스템 또는 볼륨 한 개를 포함합니다. 명령줄에서 지정된 스냅샷이 아닌 스냅샷은 스트림에 포함되지 않습니다.
증분 스트림 – 한 스냅샷과 다른 스냅샷의 차이점으로 구성됩니다.
스트림 패키지는 전체 또는 증분 스트림이 한 개 이상 포함된 스트림 유형입니다. 다음 세 가지 유형의 스트림 패키지가 있습니다.
복제 스트림 패키지 – 지정한 데이터 세트 및 종속 항목으로 구성됩니다. 중간 스냅샷이 모두 포함됩니다. 복제된 데이터 세트의 원본이 명령줄에서 지정된 스냅샷의 종속 항목이 아닌 경우 원본 데이터 세트가 스트림 패키지에 포함되지 않습니다. 스트림을 받으려면 대상 저장소 풀에 원본 데이터 세트가 있어야 합니다.
데이터 세트 및 해당 원본이 포함된 다음 목록을 고려해 보십시오. 아래 표시되는 순서대로 생성되었다고 가정합니다.
NAME ORIGIN pool/a - pool/a/1 - pool/a/1@clone - pool/b - pool/b/1 pool/a/1@clone pool/b/1@clone2 - pool/b/2 pool/b/1@clone2 pool/b@pre-send - pool/b/1@pre-send - pool/b/2@pre-send - pool/b@send - pool/b/1@send - pool/b/2@send -
다음 구문으로 생성된 복제 스트림 패키지가 있습니다.
# zfs send -R pool/b@send ....
이 패키지는 다음과 같은 전체 및 증분 스트림으로 구성됩니다.
TYPE SNAPSHOT INCREMENTAL FROM full pool/b@pre-send - incr pool/b@send pool/b@pre-send incr pool/b/1@clone2 pool/a/1@clone incr pool/b/1@pre-send pool/b/1@clone2 incr pool/b/1@send pool/b/1@send incr pool/b/2@pre-send pool/b/1@clone2 incr pool/b/2@send pool/b/2@pre-send
이전 출력에서 pool/a/1@clone 스냅샷은 복제 스트림 패키지에 포함되지 않습니다. 따라서 이미 pool/a/1@clone 스냅샷이 있는 풀에서만 이 복제 스트림 패키지를 받을 수 있습니다.
순환적 스트림 패키지 – 지정한 데이터 세트 및 종속 항목으로 구성됩니다. 복제 스트림 패키지와 달리 중간 스냅샷은 스트림에 포함된 복제된 데이터 세트의 원본이 아닌 경우 포함되지 않습니다. 기본적으로 데이터 세트의 원본이 명령줄에서 지정된 스냅샷의 종속 항목이 아닌 경우 복제 스트림과 유사하게 동작합니다. 하지만 아래에 설명된 독립적인 순환적 스트림은 외부 종속성이 없도록 생성됩니다.
다음 구문으로 생성된 순환적 스트림 패키지가 있습니다.
# zfs send -r pool/b@send ...
이 패키지는 다음과 같은 전체 및 증분 스트림으로 구성됩니다.
TYPE SNAPSHOT INCREMENTAL FROM full pool/b@send - incr pool/b/1@clone2 pool/a/1@clone incr pool/b/1@send pool/b/1@clone2 incr pool/b/2@send pool/b/1@clone2
이전 출력에서 pool/a/1@clone 스냅샷은 순환적 스트림 패키지에 포함되지 않습니다. 따라서 이미 pool/a/1@clone 스냅샷이 있는 풀에서만 이 순환적 스트림 패키지를 받을 수 있습니다. 이 동작은 위에 설명된 복제 스트림 패키지 시나리오와 유사합니다.
독립적인 순환적 스트림 패키지 - 스트림 패키지에 포함되지 않은 데이터 세트에 종속되지 않습니다. 이 순환적 스트림 패키지는 다음 구문으로 생성됩니다.
# zfs send -rc pool/b@send ...
이 패키지는 다음과 같은 전체 및 증분 스트림으로 구성됩니다.
TYPE SNAPSHOT INCREMENTAL FROM full pool/b@send - full pool/b/1@clone2 incr pool/b/1@send pool/b/1@clone2 incr pool/b/2@send pool/b/1@clone2
독립적인 순환적 스트림에는 pool/b/1@clone2 스냅샷의 전체 스트림이 있으므로 외부 종속성 없이 pool/b/1 스냅샷을 받을 수 있습니다.
zfs send 명령을 사용하여 스냅샷 스트림의 복사본을 전송하고 같은 시스템의 다른 풀 또는 백업 데이터를 백업하는 데 사용되는 다른 시스템의 다른 풀에 있는 스냅샷 스트림을 수신할 수 있습니다. 예를 들어 같은 시스템의 다른 풀에 있는 스냅샷 스트림을 전송하려면 다음과 비슷한 구문을 사용하십시오.
# zfs send tank/dana@snap1 | zfs recv spool/ds01
zfs recv를 zfs 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 rename 명령을 사용하여 파일 시스템의 이름을 바꿀 수 있습니다.
예를 들면 다음과 같습니다.
# 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 receive 명령에 지정된 증분 소스와 일치하지 않는 다른 파일 시스템의 이름을 실수로 제공할 경우 롤백과 수신이 모두 완료되지 않고 다음과 같은 오류 메시지가 반환됩니다.
cannot send 'pool/fs@name': not an earlier snapshot from the same fs
특정 파일 시스템 등록 정보 값을 갖는 ZFS 스냅샷 스트림을 전송할 수 있지만, 스냅샷 스트림을 수신할 때 다른 로컬 등록 정보 값을 지정할 수 있습니다. 또는 스냅샷 스트림을 수신하여 원본 파일 시스템을 다시 만들 때 원본 등록 정보 값이 사용되도록 지정할 수 있습니다. 또한 스냅샷 스트림을 수신할 때 파일 시스템 등록 정보를 사용 안함으로 설정할 수 있습니다.
로컬 등록 정보 값을 수신 값(있는 경우)으로 되돌리려면 zfs inherit -S를 사용합니다. 등록 정보에 수신 값이 없는 경우 zfs inherit -S 명령은 -S 옵션 없이 zfs inherit 명령을 실행하는 것과 동일합니다. 등록 정보에 수신 값이 없으면 zfs inherit -S 명령을 실행하여 수신 값으로 되돌릴 때까지 zfs inherit 명령이 수신 값을 상속된 값으로 마스킹합니다.
zfs get -o를 사용하여 새로운 기본값이 아닌 RECEIVED 열을 포함할 수 있습니다. 또는 zfs get -o all 명령을 사용하여 RECEIVED를 비롯한 모든 열을 포함할 수 있습니다.
-R 옵션 없이 zfs send -p 옵션을 사용하면 송신 스트림에 등록 정보를 포함할 수 있습니다.
zfs receive -e 옵션을 사용하면 전송된 스냅샷 이름의 마지막 요소를 사용하여 새 스냅샷 이름을 확인할 수 있습니다. 다음 예제에서는 poola/bee/cee@1 스냅샷을 poold/eee 파일 시스템에 전송하고 스냅샷 이름의 마지막 요소(cee@1)만 사용하여 수신된 파일 시스템 및 스냅샷을 만듭니다.
# zfs list -rt all poola NAME USED AVAIL REFER MOUNTPOINT poola 134K 134G 23K /poola poola/bee 44K 134G 23K /poola/bee poola/bee/cee 21K 134G 21K /poola/bee/cee poola/bee/cee@1 0 - 21K - # zfs send -R poola/bee/cee@1 | zfs receive -e poold/eee # zfs list -rt all poold NAME USED AVAIL REFER MOUNTPOINT poold 134K 134G 23K /poold poold/eee 44K 134G 23K /poold/eee poold/eee/cee 21K 134G 21K /poold/eee/cee poold/eee/cee@1 0 - 21K -
경우에 따라 전송 스트림의 파일 시스템 등록 정보가 수신 파일 시스템에 적용되지 않거나 로컬 파일 시스템 등록 정보(예: 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 send -I 및 -R 옵션을 사용하여 보다 복잡한 스냅샷 스트림을 전송 및 수신하는 방법에 대해 설명합니다.
복잡한 ZFS 스냅샷 스트림을 전송 및 수신할 때는 다음 사항에 유의하십시오.
zfs send -I 옵션을 사용하여 한 스냅샷의 모든 증분 스트림을 누적 스냅샷으로 전송할 수 있습니다. 또는 이 옵션으로 원본 스냅샷에서 증분 스트림을 전송하여 복제본을 만들 수 있습니다. 증분 스트림을 수락하려면 수신측에 원본 스냅샷이 있어야 합니다.
zfs send -R 옵션을 사용하여 모든 종속 파일 시스템의 복제 스트림을 전송할 수 있습니다. 복제 스트림이 수신되면 등록 정보, 스냅샷, 종속 파일 시스템 및 복제본이 모두 유지됩니다.
zfs send -r 옵션을 -c 옵션 없이 사용하고 zfs send -R 옵션 스트림 패키지를 사용하는 경우 상황에 따라 복제본의 origin을 생략합니다. 자세한 내용은 ZFS 스냅샷 스트림 식별을 참조하십시오.
두 옵션을 모두 사용하여 증분 복제 스트림을 전송할 수 있습니다.
스냅샷 및 파일 시스템 이름 바꾸기 및 삭제 작업이 보존되므로 등록 정보에 대한 변경 사항이 보존됩니다.
복제 스트림을 수신할 때 zfs recv -F가 지정되지 않은 경우 데이터 세트 삭제 작업이 무시됩니다. 이 경우 zfs recv -F 구문도 해당 필요한 경우 롤백 의미를 보존합니다.
다른(zfs send -R 제외) - i 또는 -I 경우에도 -I가 사용된 경우 snapA와 snapD 간의 모든 스냅샷이 전송됩니다. -i가 사용된 경우 snapD(모든 종속 항목에 대한)만 전송됩니다.
이러한 새 유형의 zfs send 스트림을 수신하려면 수신 시스템이 스트림 전송을 지원하는 소프트웨어 버전을 실행 중이어야 합니다. 스트림 버전은 증분됩니다.
그러나 최신 소프트웨어 버전을 사용할 경우 이전 풀 버전에서 스트림에 액세스할 수 없습니다. 예를 들어 최신 옵션을 사용하여 생성된 스트림은 버전 3 풀에서 또는 버전 3 풀로 전송 및 수신할 수 있습니다. 그러나 최신 옵션을 사용하여 전송된 스트림을 수신하려면 최신 소프트웨어가 실행 중이어야 합니다.
예 6-1 복잡한 ZFS 스냅샷 스트림 전송 및 수신
zfs send -I 옵션을 사용하여 증분 스냅샷 그룹을 하나의 스냅샷에 결합할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I
그런 다음 snapB, snapC 및 snapD를 제거합니다.
# 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 send 및 zfs recv 명령을 사용하여 스냅샷 스트림 표현을 한 시스템에서 다른 시스템으로 원격을 복사할 수 있습니다. 예를 들면 다음과 같습니다.
# zfs send tank/cindy@today | ssh newsys zfs recv sandbox/restfs@today
이 명령은 tank/cindy@today 스냅샷 데이터를 전송하고 sandbox/restfs 파일 시스템으로 수신합니다. 또한 newsys 시스템에 restfs@today 스냅샷도 만듭니다. 이 예에서는 사용자가 ssh를 원격 시스템에서 사용하도록 구성했습니다.