Azure アプリケーション整合性スナップショット ツールを使用するためのヒントとテクニック
この記事では、AzAcSnap を使用する際に役立つヒントとテクニックについて説明します。
azacsnap の動作を制御するためのグローバル オーバーライド設定
AzAcSnap 8 では、新しいグローバル設定ファイル (.azacsnaprc
) が導入されました。このファイルは、azacsnap が実行されるのと同じ (現在機能中の) ディレクトリに配置する必要があります。 ファイル名は .azacsnaprc
で、ファイル名の先頭にピリオド '.' を使用することで、標準のディレクトリ一覧に非表示になります。 このファイルを使用すると、AzAcSnap の動作を制御するグローバル設定を設定できます。 この形式は 1 行に 1 つのエントリで、サポートされているカスタム変数と新しいオーバーライド値を含みます。
グローバル オーバーライド設定ファイルを追加/編集するか、それらを環境変数として設定することで制御できる設定は次のとおりです。
- MAINLOG_LOCATION。AzAcSnap 8 で導入された
azacsnap.log
という "main-log" 出力ファイルの場所をカスタマイズします。 値は絶対パスにする必要があり、既定値は '.' (現在の作業ディレクトリ) です。 たとえば、"main-log" 出力ファイルが/home/azacsnap/bin/logs
に出力されるようにするには、.azacsnaprc
ファイルに次を追加します。MAINLOG_LOCATION=/home/azacsnap/bin/logs
- AZURE_MANAGEMENT_ENDPOINT。AzAcSnap が Azure REST API 呼び出しを行う対象の Azure 管理エンドポイントの場所をカスタマイズします。AzAcSnap 9a で導入されました。 値は URL パスにする必要があり、既定値は "https://management.azure.com" です。 たとえば、すべての管理呼び出しが米国政府機関向けクラウド (参照: 開発者向け Azure Government ガイダンス) の Azure 管理エンドポイントに送信されるように AzAcSnap を構成するには、
.azacsnaprc
ファイルに次を追加します。AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
Note
AzAcSnap 9a からは、これらの値はすべてコマンド ライン環境変数として、つまり .azacsnaprc
ファイルの代わりとして設定することもできます。 たとえば、Linux では、AzAcSnap を実行する前に export AZURE_MANAGEMENT_ENDPOINT=https://management.usgovcloudapi.net
を使用して AZURE_MANAGEMENT_ENDPOINT
を設定できます。
メインログの解析
AzAcSnap 8 では、AzAcSnap の実行を簡単に解析できるように、新しい "main-log" が導入されました。 このファイルのアイデアは、AzAcSnap がいつ開始されたか、どのくらいの時間がかかったか、スナップショット名は何かを示す SAP HANA バックアップ カタログから得られました。 AzAcSnap ではこのアイデアをさらに発展させ、各 AzAcSnap コマンドの情報 (具体的には -c
オプション) を含め、ファイルには次のヘッダーが付いています:
DATE_TIME,OPERATION_NAME,STATUS,SID,DATABASE_TYPE,DURATION,SNAPSHOT_NAME,AZACSNAP_VERSION,AZACSNAP_CONFIG_FILE,VOLUME
AzAcSnap を実行すると、使用される -c
コマンドに応じて適切な情報がログに追加されます。出力の例:
2023-03-29T16:10:57.8643546+13:00,about,started,,,,,8,azacsnap.json,
2023-03-29T16:10:57.8782148+13:00,about,SUCCESS,,,0:00:00.0258013,,8,azacsnap.json,
2023-03-29T16:11:55.7276719+13:00,backup,started,PR1,Hana,,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:03.3774633+13:00,backup,SUCCESS,PR1,Hana,0:01:07.7558663,pr1_hourly__F47B181A117,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;
2023-03-29T16:13:30.1312963+13:00,details,started,PR1,Hana,,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;
2023-03-29T16:13:33.1806098+13:00,details,SUCCESS,PR1,Hana,0:00:03.1380686,,8,PR1.json,(data)HANADATA_P;(data)HANASHARED_P;(data)VGvol01;(other)HANALOGBACKUP_P;
この形式により、ファイルを Linux コマンド watch
、grep
、head
、tail
、column
で解析し、AzAcSnap バックアップの更新を継続的に取得できるようになります。 AzAcSnap を監視する単一のシェル スクリプトでのこれらのコマンドを組み合わせた例を次に示します:
#!/bin/bash
#
# mainlog-watcher.sh
# Monitor execution of AzAcSnap backup commands
#
# These values can be modified as appropriate.
# Mainlog header fields:
# 1. DATE_TIME,
# 2. OPERATION_NAME,
# 3. STATUS,
# 4. SID,
# 5. DATABASE_TYPE,
# 6. DURATION,
# 7. SNAPSHOT_NAME,
# 8. AZACSNAP_VERSION,
# 9. AZACSNAP_CONFIG_FILE,
# 10. VOLUME
FIELDS_TO_INCLUDE="1,2,3,5,4,6,7"
SCREEN_REFRESH_SECS=2
#
# Use AzAcSnap global settings file (.azacsnaprc) if available,
# otherwise use the default location of the current working directory.
AZACSNAP_RC=".azacsnaprc"
if [ -f ${AZACSNAP_RC} ]; then
source ${AZACSNAP_RC} 2> /dev/null
else
MAINLOG_LOCATION="."
fi
cd ${MAINLOG_LOCATION}
echo "Changing current working directory to ${MAINLOG_LOCATION}"
#
# Default MAINLOG filename.
HOSTNAME=$(hostname)
MAINLOG_FILENAME="azacsnap.log"
#
# High-level explanation of how commands used.
# `watch` - continuously monitoring the command output.
# `grep` - filter only backup runs.
# `head` and `tail` - add/remove column headers.
# `sed` to remove millisecs from date.
# `awk` format output for `column`.
# `column` - provide pretty output.
FIELDS_FOR_AWK=$(echo "${FIELDS_TO_INCLUDE}" | sed 's/^/\\\$/g' | sed 's/,/,\\\$/g')
PRINTOUT="{OFS=\\\",\\\";print ${FIELDS_FOR_AWK}}"
#
echo -n "Parsing '${MAINLOG_FILENAME}' for field #s ${FIELDS_TO_INCLUDE} = "
bash -c "cat ${MAINLOG_FILENAME} | grep -e \"DATE\" | head -n1 - | awk -F\",\" \"${PRINTOUT}\" "
#
watch -t -n ${SCREEN_REFRESH_SECS} \
"\
echo -n \"Monitoring AzAcSnap on '${HOSTNAME}' @ \" ; \
date ; \
echo ; \
cat ${MAINLOG_FILENAME} \
| grep -e \"DATE\" -e \",backup,\" \
| ( sleep 1; head -n1 - ; sleep 1; tail -n+2 - | tail -n20 \
| sed 's/\(:[0-9][0-9]\)\.[0-9]\{7\}/\1/' ; sleep 1 ) \
| awk -F\",\" \"${PRINTOUT}\" \
| column -s\",\" -t \
"
exit 0
次の出力を生成し、2 秒ごとに更新します。
Monitoring AzAcSnap on 'azacsnap' @ Thu Sep 21 11:27:40 NZST 2023
DATE_TIME OPERATION_NAME STATUS DATABASE_TYPE SID DURATION SNAPSHOT_NAME
2023-09-21T07:00:02+12:00 backup started Oracle ORATEST1 all-volumes__F6B07A2D77A
2023-09-21T07:02:10+12:00 backup SUCCESS Oracle ORATEST1 0:02:08.0338537 all-volumes__F6B07A2D77A
2023-09-21T08:00:03+12:00 backup started Oracle ORATEST1 all-volumes__F6B09C83210
2023-09-21T08:02:12+12:00 backup SUCCESS Oracle ORATEST1 0:02:09.9954439 all-volumes__F6B09C83210
2023-09-21T09:00:03+12:00 backup started Oracle ORATEST1 all-volumes__F6B0BED814B
2023-09-21T09:00:03+12:00 backup started Hana PR1 pr1_hourly__F6B0BED817F
2023-09-21T09:01:10+12:00 backup SUCCESS Hana PR1 0:01:07.8575664 pr1_hourly__F6B0BED817F
2023-09-21T09:02:12+12:00 backup SUCCESS Oracle ORATEST1 0:02:09.4572157 all-volumes__F6B0BED814B
サービス プリンシパルのアクセス許可を制限する
AzAcSnap サービス プリンシパルのスコープを制限する必要がある場合があります。 Azure リソースのきめ細かなアクセス管理の詳細については、Azure RBAC のドキュメントを参照してください。
次に、AzAcSnap を機能させるために必要な最小限のアクションでのロール定義の例を示します。
az role definition create --role-definition '{ \
"Name": "Azure Application Consistent Snapshot tool", \
"IsCustom": "true", \
"Description": "Perform snapshots on ANF volumes.", \
"Actions": [ \
"Microsoft.NetApp/*/read", \
"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete" \
], \
"NotActions": [], \
"DataActions": [], \
"NotDataActions": [], \
"AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'
復元オプションが正常に機能するためには、AzAcSnap サービス プリンシパルでもボリュームを作成できる必要があります。 この場合、ロールの定義に追加の "Actions" 句が必要になります。そのため、完全なサービス プリンシパルは次の例のようになります。
az role definition create --role-definition '{ \
"Name": "Azure Application Consistent Snapshot tool", \
"IsCustom": "true", \
"Description": "Perform snapshots and restores on ANF volumes.", \
"Actions": [ \
"Microsoft.NetApp/*/read", \
"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", \
"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete", \
"Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write" \
], \
"NotActions": [], \
"DataActions": [], \
"NotDataActions": [], \
"AssignableScopes": ["/subscriptions/<insert your subscription id>"] \
}'
スナップショットを手動で取得する
バックアップ コマンド (azacsnap -c backup
) を実行する前に、テスト コマンドを実行して構成を確認し、正常に実行されることを確認します。 これらのテストが正しく実行されると、azacsnap
が、インストールされている SAP HANA データベース、および Azure Large Instance または Azure NetApp Files システム上の SAP HANA の基になるストレージ システムと通信できることを確認できます。
azacsnap -c test --test hana
azacsnap -c test --test storage
その後、データベース スナップショットの手動バックアップを作成するために、次のコマンドを実行します。
azacsnap -c backup --volume data --prefix hana_TEST --retention=1
スナップショットの自動バックアップを設定する
Unix または Linux システムでは、cron
を使用してシステムでのコマンドの実行を自動化するのが一般的です。 スナップショット ツールの標準的な方法では、ユーザーの crontab
を設定します。
ユーザー azacsnap
がスナップショットを自動化する crontab
の例を次に示します。
MAILTO=""
# =============== TEST snapshot schedule ===============
# Data Volume Snapshots - taken every hour.
@hourly (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume data --prefix hana_TEST --retention=9)
# Other Volume Snapshots - taken every 5 minutes, excluding the top of the hour when hana snapshots taken
5,10,15,20,25,30,35,40,45,50,55 * * * * (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix logs_TEST --retention=9)
# Other Volume Snapshots - using an alternate config file to snapshot the boot volume daily.
@daily (. /home/azacsnap/.profile ; cd /home/azacsnap/bin ; azacsnap -c backup --volume other --prefix DailyBootVol --retention=7 --configfile boot-vol.json)
上記の crontab の説明。
MAILTO=""
: 空の値を指定すると、crontab エントリの実行時に cron がローカル Linux ユーザーにメールを自動的に送信できなくなります。- crontab エントリのタイミングの短縮形は一目瞭然です。
@monthly
= 月に 1 回実行する。つまり、"0 0 1 * *"。@weekly
= 週に 1 回実行する。つまり、"0 0 * * 0"。@daily
= 1 日に 1 回実行する。つまり、"0 0 * * *"。@hourly
= 1 時間に 1 回実行する。つまり、"0 * * * *"。
- 最初の 5 つの列は、時間を指定するために使用されます。次の列の例を参照してください:
0,15,30,45
: 15 分ごと0-23
: 1 時間ごと*
: 毎日*
: 毎月*
: すべての曜日
- かっこ "()"で囲まれた、実行するコマンド ライン
. /home/azacsnap/.profile
= ユーザーの .profile をプルして、$PATH などの環境を設定します。cd /home/azacsnap/bin
= 構成ファイルがある場所 "/home/azacsnap/bin" に実行ディレクトリを変更します。azacsnap -c .....
= すべてのオプションを含む、実行する azacsnap コマンド全体。
cron と crontab ファイルの形式の詳細については、cron を参照してください。
Note
ユーザーには、cron ジョブを監視して、スナップショットが正常に生成されていることを確認する責任があります。
AzAcSnap ログ ファイルを管理する
AzAcSnap では、デバッグを支援し、操作が正しいことを検証するために、操作の出力がログ ファイルに書き込まれます。 このようなログ ファイルは、積極的に管理しない限り、増え続けます。 幸いなことに、UNIX ベースのシステムには、logrotate と呼ばれるログ ファイルを管理およびアーカイブするためのツールが備わっています。
次の出力は、logrotate の構成例を示しています。 この構成では、最大 31 個のログ (約 1 か月分) が保持され、ログ ファイルが 10k を超えると、ファイル名に番号を追加して名前を変更し、圧縮してローテーションします。
# azacsnap logrotate configuration file
compress
~/bin/azacsnap*.log {
rotate 31
size 10k
}
logrotate.conf
ファイルが作成されたら、logrotate
コマンドを定期的に実行し、それに従い AzAcSnap ログ ファイルをアーカイブする必要があります。 logrotate
コマンドは cron を使用して自動化できます。 次の出力は、azacsnap ユーザーの crontab の 1 行です。この例では、構成ファイル ~/logrotate.conf
を使用して logrotate を毎日実行します。
@daily /usr/sbin/logrotate -s ~/logrotate.state ~/logrotate.conf >> ~/logrotate.log
Note
上記の例では、logrotate.conf ファイルはユーザーのホーム (~) ディレクトリにあります。
数日後、azacsnap ログ ファイルは次のディレクトリ一覧のようになります。
ls -ltra ~/bin/logs
-rw-r--r-- 1 azacsnap users 127431 Mar 14 23:56 azacsnap-backup-azacsnap.log.6.gz
-rw-r--r-- 1 azacsnap users 128379 Mar 15 23:56 azacsnap-backup-azacsnap.log.5.gz
-rw-r--r-- 1 azacsnap users 129272 Mar 16 23:56 azacsnap-backup-azacsnap.log.4.gz
-rw-r--r-- 1 azacsnap users 128010 Mar 17 23:56 azacsnap-backup-azacsnap.log.3.gz
-rw-r--r-- 1 azacsnap users 128947 Mar 18 23:56 azacsnap-backup-azacsnap.log.2.gz
-rw-r--r-- 1 azacsnap users 128971 Mar 19 23:56 azacsnap-backup-azacsnap.log.1.gz
-rw-r--r-- 1 azacsnap users 167921 Mar 20 01:21 azacsnap-backup-azacsnap.log
スナップショットを監視する
システムの正常性を確保するために、次の状態を監視する必要があります。
- 使用可能なディスク領域。 スナップショットでは、古いディスク ブロックがスナップショットに保持されるため、ブロック レベルの変更率に基づいてディスク領域がゆっくりと消費されます。
- ディスク領域の管理を自動化するには、
--retention
および--trim
の各オプションを使用して、古いスナップショットとデータベース ログ ファイルを自動的にクリーンアップします。
- ディスク領域の管理を自動化するには、
- スナップショット ツールの正常な実行
*.result
ファイルで、azacsnap
の最新の実行が成功したか失敗したかを確認します。/var/log/messages
で、azacsnap
コマンドの出力を確認します。
- スナップショットの一貫性 (スナップショットを定期的に別のシステムに復元することによって実現)。
Note
スナップショットの詳細を一覧表示するには、azacsnap -c details
コマンドを実行します。
スナップショットを削除する
スナップショットを削除する場合、azacsnap -c delete
のコマンドを使用します。 OS レベルからスナップショットを削除することはできません。 ストレージ スナップショットを削除するには、正しいコマンド (azacsnap -c delete
) を使用する必要があります。
重要
スナップショットを削除するときは注意が必要です。 一旦削除されると、削除されたスナップショットは復旧できません。
スナップショットの復元
ストレージ ボリュームのスナップショットは、新しいボリュームに復元できます (-c restore --restore snaptovol
)。 Azure Large Instance の場合は、ボリュームをスナップショットに戻すことができます (-c restore --restore revertvolume
)。
Note
データベースの復旧コマンドは、提供されていません。
スナップショットは SAP HANA データ領域にコピーして戻すことができますが、コピーを作成するときに SAP HANA が実行中であってはなりません (cp /hana/data/H80/mnt00001/.snapshot/hana_hourly.2020-06-17T113043.1586971Z/*
)。
Azure Large Instance の場合、サービス要求を開いて Microsoft の運用チームに連絡し、既存の使用可能なスナップショットから目的のスナップショットを復元できます。 サービス要求は、Azure portal から開くことができます。
ディザスター リカバリー フェールオーバーを実行する場合は、DR サイトで azacsnap -c restore --restore revertvolume
コマンドを実行すると、自動的に最新の (/hana/data
と /hana/logbackups
) ボリューム スナップショットが使用可能になり、SAP HANA の復旧が可能になります。 運用と DR のサイト間のレプリケーションが中断されるため、このコマンドは注意して使用してください。
"ブート" ボリュームのみのスナップショットを設定する
重要
この操作は、Azure Large Instance にのみ適用されます。
場合によっては、SAP HANA を保護するためのツールが既にあり、"ブート" ボリューム スナップショットの構成のみが必要であることがあります。 この場合は、次の手順のみを完了します。
インストールの前提条件の手順 1から 4 を完了します。
ストレージとの通信を有効にします。
スナップショット ツールをインストールする、インストーラーをダウンロードして実行します。
スナップショット ツールの設定を完了します。
azacsnap 構成ファイルに追加するボリュームの一覧を取得します。この例では、Storage User Name は
cl25h50backup
で、Storage IP Address は10.1.1.10
ですssh cl25h50backup@10.1.1.10 "volume show -volume *boot*"
Last login time: 7/20/2021 23:54:03 Vserver Volume Aggregate State Type Size Available Used% --------- ------------ ------------ ---------- ---- ---------- ---------- ----- ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v51_vol aggr_n01_ssd online RW 150GB 57.24GB 61% ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v52_vol aggr_n01_ssd online RW 150GB 81.06GB 45% ams07-a700s-saphan-1-01v250-client25-nprod t250_sles_boot_sollabams07v53_vol aggr_n01_ssd online RW 150GB 79.56GB 46% 3 entries were displayed.
Note
この例では、このホストは 3 ノードのスケールアウト システムの一部であり、このホストから 3 つのすべてのブート ボリュームを確認できます。 つまり、3 つのすべてのブート ボリュームのスナップショットをこのホストから作成でき、3 つすべてを次の手順で構成ファイルに追加する必要があります。
次のようにして、新しい構成ファイルを作成します。 ブート ボリュームの詳細は、OtherVolume スタンザに含まれている必要があります。
azacsnap -c configure --configuration new --configfile BootVolume.json
Building new config file Add comment to config file (blank entry to exit adding comments): Boot only config file. Add comment to config file (blank entry to exit adding comments): Add database to config? (y/n) [n]: y HANA SID (for example, H80): X HANA Instance Number (for example, 00): X HANA HDB User Store Key (for example, `hdbuserstore List`): X HANA Server's Address (hostname or IP address): X Add ANF Storage to database section? (y/n) [n]: Add HLI Storage to database section? (y/n) [n]: y Add DATA Volume to HLI Storage section of Database section? (y/n) [n]: Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y Storage User Name (for example, clbackup25): cl25h50backup Storage IP Address (for example, 192.168.1.30): 10.1.1.10 Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v51_vol Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y Storage User Name (for example, clbackup25): cl25h50backup Storage IP Address (for example, 192.168.1.30): 10.1.1.10 Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v52_vol Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: y Storage User Name (for example, clbackup25): cl25h50backup Storage IP Address (for example, 192.168.1.30): 10.1.1.10 Storage Volume Name (for example, hana_data_soldub41_t250_vol): t250_sles_boot_sollabams07v53_vol Add OTHER Volume to HLI Storage section of Database section? (y/n) [n]: Add HLI Storage to database section? (y/n) [n]: Add database to config? (y/n) [n]: Editing configuration complete, writing output to 'BootVolume.json'.
構成ファイルを確認します。次の例を参照してください。
cat
コマンドを使用して、構成ファイルの内容を表示します。cat BootVolume.json
{ "version": "5.0", "logPath": "./logs", "securityPath": "./security", "comments": [ "Boot only config file." ], "database": [ { "hana": { "serverAddress": "X", "sid": "X", "instanceNumber": "X", "hdbUserStoreName": "X", "savePointAbortWaitSeconds": 600, "hliStorage": [ { "dataVolume": [], "otherVolume": [ { "backupName": "cl25h50backup", "ipAddress": "10.1.1.10", "volume": "t250_sles_boot_sollabams07v51_vol" }, { "backupName": "cl25h50backup", "ipAddress": "10.1.1.10", "volume": "t250_sles_boot_sollabams07v52_vol" }, { "backupName": "cl25h50backup", "ipAddress": "10.1.1.10", "volume": "t250_sles_boot_sollabams07v53_vol" } ] } ], "anfStorage": [] } } ] }
ブート ボリューム バックアップをテストします。
azacsnap -c backup --volume other --prefix TestBootVolume --retention 1 --configfile BootVolume.json
それがリストされていることを確認します。
--snapshotfilter
オプションを追加することで、返されるスナップショット リストが制限されることに注意してください。azacsnap -c details --snapshotfilter TestBootVolume --configfile BootVolume.json
コマンドの出力:
List snapshot details called with snapshotFilter 'TestBootVolume' #, Volume, Snapshot, Create Time, HANA Backup ID, Snapshot Size #1, t250_sles_boot_sollabams07v51_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB , t250_sles_boot_sollabams07v51_vol, , , Size used by Snapshots, 1.31GB #1, t250_sles_boot_sollabams07v52_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB , t250_sles_boot_sollabams07v52_vol, , , Size used by Snapshots, 1.31GB #1, t250_sles_boot_sollabams07v53_vol, TestBootVolume.2020-07-03T034651.7059085Z, "Fri Jul 03 03:48:24 2020", "otherVolume Backup|azacsnap version: 5.0 (Build: 20210421.6349)", 200KB , t250_sles_boot_sollabams07v53_vol, , , Size used by Snapshots, 1.31GB
省略可能
crontab
を使用するか、azacsnap
バックアップ コマンドを実行する機能がある適切なスケジューラーで、自動スナップショット バックアップを設定します。
Note
SAP HANA との通信の設定は必要ありません。
"ブート" スナップショットを復元する
重要
この操作は、Azure Large Instance のみを対象としています。 サーバーは、スナップショットが作成された時点に復元されます。
"ブート" スナップショットは次のように復旧できます。
- お客様は、サーバーをシャットダウンする必要があります。
- サーバーがシャットダウンされたら、復元するマシン ID とスナップショットが含まれたサービス要求を開く必要があります。
お客様は、サービス要求を Azure portal から開くことができます。
- Microsoft が、指定されたマシン ID とスナップショットを使用してオペレーティング システムの LUN を復元してから、サーバーを起動します。
- その後、お客様側で、サーバーが起動され、正常であることを確認する必要があります。
復元後に他の手順を実行する必要はありません。
スナップショットについて知っておくべき重要事項
ストレージ ボリューム スナップショットの主な属性:
スナップショットの場所: スナップショットは、ボリューム内の仮想ディレクトリ (
.snapshot
) にあります。 次に示す Azure Large Instance の例を参照してください。- データベース:
/hana/data/<SID>/mnt00001/.snapshot
- 共有:
/hana/shared/<SID>/.snapshot
- ログ:
/hana/logbackups/<SID>/.snapshot
- ブート: HLI のブートスナップショットは、OS レベルからは表示できませんが、
azacsnap -c details
を使用して一覧表示できます。
Note
.snapshot
は、読み取り専用で非表示の "仮想" フォルダーで、スナップショットへの読み取り専用アクセスを提供します。- データベース:
最大スナップショット: ハードウェアでは、1 ボリュームあたり最大 250 個のスナップショットを維持できます。 snapshot コマンドは、コマンド ラインで設定されたデータ保持数に基づいて、同じプレフィックスのスナップショットの最大数を保持します。 同じプレフィックスを持つデータ保持数を超えるスナップショットは、削除されます。
スナップショット名: スナップショット名には、お客様に指定されたプレフィックス ラベルが含まれます。
スナップショットのサイズ: データベース レベルのサイズ/変更によって異なります。
ログ ファイルの場所: コマンドによって生成されたログ ファイルは、JSON 構成ファイルに定義されたフォルダーに出力されます。既定では、コマンドの実行場所にあるサブフォルダー (
./logs
など) です。