問題の原因を調べる時間はかけませんでした。なぜなら、@waffleslop をできるだけ早く稼働させたかったからです。私は、コマンドラインを使用しているため、問題なく Discourse(DigitalOcean 上でホストされています)サーバーをアップグレードしました。GUI ではなく、非標準インストール を使用しています。
ダウンタイムの延長リスクを最小限に抑えるために、いくつか推奨できることがあります。
- 何かを行う前に必ずバックアップを作成してください! アップデートを実行する前に、インターフェースにバックアップを強く推奨する警告を表示すべきではないかと思います。最近のバックアップがあれば、最悪の場合でも新しいDropletを起動して復元できるという安心感があります。
- バックアップにアクセスできることを確認してください! @waffleslop と私は、
/var/discourseのコピーを新しいDropletに取得する方法を理解するのにかなりの時間を費やしました。元のDropletで非常に奇妙なことが起こっており、ファイルを新しいDropletにscpすることができませんでした。私のサーバーでは、バックアップをS3に保存し、毎晩ローカルマシンにコピーしています。これは過剰でしょうか?おそらく。しかし、何らかの理由で問題が発生した場合、多くの選択肢が与えられます。 - 時々バックアップをテストしてください。 本番サーバーがダウンしているときは、自分が何をしているか自信を持ちたいものです。理想的には、本番環境で問題が発生した場合にフォールバックできる場所があるように、アップデートを実行する直前にバックアップをテストすることになるでしょう。しかし、プロセスを新鮮に保つために、必要な頻度でバックアップを試すことは通常十分です。
- 二人寄れば文殊の知恵。 これは自己利益の発言かもしれませんが、このような状況の経験がある人と画面共有で通話できれば、緊急事態を乗り越えるのがはるかに簡単になることがあります。理想的には、コマンドラインの使い方を知っている人 が望ましいでしょう。
バックアップさえ作成しておけば、アップグレードはかなり安全に行えるはずです。