자동 백업을 설정했으며, 이 가이드에 따라 /var/discourse/shared/standalone/uploads와 /var/discourse/shared/standalone/backups를 외부 드라이브로 이동했습니다. 즉, 다음과 같은 app.yml 설정을 사용하고 있습니다:
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /path/to/external/uploads
guest: /shared/uploads
- volume:
host: /path/to/external/backups
guest: /shared/backups
관리자는 다음 로그를 동반한 “백업 실패” 메시지를 받고 있습니다. 해당 로그는 1개월간 여기 에서 확인할 수 있습니다.
백업이 생성된 것으로 보이지만, 명백한 이유 없이 이 오류 메시지가 표시됩니다. ls -la /path/to/external/backups/default/ 출력 결과:
total 322618
drwxrwxrwx 2 root root 0 Sep 27 2019 .
drwxrwxrwx 2 root root 0 Jun 27 2019 ..
-rwxrwxrwx 1 root root 327798879 Mai 1 04:21 xxx-yyyy-2021-05-01-020805-v20210420015635.tar.gz
여기서 무슨 일이 일어나고 있는지 혹시 아시는 분 계신가요? 저희의 Discourse 버전은 2.7.0.beta8 (656b0ae39e)입니다. 백업 설정은 다음과 같습니다:
pfaffman
(Jay Pfaffman)
5월 2, 2021, 2:37오전
2
권한 문제일 수 있습니다. 해당 디렉토리를 모든 사용자가 쓸 수 있도록 설정해 보세요.
어떤 디렉토리를 말씀하시는 건가요? 백업(/path/to/external/backups/default)이 포함된 디렉토리는 이미 모든 사용자가 쓰기 권한을 가지고 있습니다(위 ls -la 출력 참조).
RGJ
(Richard - Communiteq)
5월 2, 2021, 11:08오전
4
44초 후에만 실패합니다.
gzip는 완료 시 두 번째 파일을 생성하고 압축되지 않은 파일을 삭제합니다. 즉, 최소 327MB의 디스크 공간이 필요합니다. 외부 드라이브이므로 오류 메시지가 가려질 수 있습니다. 추측: 디스크 공간이 부족할 수 있습니다.
SAMBA 공유에 gocryptfs 를 마운트하고 있으며, 사용 가능한 공간이 충분해야 합니다. df -h 출력 결과:
Filesystem Size Used Avail Use% Mounted on
udev 1,9G 0 1,9G 0% /dev
tmpfs 385M 1,5M 384M 1% /run
/dev/mapper/hermes--vg-root 36G 21G 14G 60% /
tmpfs 1,9G 0 1,9G 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
/dev/sda1 704M 215M 439M 33% /boot
//xxx.file.core.windows.net/storage2 5,0T 491M 5,0T 1% /mnt/storage2/cipher
/mnt/storage2/cipher 5,0T 491M 5,0T 1% /mnt/storage2/plain
tmpfs 385M 0 385M 0% /run/user/1000
특히, "예 (업로드 포함 안 함)"를 선택한 후 수동 백업이 성공했습니다. 로그는 여기 에 있습니다. 따라서 실패 원인이 실제로 압축된 데이터량과 관련이 있을 수 있습니다.
그 후 백업을 내부 드라이브로 다시 옮겼더니, 이제 업로드를 포함해도 수동 백업이 정상적으로 작동합니다. 로그는 여기 에 있습니다.
실패 원인이 우리의 gocryptfs / SAMBA 환경 설정에 특이한 것 같습니다. 그래도 이 문제를 더 조사할 아이디어가 있다면 기꺼이 듣고 싶습니다. 예를 들어, 정확히 어떤 상황에서 gzip이 Operation not permitted를 출력하는지 등입니다.