Linux의 ZFS: ZFS는 동시에 스냅샷을 보내고 동일한 데이터 세트의 최신 스냅샷을 받을 수 있습니까?

Linux의 ZFS: ZFS는 동시에 스냅샷을 보내고 동일한 데이터 세트의 최신 스냅샷을 받을 수 있습니까?

P프로덕션 서버 와 대기 서버 가 있습니다 S. 둘 다 데비안 버스터를 실행하고오픈ZFS/ZoL2.1.0. P운영 체제, 가상 머신 및 기타 모든 데이터에 ZFS 스토리지를 제공하는 내부 디스크만 있습니다. S내부 디스크는 동일하지만 핫스왑(하드웨어 측면)이 가능하고 정기적으로 교체되는 백업 디스크로 사용할 수 있는 별도의 ZPOOL이 포함된 추가 백업 디스크가 있습니다.

에는 P라는 풀이 하나만 있습니다 rpool. 에는 ( P와 동일) 풀과 (백업 디스크에) S두 개의 풀이 있습니다 .rpoolextpool

에서는 PZFS 데이터 세트의 스냅샷을 찍어 / S에 복사하는 스크립트가 주기적으로 실행됩니다 . 에서는 스크립트가 주기적으로 실행되어 에서 로(또한 / 를 통해) 스냅샷 을 복사 합니다 . 의 스크립트는 아직 동기화되지 않았습니다. 즉 , 의 스크립트가 에서 로 스냅샷을 전송하는 동안 의 스크립트가 에 스냅샷을 복사하려고 시도할 수 있음 을 의미합니다.zfs sendzfs receiveSrpoolextpoolzfs sendzfs receivePSPSSrpoolextpool

P스냅샷을 보내려고 할 때 스크립트가 실패하는 경우가 있습니다. 위의 시나리오에서 이런 일이 발생한다고 생각하므로 데이터세트의 스냅샷을 보내고 동시에 동일한 데이터세트의 최신 스냅샷을 받는 것은 불가능할 것 같습니다. 반면에 제가 다른 방법으로 잘못하고 있는 경우도 있을 수 있으니 이 부분은 꼭 확인하고 싶습니다. 즉, 다음을 수행할 수 있는지 알고 싶습니다.

존재하다 P:

zfs snapshot rpool/dataset1@snapshot1
zfs send -R rpool/dataset1@snapshot1 | ssh S 'zfs receive -F rpool/dataset1'
# Wait some time
zfs snapshot rpool/dataset1@snapshot2

그런 다음동시에

존재하다 S:

zfs send -R rpool/dataset1@snapshot1 | zfs receive -F extpool/dataset1

게다가 P:

zfs send -R -I rpool/dataset1@snapshot1 rpool/dataset1@snapshot2 | ssh S 'zfs receive -F rpool/dataset1'

마지막 참고 사항: 에서는 S복제와 관련된 모든 데이터 세트가 로드되지 않습니다. S이러한 데이터 세트의 유일한 목적은 새 스냅샷을 수신하여 P내부 디스크에 저장한 다음 내부 디스크의 모든 스냅샷을 외부 백업 디스크로 복사하는 것입니다.

물론, 유일한 예외는 긴급 상황입니다. P오류가 발생하면 복제된 데이터 세트가 수동으로 마운트 S되고 프로덕션 작업으로 전환됩니다. 그러나 제가 명시적으로 질문한 것은 이 상황과 전혀 관련이 없습니다.

관련 정보