안녕하세요!
저희는 현재 두 개의 다른 S3 호환 서비스(양쪽 모두 DigitalOcean Spaces입니다) 사이에서 업로드된 이미지들을 모두 마이그레이팅하고 있습니다. 그리고 지금은 상당히 좋지 않은 상태에 빠져 있다는 걸 깨달았습니다.
마이그레이션이 어떻게 진행되었는지 먼저 설명드리겠습니다:
- rclone을 사용하여 초기 버킷을 새 버킷으로 클론/동기화했습니다.
- Discourse 관리 화면의
Files페이지에 있는 모든 참조를 새 엔드포인트로 업데이트했습니다. - 리베이크(re-bake)를 실행했습니다.
불행히도 이 작업은 저희가 원했던 결과를 내지 못했고, 이제 포럼에서 모든 이미지가 “사라진” 상태입니다. 이미지들은 여전히 S3 버킷에 남아 있습니다(다행히에도 기존 버킷에도 여전히 남아 있습니다) 하지만 어떤 게시글도 해당 이미지를 찾을 수 없습니다.
버킷의 크기는 약 60GB로, 극단적인 수준은 아니지만 상당히 큰 양의 데이터입니다.
컨테이너를 재구성해 보고, 톰스톤(tombstone)에서 데이터를 복구해 보았으며, 지원 포럼이나 레이크 태스크(rake tasks)에서 찾을 수 있는 거의 모든 방법을 시도해 보았습니다.
또한 Discourse remap을 통한 데이터베이스 교체도 시도해 보았습니다.
현재 베이킹된 콘텐츠에서 각 이미지는 기본적으로 다음과 같은 형태입니다:
<img src="https://xxxx.xxxxx.xx/images/transparent.png" alt="image" data-orig-src="upload://h8UudilPhVsGnNmvlJ5lQYEr8PT.jpeg" width="375" height="500">
이것은 링크의 b64-sha가 깨졌거나, 어떤 이유로든 이미지의 sha가 변경되었음을 시사합니다.
혹시 이런 작업을 해보신 분이 계신가요? 모든 이미지가 영구적으로 사라진 건가요? (네, 네, 저는 백업과 기존 이미지들을 가지고 있으므로 방법이 있다는 걸 알고 있습니다.)