복제 된 데이터 세트의 증분 부분을 zfs의 원래 데이터 세트 (스냅 샷)에 복사하는 방법은 무엇입니까?

손만
zp1/tmp/origin@1  ==(clone & snapshot)==>  zp1/tmp/clone@1
                                             ...working...
                                             (snapshot)
                                                ||
                                                \/
zp1/tmp/origin@2   <====================   zp1/tmp/clone@2
                            ||
        $$copy the incremental parts between zp1/tmp/clone@1 
        and zp1/tmp/clone@2 to zp1/tmp/origin.$$

$$ 복사 .. $$ 부분은 내가 원하는 무엇인가, 나는 시험 절차 아래를 시도했지만 실패했습니다했다 증분 소스와 일치하지 않는 오류가 발생했습니다. 백업에 관한 것이 아닙니다.
가능합니까?

[test procedure]

# zfs create zp1/tmp/origin
# touch /zp1/tmp/origin/hi.txt
# zfs snapshot zp1/tmp/origin@1
# zfs clone zp1/tmp/origin@1 zp1/tmp/clone
# zfs snapshot zp1/tmp/clone@1
# touch /zp1/tmp/clone/bye.txt
# zfs snapshot zp1/tmp/clone@2

# zfs list -t all -r zp1/tmp
NAME               USED  AVAIL     REFER  MOUNTPOINT
zp1/tmp            256K   339G       96K  /zp1/tmp
zp1/tmp/clone       64K   339G       96K  /zp1/tmp/clone
zp1/tmp/clone@1      0B      -       96K  -
zp1/tmp/clone@2      0B      -       96K  -
zp1/tmp/origin      96K   339G       96K  /zp1/tmp/origin
zp1/tmp/origin@1     0B      -       96K  -

# zfs send -v -I zp1/tmp/clone@1 zp1/tmp/clone@2 | zfs receive -v zp1/tmp/origin@2
send from @1 to zp1/tmp/clone@2 estimated size is 32.6K
total estimated size is 32.6K
TIME        SENT   SNAPSHOT zp1/tmp/clone@2
receiving incremental stream of zp1/tmp/clone@2 into zp1/tmp/origin@2
cannot receive incremental stream: most recent snapshot of zp1/tmp/origin does not
match incremental source

zfs send명령은 보내는 소스의 UUID와 보내는 대상의 UUID를 비교하여 정확히 동일한 데이터 가 들어있는 파일 시스템에서 변경 사항을 재생하고 있는지 확인 합니다. 귀하의 경우 타임 라인의 일부를 건너 뛰고 있으므로이 UUID가 일치하지 않습니다.

클론의 스냅 샷에 대한 이름 지정 체계가 혼란 스럽 습니다. 동일한 데이터를 가리킬 수 있지만 clone@1동일한 스냅 샷이 아니므로 original-fs@1더 명확하게하기 위해 이름을 약간 변경하겠습니다.

  1. original-fs@1 먼저 온다
  2. clone다음에오고 original-fs@1처음 과 동일한 UUID를 갖습니다.
  3. clone@2 다음에 온다
  4. clone@3 다음에 온다

당신은 사이에 델타를 보내려고 clone@2하고 clone@3있지 않은 파일 시스템에 clone@2아직에. 대신 전체 타임 라인을 캡처하려면 from original-fs@1to clone@3전송해야 합니다 (또는 두 버전의 데이터에서 전체 스냅 샷 시퀀스를 다시 생성하려면 to , original-fs@1to를 clone@2차례로 두 번 보낼 수 있습니다).clone@2clone@3

즉, 이것은 이유없이 많은 데이터를 복사하는 것입니다. zfs promote복제본 부모 파일 시스템 되지 않는 이유는 무엇 입니까? (그런 다음 이전 부모를 삭제하고 대신 새 부모의 이름을 바꿀 수 있습니다.)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관