특정 호스트에 대해 BackupPC의 작동이 중지되는 상황이 발생했습니다. 호스트는 Debian 10을 실행 중입니다(Docker가 설치되어 있음).
이 경우 rsync
두 개의 관련 프로세스(상위 sudo /usr/bin/rsync --server ...
및 하위 /usr/bin/rsync --server ...
)가 호스트에서 실행 중입니다. 이것은 발행을 통해 rsync
현재 처리 중인 파일(즉, 중지되는 위치)을 찾으려고 할 때에도 중지됩니다 lsof -p $child_pid
(즉, 분명히 반환되지 않지만 Ctrl-C를 사용하여 중지할 수 있음).ls /proc/$child_pid/fs
잘 작동동시에(4 fd만 반환)
rsync
그렇다면 이것이 침체의 근본 원인 에 가까울 수도 있습니다 . 어떻게 이런 일이 일어날 수 있습니까 lsof -p
? 언제 ls /proc/$child_pid/fd
가 아닌가? 항상 (거의) 즉시 답변을 반환해야 하지 않나요? 이 상태를 추가로 진단하고 수정하려면 어떻게 해야 합니까?
고쳐 쓰다ext4
이제 이 호스트의 파일 시스템에서 조각화를 확인하고 있습니다 . 이것도 시간이 오래 걸리네요...
time e4defrag -v -c $(df -t ext4 | tail -n +2 | awk '{print $1}')
고쳐 쓰다e4defrag -v -c
이제 멈춘 것 같습니다 . 마지막 출력은 입니다 "/media/cdrom0" File is not regular file
. 호스트는 실제로 Proxmox 가상 머신이므로 문제가 가상 CD-ROM과 관련되어 있을 수 있습니까? 하지만 그럴 가능성은 낮아 보입니다. df /media/cdrom0
에 설치되었다고 표시되어 있고 /
, 제 기억이 맞다면 e4defrag
이 파일 시스템을 통과하여 현재 에 있습니다 /var
. 아마도 /var
(크기 23G) 조각화 정도가 너무 높거나, 지속 시간이 긴 것이 정상이거나, 충돌이 발생할 수 있습니다 e4defrag
.일부 제한 사항.
답변1
마지막으로 이는 NFS 서버에 연결할 수 없을 때 NFS를 컨테이너에 마운트함으로써 발생하는 "고아" 파일과 관련된 것으로 보입니다. 해당 ( e4defrag
및) 을 식별하고 제거하면 lsof
더 이상 중단되지 않습니다. 즉, 예상대로 다시 실행되었습니다.