내 서버가 홀 펀칭을 지원하는지 어떻게 확인하나요?

내 서버가 홀 펀칭을 지원하는지 어떻게 확인하나요?

MySQL 5.7을 사용하고 싶습니다.페이지 압축기능이지만 이 기능을 사용하려면 문서에 따르면 2.6.39에 도입된 Linux의 홀 펀칭 기능이 필요합니다. 하지만 내 서버의 커널 버전은 2.6.32이고 페이지 압축 기능이 작동하는 것을 확인했는데 이상하네요!
그래서 내 서버가 이 홀 펀치 기능을 지원하는지 확인하고 싶습니다.

답변1

직접 구멍을 뚫어 테스트해 볼 수 있습니다.

$ dd if=/dev/zero of=punch bs=100M count=1

다음 명령을 사용하여 확인할 수 있는 취약점이 없는 100MiB 파일을 생성합니다 du.

$ du -h punch
100M    punch

이제 10MiB 구멍을 뚫습니다.

$ fallocate -p -o 2M -l 10M punch

파일 크기는 변경되지 않지만( 그림 참조 ls -lh) 커널과 파일 시스템이 필요한 시스템 호출을 지원하는 경우 디스크 공간을 덜 차지합니다.

$ du -h punch
90M     punch

man fallocate자세한 내용은 2.6.32 기반 시스템에 관련 지원이 포함된 백포트 커널이 있을 가능성이 높습니다.

관련 정보