AIX jfs2 스냅샷 크기가 어떻게 fs의 데이터 크기보다 작을 수 있습니까?

AIX jfs2 스냅샷 크기가 어떻게 fs의 데이터 크기보다 작을 수 있습니까?

모든 운영 체제에서 나는 파일 시스템이 차지하는 공간보다 큰 스냅샷을 생성했습니다. 예를 들어, 용량이 250GB이고 100GB를 사용하는 /try라는 파일 시스템이 있는 경우 100GB 이상의 스냅샷을 생성합니다. AIX에서는 fs 공간보다 작은 크기의 스냅샷을 만들었고... 작동했습니다. 2GB 논리 볼륨에 590MB 파일을 만들었습니다.

dd if=/dev/zero of=hello bs=1m count=590
590+0 records in
590+0 records out

그런 다음 590MB 이상이 아닌 256MB의 스냅샷을 생성합니다.

snapshot -o snapfrom=/try -o size=256m 
Snapshot for file system /try created on /dev/fslv00

df는 fs "시도"의 정확한 크기를 보고합니다.

df -hT /try
/dev/try     jfs2    2,0G  591M    1,5G  29% /try

스냅샷을 마운트할 수 있습니다.

mount -o snapshot /dev/fslv00 /mnt/

df는 스냅샷 크기를 256MB로 보고하지만 1.5MB가 사용됩니다!

df -hT /mnt
/dev/fslv00    jfs2  256M  1,5M    255M   1% /mnt

마지막 시도로 파일에 대해 md5sum 검사를 실행했습니다. 스냅샷과 실제 파일 시스템 모두에서 작동합니다.

b7fb2207c641085a9cf02064edf1742e  /mnt/hello
b7fb2207c641085a9cf02064edf1742e  /try/hello

질문은 간단합니다. 어떻게 스냅샷 크기가 실제 파일 시스템 크기보다 작을 수 있습니까? 스냅샷의 공간(1,5mb)이 실제 파일 시스템에서 사용된 공간(591mb)보다 낮은 이유는 무엇입니까?

답변1

해결책을 찾으세요. 사용된 실제 파일 시스템보다 작은 크기로 스냅샷을 생성하는 것이 "가능"하지만 이는 전혀 쓸모가 없습니다. 원본 파일 /try/hello를 삭제하면 (파일 블록 전송으로 인해) 스냅샷 크기가 커지는데, 실제 파일 시스템 크기로 생성했기 때문에 파일 시스템이 꽉 차서 "hello" 파일이 나옵니다. "가 손상되어 I/O 오류를 반환합니다.

df -hT /mnt
/dev/fslv00    jfs2    256M  256M     0 100% /mnt

md5sum /mnt/hello 
md5sum_64: /mnt/hello: There is an input or output error.

관련 정보