Skip to main content
NetApp Solutions SAP
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

自動化スクリプトの例

共同作成者

本ドキュメントでは、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マルチホストシステムはサポートされていません。
SCコピークローンイメージ14

サポートされているテナントリカバリ処理

セクション「ストレージ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システムをサポートします。
SCコピークローンイメージ15

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