CENTOS borgbackup 서버가 있습니다. 모든 트랜잭션은 바인드 마운트된 chroot 감옥 내에서 SSH를 통해 수행됩니다. 대부분의 세부 사항은 불필요할 수 있지만 일부 배경 정보가 도움이 될 것이라고 생각했습니다.
RAID 어레이를 지원하는 두 개의 3TB 회전 디스크가 있는 raid1 LVM 위에 LUKS 컨테이너 위에 XFS 파일 시스템이 있습니다. 사용자가 chroot 감옥에 로그인하면 pam_exec는 LUKS 컨테이너를 열고 백업 파티션을 마운트하며, 로그아웃하면 pam_exec는 마운트를 해제한 다음 컨테이너를 종료합니다. 일반적으로 말하면 이것은 꽤 잘 작동했습니다. 설치하고 제거하는 것 같습니다. rootfs는 다소 큰 SSD에 있습니다. 다양한 위치에 나열된 지침에 따라 VG에 lvmcache를 추가할 계획입니다. lvmcache는 블록 기반이므로 블록이 일반 텍스트인지 암호화되었는지는 중요하지 않다고 생각합니다. 캐시가 디스크에 플러시되었는지 확인하기 위해 캐시를 연속 쓰기로 설정한 다음 사용해 보았습니다. 안타깝게도 lvmcache를 사용하면 cryptsetup 종료가 실패하고 장치가 사용 중으로 표시되므로 LUKS 컨테이너를 종료할 수 없습니다. 이것은 의도적인 행동인가? 또한 캐시 플러시를 강제로 적용한 다음 LUKS 컨테이너를 종료하기 위해 "클리너" 캐시 정책을 사용해 보았습니다. 이것도 실패했습니다. LUKS 컨테이너는 VG에서 lvmcache가 제거된 후에만 종료됩니다.
이것은 의도적인 행동인가? 캐시가 FS를 더티로 표시하여 cryptsetup이 FS를 닫는 것을 방지한다고 가정합니다. 하지만 lvmcache가 블록에서 실행되는 경우 왜 이런 일이 발생합니까? 캐시가 디스크에 플러시되면 더러워지면 안 됩니다. 그렇죠?
여기서 뭔가 빠졌나요?