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 つのデータ ボリューム (hanadata01
、hanadata02
) を持つシステムの場合、完全なスナップショット名は daily__F2AFDF98703__hanadata01
と daily__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
の実行が終了するまで、実行中のアプリケーションを不用意にブロックしてしまう可能性があります。
アーキテクチャの概要を次に示します。
Azure portal を使用して、Azure マネージド ディスクを VM にアタッチします。
これらのマネージド ディスクから論理ボリュームを作成します。
論理ボリュームを Linux ディレクトリにマウントします。
AzAcSnap インストールで Azure NetApp Files の場合と同じ方法でサービス プリンシパルを作成します。
AzAcSnap をインストールして構成します。
コンフィギュレーターには、論理ボリュームのマウントポイントを定義するための新しいオプションがあります。 データベースをバックアップ モードにし、I/O キャッシュがフラッシュされた後 (Linux カーネル パラメーター
fs.xfs.xfssyncd_centisecs
に依存)、このパラメーターがxfs_freeze
に渡されて I/O がブロックされます。xfs_freeze
をインストールして、特権のないユーザーとして実行するように構成します。次のコンテンツを含む
$HOME/bin/xfs_freeze
という名前の実行可能ファイルを作成します。#!/bin/sh /usr/bin/sudo /usr/sbin/xfs_freeze $1 $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
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 アプリケーション整合性スナップショット ツールを構成する」を参照してください。
構成 ファイルの例
構成ファイルの例を次に示します。 dataVolume
、mountPoint
、azureManagedDisks
の階層に注意してください。
{
"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
コマンド機能は、configure
、test
、backup
、delete
、details
ですが、まだ restore
ではありません。
Azure マネージド ディスク スナップショットからの復元
azacsnap
には現在、Azure マネージド ディスクの -c restore
オプションが欠落しているため、以下のように手動で復元することができます。
Azure portal 経由でスナップショットからディスクを作成します。
必ず、ターゲット VM と同じ可用性ゾーンでディスクを作成してください。
Azure portal を使用してディスクを VM に接続します。
ルート ユーザーとして 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 ]
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.
ルート ユーザーとして
pvscan
とvgchange
を使用して、論理ボリュームをアクティブにします。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
ルート ユーザーとして論理ボリュームをマウントします。
mount -o rw,nouuid
オプションを使用します。 そうしないと、VM 上の UUID (汎用一意識別子) が重複しているため、ボリュームのマウントは失敗します。mount -o rw,nouuid /dev/hanadata_adhoc/hanadata /mnt/hanadata_adhoc
データにアクセスします。
ls /mnt/hanadata_adhoc/
software write-test.txt