自動化スクリプトの例
本ドキュメントでは、SnapCenter クローンの作成処理とクローンの削除処理をさらに自動化するために、2つのスクリプトを使用しています。
-
script.shは
sc-system-refresh
、システム更新とシステムクローニングのワークフローでSAP HANAデータベースのリカバリ処理とシャットダウン処理を実行するために使用します。 -
このスクリプトは
sc-mount-volume.sh
、システムクローンワークフローでSAP HANA共有ボリュームのマウントとアンマウントの処理を実行するために使用します。このサンプルスクリプトは現状のまま提供されており、ネットアップではサポートしていません。スクリプトは、ng-sapcc@netapp.com宛てにEメールでリクエストできます。
スクリプトsc-system-refresh.sh
このスクリプト例は sc-system-refresh.sh
、リカバリ処理とシャットダウン処理を実行するために使用します。このスクリプトは、次の図に示すように、SnapCenterワークフローのclone createおよびclone deleteで特定のコマンドラインオプションを指定して呼び出されます。
このスクリプトは汎用的で、SIDなどの必要なすべてのパラメータをターゲットシステムから読み取ります。このスクリプトは、システム更新処理のターゲットホストで使用できる必要があります。ターゲットシステムのユーザ<SID> admに対してhdbユーザストアキーが設定されている必要があります。このキーには、SAP HANAシステムデータベースへのアクセスを許可し、リカバリ処理の権限を付与する必要があります。キーには<TARGET-SID>キーという名前が必要です。
スクリプトは、実行されるディレクトリと同じディレクトリにログファイルを書き込み `sc-system-refresh-SID.log``ます。
現在のバージョンのスクリプトは、シングルホストシステムMDCのシングルテナント構成、またはMDCのマルチテナント構成をサポートしています。SAP HANAマルチホストシステムはサポートされていません。 |
サポートされているテナントリカバリ処理
セクション「ストレージSnapshotを使用したSAP HANAシステムの更新処理のワークフロー」で説明したように、ターゲットシステムで想定されるテナントリカバリ処理は、ソースシステムのテナント構成によって異なります。このスクリプト sc-system-refresh.sh
では、次の表に示すように、すべてのテナントリカバリ処理がサポートされます。これらの処理はソースシステムの構成によって可能です。
ターゲットシステムで別のテナント名が必要な場合は、リカバリ処理後にテナントの名前を手動で変更する必要があります。
SAP HANAシステム | テナント構成+ソースシステム | 変更後のテナント構成+をターゲットシステムに配置 |
---|---|---|
MDCのシングルテナント |
ソースのテナント名がソースのSIDと同じです |
ターゲットテナント名はターゲットSIDと同じです |
MDCのシングルテナント |
ソーステナント名がソースSIDと同じではありません |
ターゲットテナント名はソーステナント名と同じです |
MDCの複数のテナント |
任意のテナント名 |
すべてのテナントがリカバリされ、ソーステナントと同じ名前になります。 |
スクリプトsc-mount-volume.sh
このスクリプト例で sc-mount-volume.sh
は、任意のボリュームのマウントとアンマウントを実行しています。このスクリプトは、SAP HANAシステムのクローニング処理でSAP HANA共有ボリュームをマウントするために使用されます。このスクリプトは、次の図に示すように、SnapCenterワークフローのclone createおよびclone deleteで特定のコマンドラインオプションを指定して呼び出されます。
このスクリプトは、NFSをストレージプロトコルとして使用するSAP HANAシステムをサポートします。 |
SnapCenter 環境変数
SnapCenter には、ターゲットホストで実行されるスクリプト内で使用可能な一連の環境変数が用意されています。スクリプトはこれらの変数を使用して、関連する構成設定を決定します。
-
スクリプト変数
STORAGE, JUNCTION_PATH
はマウント処理に使用されます。 -
「cloned_volume_mount_path」環境変数から派生したものです。
-
CLONED_VOLUMES_MOUNT_PATH=${STORAGE}:/${JUNCTION_PATH}
-
例:
CLONED_VOLUMES_MOUNT_PATH=192.168.175.117:/SS1_shared_Clone_05112206115489411
SnapCenter 環境変数を取得するスクリプト
自動化スクリプトを使用せず、手順を手動で実行する必要がある場合は、FlexCloneボリュームのストレージシステムのジャンクションパスを把握しておく必要があります。ジャンクションパスはSnapCenter 内では表示されないため、ストレージシステムで直接ジャンクションパスを検索するか、ターゲットホストにSnapCenter 環境変数を提供する単純なスクリプトを使用する必要があります。このスクリプトは、SnapCenter のクローン作成処理にマウント処理スクリプトとして追加する必要があります。
ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh> cat get-env.sh #!/bin/bash env > /tmp/env-from-sc.txt ss1adm@hana-1:/mnt/sapcc-share/SAP-System-Refresh>
「env-from-ssc.txt」ファイル内で、変数「cloned_volume_mount_path」を検索して、FlexCloneボリュームのストレージシステムのIPアドレスとジャンクションパスを取得します。
例: CLONED_VOLUMES_MOUNT_PATH=192.168.175.117:/SS1_data_mnt00001_Clone_05112206115489411