最近、OSのアップグレードと同時にZimbraのアップグレードに関していくつか問題が発生しました。具体的には、Zimbra Open Source Editionを8.0.5から8.6にアップグレードすると同時に、UbuntuServerを12.04から14.04にアップグレードしたいと思いました。私が遭遇した問題は、それを機能させることができなかったということでした、ZimbraはPerl関連の例外をたくさん投げました、そしてZimbraフォーラムはあまりコミュニケーションが取れていないので、週末の後に再び稼働するためにバックアップにリロールしなければなりませんでした。では、正しいプロセスは何ですか?
これをすべて機能させるために2日を費やした後、アップグレードの問題のために多数の復元を実行して、対応する必要があると感じました。
私の状況では、Ubuntu 12(Zimbra 8.6)-> Ubuntu 16(Zimbra 8.8)のアップデートでした。残念ながら、ZimbraのWebサイト(/opt/zimbra/conf/localconfig.xml
)からの指示、およびOPからの投稿により、Zimbraの製品版でタスク./install -s
を実行した後、次のLDAPエラーが発生しました。
ldap_urlとldap_master_urlをldapレプリカで同じにすることはできません
結果として、私のために働いた方法は、do-release-upgrade
の間に実行されるLabsyの提案を実行することです。詳細な情報を追加するために、混乱する可能性のある他の人のために、UbuntuOSのアップグレードプロセス中に次のメッセージが表示されます
Updating repository information
Third party sources disabled
Some third party entries in your sources.list were disabled. You can
re-enable them after the upgrade with the 'software-properties' tool
or your package manager.
このとき、サーバーへのSSHセッションを開き、ファイル/etc/apt/sources.list.d/zimbra.list
を編集し、行の先頭から#
を削除して、アップグレードプロセスの一部としてzimbraパッケージが更新されるようにします。 。
通常どおりOSのアップグレードに従い、すべてのデフォルトメッセージに同意します。 OSのアップグレードが完了したら、サーバーを再起動できます。起動プロセス中にZimbraサービスが起動すれば、すべてが順調に進んでいることがわかります。
この方法では、新しいOSで./install -s
を実行する必要はまったくありません。
次のメッセージのためにここに来た他の人にとって、ldap_urlとldap_master_urlはldapレプリカで同じにすることはできません、エラーを受け取る理由は、./install -s
が吹き飛ばされるためです/opt/zimbra/conf/localconfig.xml
に保存されているLDAP構成。このファイルのバックアップがない場合は、バックアップ/スナップショットから復元し、アップグレードプロセスを最初から開始する必要があります。
Zimbraサイトで、問題はないが一部が不足しているガイドを見つけました( https://wiki.zimbra.com/wiki/Ubuntu_Upgrades )。私は最終的にそれを理解しましたが、私や他の人のために将来の参考のためにこれを書き留める必要性を感じました。私の場合、Zimbra Open Source Editionで単一サーバーのインストールを使用していましたが、これの一部は他のインスタンスには適用されない可能性があります。
一般的なベストプラクティスは、仮想マシンにZimbraをインストールし、LVMまたはスナップショットをサポートする別の手法を使用することです。このようにしてスナップショットを作成でき、問題が発生した場合はスナップショットにロールバックするだけです。
スナップショットは、更新/アップグレードが失敗した場合の追加の使いやすいフォールバックポイントを持つために使用できるだけでなく、より簡単なバックアップも提供します。
注:スナップショットは、バックアップの代わりではなく、バックアップに加えて使用する必要があります。
/ opt/zimbraフォルダー全体の完全バックアップを作成し、使用するバージョンとOSのZimbraインストーラーのコピーを常に保持します。サーバーがクラッシュした場合は、フォルダーとインストーラーを使用してZimbraのインストール全体を復元できます。
常に最新バージョンを使用する必要はありませんが(それは良い考えですが)、少なくともOSとZimbraのインストールがサポート期間内であることを確認する必要があります。
SSH経由でサーバーを管理する場合は、すべてのアップグレードにscreenを使用してください。接続が中断されても、1日が損なわれることはありません(ターミナルセッションが閉じても、実行中のすべてのコマンドが終了します)。画面では、screen -r
とのセッションが中断されて再開するだけです。
ここに注意が必要な部分があります。私の場合、Ubuntu12.04をUbuntu14.04にアップグレードすることから始めました。次に、現在の8.0.5の上にZimbra 8.6をインストールしようとしましたが、バージョンチェックを無視して気が狂ったので、インストールを乾杯しました。
秘訣は、アップグレードしたOSに古いOSと同じexact同じバージョンのZimbraをインストールする必要があることです。私の場合、Ubuntu 14.04のインストーラーすらなかったので、基本的にはスナップショットにロールバックしてやり直すしかありませんでした。
この例では、構成を使用します。繰り返しますが、Ubuntu 12.04から14.04に、Zimbra8.0.5から8.6にアップグレードしたかったのです。
私の場合、Ubuntu14.04にはZimbra8.0.5のインストーラーはありませんでしたが、Ubuntu12.04には8.6のインストーラーがありました。 ZimbraとOSのどちらを最初にアップグレードするかは問題ではありませんが、古いバージョンと新しいバージョンの両方に同じZimbraバージョンをインストールすることは重要です OS。古いバージョンのZimbraを新しいOSにインストールした後でアップグレードできますが、OSとZimbraを同時にアップグレードすることはできませんできません。
8.6アーカイブをダウンロードし、解凍してインストールするだけです。最初にzimbraを停止する必要はありません。インストーラーが自動的に停止します。
screen
wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814.tgz
tar xzf zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814.tgz
cd zcs-8.6.0_GA_1153.UBUNTU12_64.20141215195814
Sudo ./install.sh
指示に従ってください。求められた場合は整合性チェックを行う必要はありませんが、そうすることをお勧めします。これにはしばらく時間がかかる場合がありますが、データベースが完全であることを確認してください。インストール後、すべてが正常に機能していることを確認します。
アップグレードを開始する前にzimbraを停止し、すべてのサービスが停止していることを確認してください。
su - zimbra
zmcontrol stop
zmcontrol status
exit
更新してアップグレードしてから、リリースのアップグレードを開始します。
Sudo apt-get update
Sudo apt-get ugprade
Sudo do-release-upgrade
アップグレード中に、Ubuntuは現在の構成を維持するかどうかを何度も尋ねます。 常に常にそれを行う別名デフォルトの回答を選択する(N)
Configuration file `/etc/security/limits.conf’
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer’s version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a Shell to examine the situation
The default action is to keep your current version.
*** limits.conf (Y/I/N/O/D/Z) [default=N] ?
古いパッケージの削除についても同じことが当てはまります。今はそのままにしておいてください。アップグレードが完了したら、再起動します。
Zimbraは機能しなくなります。慌てる必要はありません。これは、Ubuntu14.04では動作しないUbuntu12.04用のZimbra8.6があるためです。今までにそれをしなかった場合は、古いシステムにあった同じZimbraバージョン(この場合は8.6)をダウンロードしますが、今回は新しいバージョン:
wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
tar xzf zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
Zimbraインストールのすべての依存関係をインストールする必要があります。私の場合はlibperl5.18でしたが、まだインストールしていない場合は、解凍などを要求されます。心配しないでください。インストーラーが何であるかを通知します。欠落している場合は、次の手順に従ってください。依存関係が欠落しているためにインストーラーがキャンセルされた場合は、それらをインストールして続行してください。今回は、-sオプションを指定してインストーラーを実行し、整合性チェックをスキップする必要があります。
-sオプションはソフトウェアを表します。これは、インストーラーがデータをアップグレードせず、新しいソフトウェアをインストールするだけであることを意味します。既存のデータ(メールストレージ、設定など)をアップグレードするには、新しいソフトウェアが必要です。それを省略すると、インストーラーはエラーでキャンセルされます。続行する前に、バージョンに適したインストーラーを再度使用していることを確認してください。フォルダ名内にバージョンが表示されます:zcs-8.6.0_GA_1153。UBUNTU14_64。20141215151116。
cd zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116
Sudo ./install.sh -s
重要:整合性チェックをスキップします。データがアップグレードされた後、後で手動で実行できます。
Do you want to verify message store database integrity? [N]
アップグレードするかどうか尋ねられたら、続行してYで答えます。インストールが完了したら、同じインストーラーを再度実行します。今回は-sオプションを指定しません。
Sudo install.sh
注:整合性チェックを今すぐ実行することも、スキップして後で実行することもできます。
前と同じように指示に従ってください。これで、Ubuntu14.04でZimbra8.6が動作するはずです。
Ubuntu12.04上のZimbra8.0.5-> Ubuntuを14.04にアップグレードし、Ubuntu14.04にZimbra8.6をインストールします
Ubuntu12.04のZimbra8.0.5-> Ubuntu12.04のZimbra8.6_for_12_04-> Ubuntu14.04へのアップグレード-> Ubuntu14.04のZimbra8.6_for_14_04のインストール
ステップ3.Ubuntuを12.04から14.04にアップグレードします
ここで、アップグレードプロセスで互換性のないリポジトリの削除について通知された場合は、一時停止することが重要です。続行する前に待機し、サーバーへの別のSSHセッションを開いて、ファイルを編集します。
/etc/apt/sources.list.d/zimbra.list
Do-release-upgradeによって追加されたハッシュ#を2行または3行から削除します。
ファイルを保存して元のSSHセッションに戻り、アップグレードプロセスを続行できます。そうすることで、アップグレードは削除されませんが、すべてのZimbraパッケージをアップグレードします。