최근에 vBulletin에서 Discourse로 업그레이드했습니다.
아직 Discourse와 그 도구를 사용하는 법을 배우는 중입니다.
제 관심사 중 하나는 재해 복구입니다.
우리는 장기간 보관하는 자동 스냅샷을 가지고 있습니다.
Discourse 내부 도구를 사용하여 매일 백업을 생성하고, 15일 동안 S3 버킷에 저장합니다.
스냅샷에서 복구하는 것은 비교적 간단합니다.
마지막으로 사용 가능한 스냅샷에서 복구한 후, 마지막 사용 가능한 백업을 사용하여 콘텐츠를 복원하는 것이 아이디어입니다.
Discourse 플러그인을 테스트하기 위해 테스트 머신이 필요했습니다.
그래서 재해 복구 계획을 시험해 볼 좋은 기회였습니다.
하지만 스냅샷을 사용하는 대신 처음부터 복구하는 것을 시도했습니다(모든 것이 잘못되어 사용 가능한 백업을 복원하기 위해 처음부터 시작해야 하는 경우에 대비하여).
Debian 머신을 생성하고 소프트웨어를 업데이트한 후, 플러그인 없이 최소한의 구성으로 Discourse를 처음부터 설치했습니다.
HTTPS를 구성하여 작동하게 만든 후, 마지막 백업을 복원하려고 시도했습니다.
데이터베이스 업데이트 중에 실패했습니다.
일부 테이블에 존재하지 않는 컬럼에 대해 오류가 발생했습니다. 롤백이 수행되었고, 다시 같은 콘텐츠, 즉 거의 아무것도 없는 상태가 되었습니다.
오류와 여기의 몇 가지 스레드를 읽다가 이것이 서로 다른 Discourse 버전으로 인해 발생할 수 있다는 것을 깨달았습니다.
확인해 보니, 새로운 포럼의 버전이 원래 포럼보다 약간 최신이었습니다.
원래 포럼을 최신 버전으로 업그레이드하고 백업을 만들었습니다.
복구를 시도했지만 비슷한 오류로 다시 실패했습니다.
따라서 새로운 포럼에 동일한 플러그인이 설치되어 있지 않았을 가능성이 있습니다.
그래서 app.yml을 수정하여 플러그인을 설치하고 앱을 다시 빌드했습니다. 그리고 다시 시도했습니다.
이번에는 잘 작동했습니다.
하지만 불안감을 남겼습니다.
정확히 동일한 플러그인과 버전이 설치된 머신에서 백업을 복원해야 한다면, 성공적인 복구를 얻는 것이 꽤 어려울 것입니다.
이번에는 제 구식 포럼이 정상적으로 작동하고 있었기 때문에 버전을 확인하고 최신 버전으로 업데이트하는 것이 쉬웠습니다.
하지만 재해에서 복구할 때는 버전을 확인하거나 소프트웨어를 업그레이드할 기회가 없습니다.
이 문제를 어떻게 해결합니까?
백업에는 설치된 플러그인과 Discourse 및 플러그인 버전 정보가 포함되어 있습니까?
백업과 일치하도록 적절한 Discourse 및 플러그인 버전으로 기본 Discourse 인스턴스를 어떻게 생성합니까?
사전에 조언을 주셔서 감사합니다.