USB 드라이브에 캐시를 쓸 때 파이프 정지 방지

USB 드라이브에 캐시를 쓸 때 파이프 정지 방지

백업을 위해 다음 프로세스가 있습니다.

btrfs send snapshots/home-2016-06-04 |
zstd --verbose -T4 - |
gpg --batch --passphrase-file /tmp/secret --compress-algo none --symmetric - >
/mnt/usbdrive/packup.zst.gpg

그러나 한동안 100% CPU에서 매우 빠르게 실행되는 동안 USB 드라이브에 대한 쓰기가 버퍼링되고 드라이브와 동기화하는 동안 전체 파이프라인이 갑자기 중지되는 것을 발견했습니다. 그런 다음 이 두 상태를 번갈아 가며 사용합니다.

내가 이루고 싶은 것은 zstd --adapt -T1제대로 일하는 것입니다. 매뉴얼 페이지에 따르면

zstd는 인식된 I/O 조건에 따라 압축 수준을 동적으로 조정합니다.

이는 썸 드라이브에 대한 쓰기가 최대(40MB/s - dd로 테스트)에 도달하고 zstd버퍼를 채우지 않도록 최적의 처리량을 제공해야 합니다.

파이프라인의 마지막 단계로 추가하면 이를 달성 할 수 있을 것 같습니다 . 및 옵션을 dd사용해 보았지만 소용이 없었습니다.direct fsyncdatasyncoflag

이것을 달성할 수 있는 방법이 있나요? 문제가 쓰기 캐시에 있다고 가정하는 것이 맞습니까?

관련 정보