SLES 15 KVM セットアップ: 選択した仮想マシンを起動時に自動的に起動するように設定
SLES 15 KVMおよびlibvirtツールをインストールし、適切なホストサービスを有効にし、選択した仮想マシンが再起動後に起動するように設定します。
Zimbra Community Edition (CE) メールボックスをバックアップするには、 で TGZ ファイルとしてエクスポートしzmmailbox getRestURL、アーカイブを検証してから、 で復元しますpostRestURL。既にメールが含まれているアカウントにインポートする場合は、 から始めます。メールボックスのルートでresolve=skipを使用すると、既存のアイテムが削除される可能性があります。resolve=reset
Zimbraは、RESTインターフェースとユーティリティを介したTGZ形式のエクスポートとインポートについてドキュメント化していますzmmailbox。このアーカイブは、EMLファイルとしてパッケージ化された電子メールメッセージや、該当するカレンダー、連絡先、タスク、ブリーフケースデータなど、メールボックスの内容とフォルダ構造を保持することを目的としています。インポート時に保持されるコンテンツとメタデータは、ソースと宛先のバージョン、および転送されるアイテムによって異なります。
これは、アカウントやサーバーの完全なバックアップとは異なります。TGZコンテンツのエクスポートでは、不足しているアカウントがプロビジョニングされたり、すべての LDAP 属性、パスワード、エイリアス、サービス クラスの割り当て、ルーティング設定、フィルタ、権限、サーバー構成が個別に保存されたりすることはありません。必要なアカウント設定は、管理手順を使用して別途記録してください。zmbackup古い Zimbra ドキュメントに記載されているユーティリティは、標準の CE ワークフローではなく、Network Edition に属します。
コマンド例は Zimbra のドキュメントに記載されているインターフェースに準拠していますが、個別にビルドされたすべての CE リリースの実機テストではありません。本番環境の復旧を計画する前にzmcontrol -v、利用可能なzmmailboxヘルプとビルドのリリース ノートを確認してください。また、実行中にユーザーがアイテムを変更した場合、ライブ REST エクスポートが完全に一貫した瞬間をキャプチャするとは限りません。一貫性が重要な場合は、アクティビティの少ない時間帯をスケジュールしてください。
管理者権限を持つオペレーティングシステムアカウントでZimbraサーバーに接続します。Zimbraサービスユーザーに切り替えてから、対象のアカウントが存在することを確認します。複数サーバー構成の場合は、正しいメールボックスサービスに接続していることを確認してください。
sudo -iu zimbra
zmcontrol -v
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
user@example.com実際のアカウントに置き換えてください。この-zスイッチはローカルのZimbra管理者認証情報を使用します。エンドユーザーのパスワードではありません。必要な管理者権限がない場合は、シェルコマンドにパスワードを埋め込むのではなく、承認済みのアカウントアクセスワークフローを使用してください。

特権OSユーザーとして、Zimbraサービスユーザーが書き込み可能な場所を作成します。これは公開ディレクトリ以外で行い、事前に空き容量を確認してください。インストールコマンドを実行してからzimbra、に切り替えるか、特権アカウントに戻ってください。
sudo install -d -o zimbra -g zimbra -m 0700 /srv/zimbra-mailbox-backups
df -h /srv/zimbra-mailbox-backups
ls -ld /srv/zimbra-mailbox-backups
メールアーカイブには機密性の高いメッセージや添付ファイルが含まれている可能性があります。ファイルシステムへのアクセスを制限し、サーバー外のコピーを保護し、適切な保存ポリシーを適用してください。

シェルからzimbra、以下のRESTエクスポーターを使用してください。この-t 0オプションは、大規模な操作におけるCLIタイムアウトを無効にしますが、プロキシ、ディスクI/O、またはサーバーの制限によってエクスポートが中断されないことを保証するものではありません。
umask 077
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz' > /srv/zimbra-mailbox-backups/user-20261010.tgz
アカウントごとに1つのエクスポートを実行し、日付入りの一意のファイル名を選択してください。シェルリダイレクトによりパスが切り詰められるため、以前のアーカイブパスを再利用しないでください。コマンドでエラーが発生した場合は、以下のチェックに合格するまで、生成されたファイルは不完全なものとして扱ってください。

TGZファイルが空でないからといって、復元可能なバックアップであるとは限りません。tarストリーム全体をテストし、代表的なフォルダのエントリを調べ、ダイジェストを計算してください。tarチェックが失敗した場合は、ファイルをインポートするのではなく、エクスポートの手順を調査する必要があります。
test -s /srv/zimbra-mailbox-backups/user-20261010.tgz
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz > /dev/null
tar -tzf /srv/zimbra-mailbox-backups/user-20261010.tgz | head -n 20
cd /srv/zimbra-mailbox-backups
sha256sum user-20261010.tgz > user-20261010.tgz.sha256
チェックサムをアーカイブファイルと同じ場所に保存し、両方を元のサーバー外の保護されたストレージに移動します。コピー後、sha256sum -c user-20261010.tgz.sha2562つのファイルを含むディレクトリでコマンドを実行します。チェックサムが正常に取得された場合、バイト単位の整合性が確認されますが、すべてのメールボックス機能が正しく復元されることを保証するものではありません。


