メインコンテンツまでスキップ
Dummy text to avoid mindtouch from removing the blank div

Druva

VMware仮想マシンのアプリケーション対応バックアップの手順

Phoenixは、VMwareコンポーネントと対話して仮想マシン内で実行されているアプリケーションをバックアップします。次の手順では、PhoenixがVM上のMicrosoft SQL Serverデータベースをバックアップする方法について説明します。PhoenixはMicrosoft VSSおよびSQLライターサービスを利用して仮想マシン内のSQL Serverデータベースをバックアップします。Phoenixでは、アプリケーション対応のバックアップを実行するために仮想マシンの認証情報が必要です。

<重要> 仮想マシンでアプリケーション対応のバックアップを構成する場合は、必ずPhoenixにVMの認証情報を設定してください。

VMware仮想マシンでのSQL Server対応バックアップ手順

VM_backup_SQL_Server_aware.png

手順 操作

手順1

仮想マシンのバックアップ要求は以下により開始されます。

  • バックアップポリシーで定義されたスケジュール
  • 手動バックアップ

Phoenixはバックアップ要求をバックアッププロキシプールに転送します。

  • Phoenixは負荷分散アルゴリズムによって、バックアップ要求を実行するバックアッププロキシを自動的に識別します。
  • 識別されたバックアッププロキシがビジー状態の場合、バックアップリクエストはキューイングされ、バックアッププロキシが解放されると開始されます。

手順2

  • vCenterサーバーによって管理されるESXiホストに仮想マシンがデプロイされる環境では、バックアッププロキシはvCenterサーバーに接続して仮想マシンを検出し、その構成を取得します。
  • 仮想マシンがスタンドアロンESXiホストにデプロイされている環境では、バックアッププロキシはESXiホストに接続して仮想マシン構成を取得します。

手順3

