Azure アプリケーション整合性スナップショット ツールのプレビュー機能

この記事では、Azure アプリケーション整合性スナップショット ツール (AzAcSnap) のプレビューの新機能の設定と使用に関するガイドを提供します。 ツールの基本情報については、「Azure アプリケーション整合性スナップショット ツールとは」を参照してください。

AzAcSnap 9 には、次のプレビュー機能が用意されています。

  • Azure NetApp Files バックアップ
  • Azure マネージド ディスク

Note

プレビューは、"現状有姿のまま"、"すべての障害あり"、"利用可能な限度" で提供されます。これらは、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

フィードバックの提供

このプレビューを含む AzAcSnap に関するフィードバックを、オンラインで提供できます。

AzAcSnap プレビュー機能の使用

AzAcSnap プレビュー機能は、一般公開されている機能と共に提供されます。 プレビュー機能を使用するには、--preview コマンド ライン オプションを使用する必要があります。 AzAcSnap を設定してインストールするには、「Azure アプリケーション整合性スナップショット ツールの概要」を参照してください。

Azure NetApp Files バックアップ

複数のボリュームで AzAcSnap を使用してスナップショットを作成する場合、既定では、すべてのスナップショットの名前は同じです。 スナップショットが Azure NetApp Files バックアップにアーカイブされるときに、リソース ID 階層からボリューム名が削除されるため、スナップショット名が一意であることを確認する必要があります。

AzAcSnap では、ボリューム名を通常のスナップショット名に追加することで、スナップショットの作成時に一意の名前を自動的に使用できます。 たとえば、--prefix daily-c backup を使用している場合、2 つのデータ ボリューム (hanadata01hanadata02) を持つシステムの場合、完全なスナップショット名は daily__F2AFDF98703__hanadata01daily__F2AFDF98703__hanadata02 になります。

AzAcSnap でこの機能を有効にするには、次のスニペットに示すように、構成ファイルで "anfBackup": "renameOnly" を設定します。