宛先アカウントが存在しない場合は、通常の承認済みZimbraプロビジョニングプロセスを通じて作成してください。TGZインポートでは作成されません。アドレス、クォータ、サービスアクセス、および既存のフォルダを確認してください。最初のテストでは、特にバージョン間転送の場合は、隔離された非本番環境アカウントを使用してください。
sudo -iu zimbra
zmprov ga user@example.com zimbraMailHost zimbraAccountStatus
zmmailbox -z -m user@example.com getAllFolders
検証済みのアーカイブを、アクセス先のZimbraサービスユーザーが読み取り可能なディレクトリにコピーし、アクセス権限を制限したままにします。リモート転送の場合は、転送先で再度チェックサムを確認してください。同じアドレスを持つアカウントが空であると想定しないでください。

一致するアイテムを残したまま不足しているアイテムを追加するには、 を使用しますresolve=skip。これはドキュメントに記載されているデフォルトの重複処理動作ですが、すべてのアイテムタイプまたはバージョンで完全にマージされることを保証するものではありません。
zmmailbox -z -m user@example.com -t 0 postRestURL '//?fmt=tgz&resolve=skip' /srv/zimbra-mailbox-backups/user-20261010.tgz
破壊的なサンプルを本番環境にコピーすることは避けてください。Zimbraのドキュメントでresolve=resetは、インポート前に宛先アイテムをクリアするように指示されています。また、ポリシーによって既存アイテムの処理方法も変更されます。これらreplaceのmodifyポリシーは、テストを実施し、対象となるアカウントとフォルダの範囲について承認を得た後にのみ、管理された復元に使用してください。

タイムアウトが発生した場合は、-t 0サーバーまたはプロキシのタイムアウトとストレージ制限を保持して確認してください。CLIタイムアウトをゼロにしても、すべてのネットワーク問題が解決するわけではありません。ZimbraのサポートWikiでは、一部の大きなメールボックスのエクスポートでアーカイブが破損したり、I/Oエラーが発生したりする可能性があると警告しています。サイズが大きすぎる、または信頼性の低いエクスポートの場合は、フォルダまたは日付ごとに作業を分割し、各アーカイブとそのインポートを予備のアカウントでテストしてください。
例えば、記載されている検索クエリでは、under:Inbox受信トレイの内容とそのサブフォルダが選択されます。REST URLを二重引用符で囲むことは必須です。なぜなら、アンパサンドはシェルではなくZimbraに渡される必要があるからです。
zmmailbox -z -m user@example.com -t 0 getRestURL '//?fmt=tgz&query=under:Inbox' > /srv/zimbra-mailbox-backups/inbox-20261010.tgz
フォルダ単位のアーカイブは、メールボックス全体の書き出しの代わりにはなりません。アーカイブの内容を個別に検証し、どのフォルダや日付が省略されたかを記録してください。アカウントが無効になっている場合、または要求に対して認証エラーが発生した場合は、TLS証明書のチェックを回避したり、認証情報を公開したりするのではなく、アカウントの状態と管理者認証を確認してください。
宛先フォルダを一覧表示し、記録されたソースフォルダおよびTGZインベントリと比較します。
zmmailbox -z -m user@example.com getAllFolders
zmmailbox -z -m user@example.com getMailboxSize
次に、移行先のテストアカウントにサインインし、送受信メッセージ、添付ファイル、連絡先、カレンダーイベントのサンプルを開きます。日付とフォルダパスを確認し、インポートエラーがないか確認します。必要に応じて、エイリアス、共有権限、ルール、その他のアカウントレベルの設定を個別に再作成または確認します。想定されるデータにアクセスでき、確認事項が記録された場合にのみ、復旧が成功したとみなします。

主な参考資料:Zimbra zmmailbox コマンド リファレンス、Zimbra REST API リファレンス、Zimbra zmprov 管理リファレンス、およびスコープ付きエクスポートと大規模アーカイブに関する Zimbra の記事。Zimbra wiki の例の中には、古いものや開発中のものもあります。本番環境で使用する前に、インストール済みの CE ビルドで動作を確認してください。
SLES 15 KVMおよびlibvirtツールをインストールし、適切なホストサービスを有効にし、選択した仮想マシンが再起動後に起動するように設定します。
systemdジョブと前回の起動ジャーナルを使用して、遅いサービス、マウント、またはストレージの依存関係を特定し、原因を隠蔽することなく修正します。
firewall-cmd を使用してアクティブゾーンを検査し、HTTP を安全に許可し、SSH アクセスを維持し、SLES 15 でルールが再読み込み後も有効であることを確認します。
PAMの障害が発生した原因を、サービス、アカウントポリシー、またはIDプロバイダーに特定し、正常に動作する管理者セッションを維持しながら、適切なSLES構成を修復します。
セキュアブートを無効にせずに、カスタムSLES 15カーネルモジュールをロードします。実行中のカーネルと一致させ、.koファイルに署名し、MOKキーを登録し、ロードが成功したことを確認します。
NextcloudのファイルとMariaDBをまとめてバックアップし、cronを使って暗号化されたResticスナップショットをスケジュール設定し、稼働中のサーバーにリスクを負わせることなく復旧を検証します。
Zimbra Community Editionの個々のメールボックスをエクスポートし、そのTGZバックアップを検証し、既存のメールを上書きすることなく、不足しているアイテムを復元します。
システムツリーの準備、ブート統合、デプロイメントチェック、ロールバックなど、仮想マシン上でDebianベースのOSTreeデスクトップを作成およびテストする方法を学びます。
Keycloakとトークン認証を使用してJitsi Meetルームを開始できるのは承認済みのアカウントのみとし、必要に応じてゲスト参加も可能にする。
ONLYOFFICE DocSpaceをActive DirectoryまたはOpenLDAPに接続し、ユーザーとグループを安全にインポートし、アカウントフィールドをマッピングし、信頼性の高い同期をスケジュールします。