이 주제는 이후 4번째 게시물부터 '복구 실패(Restore Failing)'로 발전했으며, 이것이 현재 주요 문제입니다. 처음 4개 게시물은 무시하셔도 됩니다.
저는 몇 년 전/처음부터 업로드를 AWS S3로 설정해 두었습니다.
(제가 아는 한) S3 업로드를 백업에 포함하는 옵션을 활성화한 적이 없었음에도 불구하고, 어제 '업로드(Uploads)'를 백업에 포함하도록 선택했을 때 로그에 다음과 같은 내용이 나타났습니다:
몇 가지 궁금한 불일치가 있어 당황스럽습니다:
어젯밤 관리자 설정에서 백업에 '업로드’를 포함하도록 옵션을 켰습니다. 그런 후 WinScp를 통해 로컬 ‘공유 업로드(Shared Uploads)’ 폴더를 확인해 보니, 1개 폴더에만 100개 미만의 파일이 있었습니다 (다른 2x, 3x 폴더는 존재하지 않으며, 필요하면 스크린샷을 공유할 수 있습니다). 그런데 왜 백업 로그에는 약 3,000개의 파일이 다운로드된 것으로 표시되는 것일까요? ('다운로드 실패’는 이 로그의 또 다른 문제이지만, 그것은 ‘별개의’ 문제입니다). 만약 로컬 저장소에서 이 파일들을 다운로드하고 있다면, 그 많은 파일은 어디에 존재하는 것일까요? 그리고 S3에서 다운로드하고 있다면, a) 왜 거기서 다운로드하는 것일까요? 저는 rails 콘솔에서 백업에 s3 데이터를 포함하도록 해당 옵션을 변경한 적도 없고, yml 파일의 Env 섹션에서 비슷한 옵션을 생성한 적도 없는데 말입니다.
그 후 오늘 Rails Console에서 해당 옵션을 'True’로 변경했습니다. 그리고 백업 작업을 실행했을 때, 약 3,200개의 파일이 다운로드되고 약 100개가 '다운로드 실패’로 표시되었습니다. 하지만 AWS S3 버킷을 확인해 보니, 약 10배인 32,000개(약 3GB)의 파일이 있었습니다. 그렇다면 왜 모든 파일을 다운로드하지 않는 것일까요?
이 모든 데이터를 대조/동기화하고, 어떤 불일치가 어디서 발생하고 있는지 파악할 수 있는 방법이 없을까요?
지금은 매우 당황스럽습니다. 무엇을 해야 할지 모르겠습니다. 궁극적인 목표는 (너무 비싼) aws 스토리지를 더 저렴한 버전으로 이전하는 것입니다 (VPS가 실행 중인 Hetzner 자체는 매우 저렴하므로, 제 1차 서버의 스토리지 용량도 늘릴 수 있습니다).
해당 설정은 파일을 임시 디렉터리로 다운로드하여 백업에 포함시킵니다. 업로드 디렉터리에 직접 저장하지는 않습니다. 업로드 디렉터리에 파일을 넣으려면 백업을 복원해야 합니다. 만약 문제가 발생할 경우 원본 서버가 온전하게 유지되도록, 새 서버에서 이 작업을 수행하는 것이 좋습니다.
일부 파일이 누락되었을 수 있습니다. 이미지가 누락된 게시물이 있나요? 또 다른 가능성은 업로드 테이블에 더 이상 게시물에서 참조되지 않는 업로드 항목이 포함되어 있어, 해당 누락된 이미지는 문제가 아닐 수 있다는 점입니다.
100개 정도라면 큰 문제가 아닐 가능성이 높습니다.
또는 과거에 버그로 인해 유지되어야 할 파일들이 정리(삭제)되었을 수도 있습니다.
다운로드된 파일을 확인하려면 백업 파일을 다운로드하여 그 내용을 살펴봐야 합니다. 새 서버로 백업을 복원하여 작동 방식을 확인해 보세요.
S3 업로드를 비활성화한 후 1GB 백업(백업은 여전히 AWS S3에 있음)을 복원하려고 했으나, 다시 실패했습니다. 여기서는 무엇이 잘못되었을 수 있을까요?
또한, 복원 실패 후 로그아웃된 상태가 되었고, 다시 로그인했을 때 모든 비스태프 이메일이 비활성화되었다는 배너가 표시되었습니다. 그리고 이메일로 받은 링크를 통해 로그에 접근하려고 했으나, 해당 파일을 찾을 수 없거나 접근할 수 없었습니다(설정된 오류 페이지가 표시됨).
복원을 시도하던 중, 로그아웃되기 직전 다음과 같은 로그 메시지를 확인했습니다:
[2024-08-19 04:12:58] 'Bathinda_Helper' has started the restore!
[2024-08-19 04:12:58] Marking restore as running...
[2024-08-19 04:12:58] Making sure /var/www/discourse/tmp/restores/default/2024-08-19-041258 exists...
[2024-08-19 04:12:59] Downloading archive to tmp directory...
이후의 ‘FAILED-restore’ 시도에 로그 링크를 클릭할 수 있었는데, 로그아웃되기 직전이었습니다. 여기 있습니다: log- failed restore.txt (98.9 KB)
새로운 업로드가 실제로는 로컬 우분투 서버에 생성되고 있음을 실험을 통해 확인했습니다. 하지만 S3에서 로컬로 복원하는 작업은 실패하고 있습니다. 문제는 제가 확인해 본 몇몇 게시물의 이미지는 여전히 S3에서 표시되고 있다는 점입니다(그 이미지들은 누락되지 않았습니다).