仮想マシンでSQL対応のバックアップが有効になっている場合、Phoenixは次の手順を実行します。

  1. バックアッププロキシは、ネットワーク基盤を使用して仮想マシンに直接接続します。 
  2. バックアッププロキシは、実行ファイル(guestossvc.exe)と(PhoenixSQLGuestPlugin.exe)をVMに挿入します。
  3. バックアッププロキシは、VMwareツールを使用して、APIを起動するゲストOS内でguestossvc)プロセスを実行します。
  4. guestossvcのプロセスは、SQL Serverの実行(PhoenixSQLGuestPlugin)プロセスを開始します。バックアッププロキシは、ゲストOSプロセス(guestossvcとの通信にVMでオープンであるポート3542を使用します
  5. guestossvcのプロセスは、PhoenixSQLGuestPluginプロセスと通信するため、Windows Server仮想マシン上のポート3545を使用します。
  6. SQL Server実行プロセス(PhoenixSQLGuestPlugin)は、すべてのSQL Serverインスタンスの永続的なVSSスナップショットを作成します。
  7. Phoenixバックアッププロキシは次の手順を実行します。
    • バックアッププロキシは、ESXiハイパーバイザーまたはvCenterサーバーにクエリを実行して、VMDKファイルと仮想マシンのVMXファイルを含むVMスナップショットを作成します。ローカルデータストアでVMスナップショット用に十分なストレージが利用可能であることを確認してください。 

    • バックアッププロキシは、CBTとTools Quiescingを使用して、仮想マシンのスナップショットを作成します。最初の自動バックアップでは、バックアッププロキシが完全バックアップのスナップショットを作成します。以降のすべてのバックアップでは、バックアッププロキシが増分バックアップのスナップショットを作成します。 

手順4

バックアッププロキシはトランスポートモードを使用してVMスナップショットへのVDDKコネクションを確立し、VMデータを読み取ります。

NBDモードによる暗号化されたVMDKの読み取りはサポートされていません。バックアッププロキシは、NBDSSLまたはHotAddを使用して暗号化されたVMDKディスクを読み取ることができます。サポートされている転送モードは次のとおりです。
 

バックアッププロキシ 仮想マシン 転送モード
暗号化 暗号化 HotAdd
非暗号化 暗号化 NBD-SSL
暗号化 非暗号化 HotAdd

手順5

バックアッププロキシが仮想マシンのスナップショットの読み取りを開始します。 

注:  バックアッププロキシは、ローカルデータストアのVMスナップショットを読み取ります。

手順6

バックアッププロキシは仮想マシンのスナップショットを読み取り、バックアップデータをPhoenix CloudCache(設定されている場合)またはPhoenix クラウドに送信する準備をします。

手順7

バックアッププロキシはスナップショットデータを連続ストリームでPhoenixクラウドに転送します。データをPhoenixクラウドに転送する前に、バックアッププロキシは重複排除を実行します。

転送が完了すると、バックアッププロキシはローカルデータストアに保存されているスナップショットを削除します。 

手順8

バックアッププロキシは、仮想マシンのバックアップをPhoenix Cloudにアップロードした後、次の手順を実行します。

  • SQL Server実行ファイルを停止します
  • SQL Server実行ファイルを削除します
  • ゲストOSプロセスを停止します
  • ゲストOSプロセスファイルと実行ファイルを削除します
  • ゲストOSからVSSスナップショットを削除します

SQL Server対応のバックアップが有効になっているVMware仮想マシンにおけるトランザクションログのバックアップ手順

完全なSQL Serverデータベースバックアップに加えて、Phoenixはデータベースのトランザクションログバックアップをサポートし、より厳密な目標復旧時点(RPO)を提供します。次のワークフローは、バックアッププロキシがSQL Server対応のバックアップを実行する仮想マシンにおいて、PhoenixがSQL Serverデータベースのトランザクションログをバックアップする方法を示しています。 

TL_backup_SQL_Server_aware.png

<重要> トランザクションログのバックアップには、SQL Server対応の仮想マシンのバックアップが成功する必要があります。

手順 操作

手順1

バックアップポリシーは、トランザクションログバックアップ要求を開始します。Phoenixは、バックアップ要求をバックアッププロキシプールに転送します。

  • Phoenixは負荷分散アルゴリズムによって、バックアップ要求を実行するバックアッププロキシを自動的に識別します。
  • 識別されたバックアッププロキシがビジー状態の場合、バックアッププロキシが解放されたときにバックアップ要求がキューイングおよび開始されます。

手順2

  • vCenterサーバーによって管理されるESXiホストに仮想マシンがデプロイされる環境では、バックアッププロキシはvCenterサーバーに接続して仮想マシンを検出し、その構成を取得します。
  • 仮想マシンがスタンドアロンESXiホストにデプロイされている環境では、バックアッププロキシはESXiホストに接続して仮想マシン構成を取得します。

手順3

  1. バックアッププロキシは、ネットワーク基盤を使用して仮想マシンに直接接続します。 
  2. バックアッププロキシは、実行ファイル(guestossvc.exe)と(PhoenixSQLGuestPlugin.exe)をVMに挿入します。
  3. バックアッププロキシは、VMwareツールを使用して、APIを起動するゲストOS上でguestossvc)プロセスを実行します。
  4. guestossvcプロセスは、SQL Serverの実行(PhoenixSQLGuestPlugin)プロセスを開始します。バックアッププロキシは、ゲストOSプロセス(guestossvcとの通信にVMでオープンであるポート3542を使用します
  5. guestossvcのプロセスは、PhoenixSQLGuestPluginのプロセスと通信するため、Windows Server仮想マシン上のポート3545を使用します
  6. SQL Server実行プロセス(PhoenixSQLGuestPlugin)は、仮想デバイスインターフェイス(VDI)を使用して、仮想マシン上のデータベースのログバックアップを作成します。トランザクションログを%ProgramData%\Phoenix\VMWare\SQL\TlLogs\にコピーします。さらに、SQL Server実行プロセスはトランザクションログを削除します。 

:SQL Server実行ファイルはトランザクションログを仮想マシンの<PATH>にコピーするため、このプロセスによりストレージの消費が増加する可能性があります。 

手順4 ゲストOSプロセス(guestossvc)は、バックアッププロキシ経由でログをPhoenix Cloudにアップロードします。 
手順5

バックアッププロキシは、トランザクションログをPhoenix Cloudにアップロードした後、次の手順を実行します。

  • SQL Server実行可能ファイルを停止します
  • SQL Server実行可能ファイルを削除します
  • ゲストOSプロセスを停止します
  • ゲストOSプロセスファイルと実行可能ファイルを削除します
  • ゲストOSのトランザクションログを削除します

Phoenixバックアッププロキシは、次のログバックアップスケジュールが開始されると、手順1から開始されます。たとえば、30分の間隔を指定したとします。仮想マシンのSQL Server対応フルバックアップが午後12時に完了した場合、最初のログバックアップは午後12時に発生します。最初のログバックアップが午後12時20分に完了すると、次のログバックアップは午後12時30分にスケジュールに従って開始されます。最初のログバックアップが午後12時45分まで実行された場合、次のログバックアップは、現在のログバックアップが終了するとすぐに開始されます。Phoenixバックアッププロキシは、次のSQL Server対応VMフルバックアップが実行されるまで、トランザクションログのバックアップを継続します

仮想マシンのバックアップの詳細については、「VMware仮想マシンのバックアップとリストア」を参照してください  

Windowsイベントログで以下のエラーが発生した場合は、Druvaサポートにお問い合わせください。

Event ID: 57 NTFS Warning
The system failed to flush data to the transaction log. Corruption may occur.

Event ID: 137 NTFS Error
The default transaction resource manager on volume \\?\Volume{806289e8-6088-11e0-a168-005056ae003d} encountered a non-retryable error and could not start. The data contains the error code.

Event ID: 140 NTFS Warning
The system failed to flush data to the transaction log. Corruption may occur in VolumeId:<> DeviceName: \Device\HarddiskVolume<>.(A device which does not exist was specified.). 

VSSサービスがソースVMでSQL VSSスナップショットの永続性を維持できなかったため、一部のデータベースは復旧できない可能性があります。 Druvaは、VMwareサポートと緊密に連携して、上記の問題に対処しています。

 
  • この記事は役に立ちましたか?