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 스냅샷을 받을 수 있습니다.