플러그인이 있는 상태에서 백업에서 복구하는 가장 좋은 방법은 무엇인가요?

최근에 vBulletin에서 Discourse로 업그레이드했습니다.

아직 Discourse와 그 도구를 사용하는 법을 배우는 중입니다.

제 관심사 중 하나는 재해 복구입니다.

우리는 장기간 보관하는 자동 스냅샷을 가지고 있습니다.

Discourse 내부 도구를 사용하여 매일 백업을 생성하고, 15일 동안 S3 버킷에 저장합니다.

스냅샷에서 복구하는 것은 비교적 간단합니다.

마지막으로 사용 가능한 스냅샷에서 복구한 후, 마지막 사용 가능한 백업을 사용하여 콘텐츠를 복원하는 것이 아이디어입니다.

Discourse 플러그인을 테스트하기 위해 테스트 머신이 필요했습니다.

그래서 재해 복구 계획을 시험해 볼 좋은 기회였습니다.

하지만 스냅샷을 사용하는 대신 처음부터 복구하는 것을 시도했습니다(모든 것이 잘못되어 사용 가능한 백업을 복원하기 위해 처음부터 시작해야 하는 경우에 대비하여).

Debian 머신을 생성하고 소프트웨어를 업데이트한 후, 플러그인 없이 최소한의 구성으로 Discourse를 처음부터 설치했습니다.

HTTPS를 구성하여 작동하게 만든 후, 마지막 백업을 복원하려고 시도했습니다.

데이터베이스 업데이트 중에 실패했습니다.

일부 테이블에 존재하지 않는 컬럼에 대해 오류가 발생했습니다. 롤백이 수행되었고, 다시 같은 콘텐츠, 즉 거의 아무것도 없는 상태가 되었습니다.

오류와 여기의 몇 가지 스레드를 읽다가 이것이 서로 다른 Discourse 버전으로 인해 발생할 수 있다는 것을 깨달았습니다.

확인해 보니, 새로운 포럼의 버전이 원래 포럼보다 약간 최신이었습니다.

원래 포럼을 최신 버전으로 업그레이드하고 백업을 만들었습니다.

복구를 시도했지만 비슷한 오류로 다시 실패했습니다.

따라서 새로운 포럼에 동일한 플러그인이 설치되어 있지 않았을 가능성이 있습니다.

그래서 app.yml을 수정하여 플러그인을 설치하고 앱을 다시 빌드했습니다. 그리고 다시 시도했습니다.

이번에는 잘 작동했습니다.

하지만 불안감을 남겼습니다.

정확히 동일한 플러그인과 버전이 설치된 머신에서 백업을 복원해야 한다면, 성공적인 복구를 얻는 것이 꽤 어려울 것입니다.

이번에는 제 구식 포럼이 정상적으로 작동하고 있었기 때문에 버전을 확인하고 최신 버전으로 업데이트하는 것이 쉬웠습니다.

하지만 재해에서 복구할 때는 버전을 확인하거나 소프트웨어를 업그레이드할 기회가 없습니다.

이 문제를 어떻게 해결합니까?

백업에는 설치된 플러그인과 Discourse 및 플러그인 버전 정보가 포함되어 있습니까?

백업과 일치하도록 적절한 Discourse 및 플러그인 버전으로 기본 Discourse 인스턴스를 어떻게 생성합니까?

사전에 조언을 주셔서 감사합니다.

플러그인이 데이터베이스를 건드리는 경우는 드뭅니다.

Jeff, 문제는 플러그인이 작동하지 않는다는 것이 아닙니다.

백업을 복원할 때, 백업의 원본에서 실행 중이던 것과 정확히 동일한 버전의 Discourse를 실행하고 동일한 플러그인을 설치해 두어야 하는 것 같습니다.

하지만 과거 시점의 백업을 복원할 경우, 당시 정확히 어떤 버전과 플러그인을 사용했는지를 알기 어렵습니다.

백업 파일에서 백업이 생성되었을 때 설치되어 있던 버전과 플러그인 목록을 확인하고, 복원 화면에서 이를 볼 수 있다면 도움이 될 것입니다.

아니요, 그것은 사실이 아닙니다.

서드파티 플러그인을 사용 중이신가요? 제 지식의 범위 내에서, 공식 Discourse 플러그인에서는 이런 일이 발생하지 않을 것으로 생각합니다.

즉, 백업과 완전히 동일한 버전을 실행하지 않아도 되면서 백업을 복원할 수 있다는 뜻인가요?
복원 중 오류가 발생했는데, 버전이 일치하지 않아서 생긴 문제인 줄 알았습니다.

복원 전에 백업의 Discourse 버전과 플러그인 버전을 미리 확인할 수 있다면 도움이 될 것 같습니다.

저는 서드파티 플러그인 중 ‘topic list preview’ 하나만 사용 중입니다.

여러 번 재시도한 끝에(아무것도 변경하지 않은 채로) 백업 복원에 성공했습니다.
기이하게도, 그중 한 번은 오류 없이 복원이 완료되었습니다.

제가 이 문제를 겪는 유일한 사람이 아니라는 것을 알 수 있었습니다: