재귀적 zfs 스냅샷 마운트는 기본 마운트 디렉터리인 .zfs/snapshot에서 어떻게 작동합니까?

재귀적 zfs 스냅샷 마운트는 기본 마운트 디렉터리인 .zfs/snapshot에서 어떻게 작동합니까?

나는 또한 "data"라는 zfs 풀을 가지고 있습니다./var/lib/docker. docker 이후(내가 아는 한 docker는 이 질문과 관련이 없음) zfs 목록은 다음과 같습니다.

data                                                                        1.33G   133G      660M  /data
data/1366b029121dbc907878e8a6fc5c481244b7aac11757fe63b94384fe64e48c6d       6.02M   133G      511M  legacy
data/272a5f859a53ec996868fb0e4953f2219aadbd96c0cd3b8b9be09ee550b7d0e5        236K   133G      511M  legacy
data/284641b6a43d2446be81ddf21fbeb70b781f6fb5f70025d88c44c19ed4728541        288K   133G  
...

이제 스냅샷을 수행하는 경우 재귀 옵션(zfs snapshot -r data@snapshot 이름) 모든 데이터세트(광산 - /data 및 docker의 데이터세트)의 스냅샷을 얻습니다.

기본적으로 스냅샷은 다음 위치에 설치됩니다.풀/.zfs/스냅샷/스냅샷-이름.

제가 사용해도 안전한가요?풀/.zfs/스냅샷/스냅샷-이름(일관적이므로 스냅샷) 백업을 위한 소스 디렉토리로서, 아니면 일부 데이터가 손실되고 있습니까? zfs가 내 스냅샷을 재귀적으로 마운트하고 있습니까? 문서에서 아무것도 찾지 못했습니다.

답변1

스냅샷은 재귀적으로 생성될 수 있습니다. 그러나 스냅샷을 마운트해도 이전 스냅샷은 마운트되지 않습니다. 당신은 그것을 사용할 수 있습니다스냅샷을 반복적으로 마운트하는 스크립트특정 디렉터리로 이동한 다음 거기에서 백업합니다.

그러나 Docker의 경우 이 방법을 사용하면 일부 데이터가 제외됩니다. 특히 legacy마운트 지점이 있는(그리고 마운트 지점이 로 설정된) 데이터세트입니다 none. ZFS는 부팅 시 스냅샷을 자동으로 마운트하지 않으며 마운트 지점에 파일 시스템 경로가 포함되어 있지 않기 때문에(예와는 반대로 /data) 백업을 수행할 때 스냅샷이 마운트된 위치가 명확하지 않습니다.

내가 무엇을 배웠는지이 답변lagacy은 컨테이너 이미지가 포함된 Docker 데이터 세트입니다 . 따라서 이 데이터를 전혀 백업할 필요가 없을 수도 있습니다.

출력 결과에 따르면 zfs listDocker 전용 데이터 세트를 만들고 있는 것으로 보이지 않습니다. 이것이 바로 이러한 Docker의 오래된 데이터세트가 상위 데이터세트(데이터세트라고 부르는 것 data) 아래에 저장되는 이유입니다. 저는 개인적으로 data다음과 같이 Docker 데이터 세트 아래에 이러한 레거시 공유를 중첩하기 위해 전용 Docker 데이터 세트(아래에서도 사용 가능)를 만드는 것을 선호합니다 .

zfs list -r data
NAME                                                                                    USED  AVAIL     REFER  MOUNTPOINT
data                                                                                   3.57G  2.63T      200K  /mnt/data
data/jip                                                                               2.27G  2.63T      208K  /mnt/data/jip
data/jip/docker                                                                         108M  2.63T     1000K  /mnt/data/jip/docker
data/jip/docker/4142fdca5ac3e7dbd12c0518e3377eb47a2c1a8599f564e07e08e5b25944146c        396K  2.63T      388K  legacy
data/jip/docker/43023791ce39ba890e8de50809cacda45a884b5990e4923fd6563eaed58e6b42        168K  2.63T      396K  legacy
data/jip/docker/98a9127ff2dd5fd2d0ea52f5e6343e85a8d2a80aa4cd2ffcf1c92e9b2d2b371f        101M  2.63T      102M  legacy
data/jip/docker/b68a666a8602cdbc3639b010558a0aa5f92f0b765a6efc15c4f7f30651ba2860       1.05M  2.63T      102M  legacy
data/jip/docker/b68a666a8602cdbc3639b010558a0aa5f92f0b765a6efc15c4f7f30651ba2860-init   216K  2.63T      102M  legacy
data/jip/home                                                                          2.16G  2.63T     36.9M  /mnt/data/jip/home

관련 정보