"anfStorage": [
  {
    "anfBackup" : "renameOnly",
    "dataVolume": [

azacsnap -c configure --configuration edit --configfile <configfilename> を使用してこの機能を有効にすることもできます。 Enter new value for 'ANF Backup (none, renameOnly)' (current = 'none'): に「renameOnly」と入力します。

この機能の詳細については、「Azure アプリケーション整合性スナップショット ツールを構成する」を参照してください。

Azure マネージド ディスク

Microsoft は、SAP HANA などのデータベースをデプロイするためのストレージ オプションをいくつか提供しています。 これらのオプションの詳細については、「SAP ワークロードの Azure Storage の種類」を参照してください。 また、Azure Premium Storage を使用したコスト重視のソリューションもあります。

AzAcSnap は、この種類のアーキテクチャ (つまり、マネージド ディスクを含む仮想マシン [VM]) にデプロイするときに、アプリケーション整合性データベース スナップショットを取得できます。 ただし、このプラットフォームの設定は少し複雑になります。このシナリオでは、マウントされた論理ボリュームでマネージド ディスクのスナップショットを作成する前に、(xfs_freeze を使用して) マウント ポイントへの I/O をブロックする必要があります。

重要

ディスク I/O をブロックするには、Linux システムで xfs_freeze が使用可能である必要があります。

xfs_freeze は、Azure マネージド ディスクのマウント ポイントで指定されたデバイスへの I/O をブロックするため、AzAcSnap に正しいマウント ポイント (ファイル システム) を構成するように注意してください。 この動作により、azacsnap の実行が終了するまで、実行中のアプリケーションを不用意にブロックしてしまう可能性があります。

アーキテクチャの概要を次に示します。

  1. Azure portal を使用して、Azure マネージド ディスクを VM にアタッチします。

  2. これらのマネージド ディスクから論理ボリュームを作成します。

  3. 論理ボリュームを Linux ディレクトリにマウントします。

  4. AzAcSnap インストールで Azure NetApp Files の場合と同じ方法でサービス プリンシパルを作成します。

  5. AzAcSnap をインストールして構成します。

    コンフィギュレーターには、論理ボリュームのマウントポイントを定義するための新しいオプションがあります。 データベースをバックアップ モードにし、I/O キャッシュがフラッシュされた後 (Linux カーネル パラメーター fs.xfs.xfssyncd_centisecs に依存)、このパラメーターが xfs_freeze に渡されて I/O がブロックされます。

  6. xfs_freeze をインストールして、特権のないユーザーとして実行するように構成します。

    1. 次のコンテンツを含む $HOME/bin/xfs_freeze という名前の実行可能ファイルを作成します。

      #!/bin/sh
      /usr/bin/sudo /usr/sbin/xfs_freeze $1 $2
      
    2. /etc/sudoers.d/azacsnap という名前の sudoers ファイルを作成して、azacsnap ユーザーが以下の内容で xfs_freeze を実行できるようにします。

      #
      # What: azacsnap
      # Why: Allow the azacsnap user to run "specific" commands with elevated privileges.
      #
      # User_Alias = SAP HANA Backup administrator user.
      User_Alias      AZACSNAP = azacsnap
      #
      AZACSNAP ALL=(ALL) NOPASSWD: /usr/sbin/xfs_freeze
      
    3. azacsnap ユーザーが、azacsnap ユーザーとして次のコードを実行して、ターゲット マウント ポイントへの I/O を固定および固定解除できることをテストします。

      この例では、各コマンドを 2 回実行して、最初に動作したことを示します。これは、xfs_freeze が I/O を固定しているかどうかを確認するコマンドがないためです。

      I/O を凍結します。

      su - azacsnap
      xfs_freeze -f /hana/data
      xfs_freeze -f /hana/data
      
      xfs_freeze: cannot freeze filesystem at /hana/data: Device or resource busy
      

      I/O を凍結解除します。

      su - azacsnap
      xfs_freeze -u /hana/data
      xfs_freeze -u /hana/data
      
      xfs_freeze: cannot unfreeze filesystem mounted at /hana/data: Invalid argument
      

ストレージ バックエンドとして Azure マネージド ディスクを使用する方法の詳細については、「Azure アプリケーション整合性スナップショット ツールを構成する」を参照してください。

構成 ファイルの例

構成ファイルの例を次に示します。 dataVolumemountPointazureManagedDisks の階層に注意してください。

{
  "version": "5.1 Preview",
  "logPath": "./logs",
  "securityPath": "./security",
  "comments": [],
  "database": [
    {
      "hana": {
        "serverAddress": "127.0.0.1",
        "sid": "P40",
        "instanceNumber": "00",
        "hdbUserStoreName": "AZACSNAP",
        "savePointAbortWaitSeconds": 600,
        "autoDisableEnableBackint": false,
        "hliStorage": [],
        "anfStorage": [],
        "amdStorage": [
          {
            "dataVolume": [
              {
                "mountPoint": "/hana/data",
                "azureManagedDisks": [
                  {
                    "resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk01>",
                    "authFile": "azureauth.json"
                  },
                  {
                    "resourceId": "/subscriptions/<sub-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/<disk02>",
                    "authFile": "azureauth.json"
                  }
                ]
              }
            ],
            "otherVolume": []
          }
        ]
      },
      "oracle": null
    }
  ]
}

仮想マシンのストレージのレイアウト

SAP HANA の場合、ストレージ階層は次の例のようになります。

  • SAP HANA データベースのデータ ファイル:

    /hana/data/mnt00001
    
  • マウント ポイント:

    /dev/mapper/hanadata-hanadata on /hana/data type xfs 
    
  • 論理ボリューム:

    lvdisplay
    
    --- Logical volume ---
    LV Path                /dev/hanadata/hanadata
    LV Name                hanadata
    VG Name                hanadata
    
  • ボリューム グループ:

    vgdisplay
    
    --- Volume group ---
    VG Name               hanadata
    System ID
    Format                lvm2
    Metadata Areas        2
    Metadata Sequence No  2
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               1
    Max PV                0
    Cur PV                2
    Act PV                2
    VG Size               1023.99 GiB
    
  • 物理ボリューム (Azure マネージド ディスクに接続):

    pvdisplay
    
    --- Physical volume ---
    PV Name               /dev/sdd
    VG Name               hanadata
    PV Size               512.00 GiB / not usable 4.00 MiB
    Allocatable           yes (but full)
    PE Size               4.00 MiB
    Total PE              131071
    Free PE               0
    Allocated PE          131071
    PV UUID               K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX
    --- Physical volume ---
    PV Name               /dev/sdc
    VG Name               hanadata
    PV Size               512.00 GiB / not usable 4.00 MiB
    Allocatable           yes (but full)
    PE Size               4.00 MiB
    Total PE              131071
    Free PE               0
    Allocated PE          131071
    PV UUID               RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV
    

この方法で Azure VM と Azure マネージド ディスクをインストールして設定するには、Microsoft のガイダンスに従って、VM 上のマネージド ディスクの論理ボリューム マネージャー (LVM) ストライプを作成します。

Azure VM が指定どおりに設定されていると、AzAcSnap は Azure マネージド ディスクのスナップショットを取得できます。 スナップショット操作は、AzAcSnap がサポートする他のストレージ バックエンドの操作と似ています。たとえば、Azure NetApp Files や Azure Large Instances (ベアメタル) などです。 AzAcSnap は Azure Resource Manager と通信してスナップショットを作成するため、マネージド ディスクのスナップショットを作成するための適切なアクセス許可を持つサービ スプリンシパルも必要です。

この機能により、お客様はより小さなシステムで AzAcSnap をテストし、Azure NetApp Files と Azure Large Instance (ベアメタル) の一方または両方にスケールアップすることができます。

Azure マネージド ディスクでサポートされている azacsnap コマンド機能は、configuretestbackupdeletedetails ですが、まだ restore ではありません。

Azure マネージド ディスク スナップショットからの復元

azacsnap には現在、Azure マネージド ディスクの -c restore オプションが欠落しているため、以下のように手動で復元することができます。

  1. Azure portal 経由でスナップショットからディスクを作成します。

    必ず、ターゲット VM と同じ可用性ゾーンでディスクを作成してください。

  2. Azure portal を使用してディスクを VM に接続します。

  3. ルート ユーザーとして VM にログインし、dmesg または pvscan を使用して、新しく接続されたディスクをスキャンします。

    • dmesgの使用

      dmesg | tail -n30
      
      [2510054.252801] scsi 5:0:0:2: Direct-Access     Msft     Virtual Disk     1.0  PQ:0 ANSI: 5
      [2510054.262358] scsi 5:0:0:2: Attached scsi generic sg4 type 0
      [2510054.268514] sd 5:0:0:2: [sde] 1073741824 512-byte logical blocks: (550 GB/512 GiB)
      [2510054.272583] sd 5:0:0:2: [sde] 4096-byte physical blocks
      [2510054.275465] sd 5:0:0:2: [sde] Write Protect is off
      [2510054.277915] sd 5:0:0:2: [sde] Mode Sense: 0f 00 10 00
      [2510054.278566] sd 5:0:0:2: [sde] Write cache: disabled, read cache: enabled, supports DPO and FUA
      [2510054.314269] sd 5:0:0:2: [sde] Attached SCSI disk
      [2510054.573135] scsi 5:0:0:3: Direct-Access     Msft     Virtual Disk     1.0  PQ: 0 ANSI: 5
      [2510054.579931] scsi 5:0:0:3: Attached scsi generic sg5 type 0
      [2510054.584505] sd 5:0:0:3: [sdf] 1073741824 512-byte logical blocks: (550 GB/512 GiB)
      [2510054.589293] sd 5:0:0:3: [sdf] 4096-byte physical blocks
      [2510054.592237] sd 5:0:0:3: [sdf] Write Protect is off
      [2510054.594735] sd 5:0:0:3: [sdf] Mode Sense: 0f 00 10 00
      [2510054.594839] sd 5:0:0:3: [sdf] Write cache: disabled, read cache: enabled, supports DPO and FUA
      [2510054.627310] sd 5:0:0:3: [sdf] Attached SCSI disk
      
    • pvscanの使用

      saphana:~ # pvscan
      
      WARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde
      WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf
      WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV.
      WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX.
      WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV.
      WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV.
      PV /dev/sdd   VG hanadata        lvm2 [512.00 GiB / 0    free]
      PV /dev/sdc   VG hanadata        lvm2 [512.00 GiB / 0    free]
      Total: 2 [1023.99 GiB] / in use: 2 [1023.99 GiB] / in no VG: 0 [0   ]
      
  4. vgimportclone をルート ユーザーとして使用して、ディスクからボリューム グループ クローンをインポートします。

    vgimportclone --basevgname hanadata_adhoc /dev/sde /dev/sdf
    
    WARNING: scan found duplicate PVID RNCylWF3OGG93c1XL3W6pwM0XB2mYFGV on /dev/sde
    WARNING: scan found duplicate PVID K3yhxN2713lk4kc3PcxOJQsCkD8ZE6YX on /dev/sdf
    WARNING: Not using device /dev/sde for PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV.
    WARNING: Not using device /dev/sdf for PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX.
    WARNING: PV RNCylW-F3OG-G93c-1XL3-W6pw-M0XB-2mYFGV prefers device /dev/sdc because device is used by LV.
    WARNING: PV K3yhxN-2713-lk4k-c3Pc-xOJQ-sCkD-8ZE6YX prefers device /dev/sdd because device is used by LV.
    
  5. ルート ユーザーとして pvscanvgchange を使用して、論理ボリュームをアクティブにします。

    pvscan --cache
    
    pvscan[23761] PV /dev/sdc online.
    pvscan[23761] PV /dev/sdd online.
    pvscan[23761] PV /dev/sde online.
    pvscan[23761] PV /dev/sdf online.
    
    vgchange -ay hanadata_adhoc
    
    1 logical volume(s) in volume group "hanadata_adhoc" now active
    
  6. ルート ユーザーとして論理ボリュームをマウントします。

    mount -o rw,nouuid オプションを使用します。 そうしないと、VM 上の UUID (汎用一意識別子) が重複しているため、ボリュームのマウントは失敗します。

    mount -o rw,nouuid /dev/hanadata_adhoc/hanadata /mnt/hanadata_adhoc
    
  7. データにアクセスします。

    ls /mnt/hanadata_adhoc/
    
    software  write-test.txt
    

次のステップ