Linux と Windows for SAP での IBM Db2 の手動 VM デプロイ

このデプロイガイドでは、SAP アプリケーションをサポートする IBM Db2 for Linux、Unix、Windows システム用の Google Cloud リソースをデプロイする方法について説明します。

Terraform を使用して、SAP アプリケーションをサポートする IBM Db2 インスタンスの Google Cloud リソースを自動的にデプロイする場合は、Linux での IBM Db2 の VM の自動デプロイをご覧ください。

デプロイの計画について詳しくは、IBM Db2 for SAP プランニング ガイドをご覧ください。

前提条件

データ所在地、アクセス制御、サポート担当者、規制要件に準拠しながら SAP ワークロードを実行する必要がある場合は、必要な Assured Workloads フォルダを作成する必要があります。詳細については、Google Cloud 上の SAP のコンプライアンスと主権管理をご覧ください。

課金が有効になっている Google Cloud プロジェクトがまだない場合は、IBM Db2 インストール用に仮想マシン(VM)をデプロイする前に、プロジェクトを作成する必要があります。

プロジェクトを作成するには:

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します

gcloud コマンド環境の構成

この手順では、Google Cloud リソースをデプロイまたは構成するための gcloud コマンドを、Cloud Shell を使用して入力します。Cloud Shell には、ブラウザの Google Cloud コンソールからアクセスします。

Cloud Shell は、Cloud Shell を起動するたびに Google Cloud がプロビジョニングする VM 上で動作します。初めて Cloud Shell を使用するときには、Google Cloud は永続的な $HOME ディレクトリも作成します。このディレクトリは、Cloud Shell を開くたびに復元されます。

プロビジョニングされた VM には、最新の Google Cloud CLI が含まれています。したがって、Cloud Shell で使用する gcloud コマンドは、gcloud CLI のローカルにインストールされたインスタンスで使用するコマンドと同じです。

gcloud CLI がインストールされている場合は、以下の手順の中で使用されている gcloud コマンドをローカルマシンから発行できます。ただし、ローカルにインストールされた gcloud CLI を使用する場合は、常に最新バージョンの gcloud CLI を使用していることを確認する必要があります。

Cloud Shell または gcloud CLI のいずれを使用する場合でも、gcloud コマンド環境のプロパティを設定または変更して、それらのプロパティを 1 つの構成として保存できます。構成は、gcloud コマンドの動作に影響を与える Key-Value ペアのコレクションです。

Cloud Shell の構成で実行できる基本的な操作は次のとおりです。

  • 構成を初期化する。

    gcloud init
  • 現在の gcloud 構成の設定を確認する。

    gcloud config list
  • 必要な Google Cloud プロジェクトに切り替える。PROJECT_ID は、実際の Google Cloud プロジェクト ID に置き換えます。

    gcloud config set project PROJECT_ID
  • デフォルト リージョンを設定する。REGION は、Google Cloud リージョンに置き換えます。

    gcloud config set compute/region REGION
  • デフォルト ゾーンを設定する。ZONE は、Google Cloud ゾーンに置き換えます。

    gcloud config set compute/zone ZONE
  • 新しい構成を作成する。NAME は、構成の名前に置き換えます。

    gcloud config configurations create NAME

構成に対する操作について詳しくは、gcloud CLI 構成の管理をご覧ください。

ネットワークの作成

セキュリティ上の理由から、新しいネットワークを作成します。アクセスできるユーザーを制御するには、ファイアウォール ルールを追加するか、別のアクセス制御方法を使用します。

プロジェクトにデフォルトの VPC ネットワークがある場合、デフォルトは使用せず、明示的に作成したファイアウォール ルールが唯一の有効なルールとなるように、独自の VPC ネットワークを作成してください。

デプロイ中、VM インスタンスは通常、Google Cloud の SAP 用エージェントをダウンロードするためにインターネットにアクセスする必要があります。Google Cloud から入手できる SAP 認定の Linux イメージのいずれかを使用している場合も、ライセンスを登録して OS ベンダーのリポジトリにアクセスするために、VM インスタンスからインターネットにアクセスする必要があります。このアクセスをサポートするために、NAT ゲートウェイを配置し、VM ネットワーク タグを使用して構成します。ターゲット VM に外部 IP がない場合でもこの構成が可能です。

ネットワークを設定するには:

コンソール

  1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

    [VPC ネットワーク] に移動

  2. [VPC ネットワークを作成] をクリックします。
  3. ネットワークの名前を入力します。

    命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。

  4. [サブネット作成モード] で [カスタム] をクリックします。
  5. [新しいサブネット] セクションで、サブネットに次の構成パラメータを指定します。
    1. サブネットの名前を入力します。
    2. [リージョン] で、サブネットを作成する Compute Engine のリージョンを選択します。
    3. [IP スタックタイプ] で [IPv4(シングルスタック)] を選択し、CIDR 形式で IP アドレス範囲を入力します。(10.1.0.0/24 など)

      これはサブネットのプライマリ IPv4 範囲です。複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。

    4. [完了] をクリックします。
  6. さらにサブネットを追加するには、[サブネットを追加] をクリックして前の手順を繰り返します。ネットワークを作成した後で、ネットワークにさらにサブネットを追加できます。
  7. [作成] をクリックします。

gcloud

  1. Cloud Shell に移動します。

    Cloud Shell に移動

  2. カスタム サブネットワーク モードで新しいネットワークを作成するには、次のコマンドを実行します。
    gcloud compute networks create NETWORK_NAME --subnet-mode custom

    NETWORK_NAME は、新しいネットワークの名前に置き換えます。命名規則に従って名前を付けてください。VPC ネットワークは、Compute Engine の命名規則を使用します。

    デフォルトの自動モードでは、各 Compute Engine リージョンにサブネットが自動的に作成されます。この自動モードを使用しないようにするには、--subnet-mode custom を指定します。詳しくは、サブネット作成モードをご覧ください。

  3. サブネットワークを作成し、リージョンと IP 範囲を指定します。
    gcloud compute networks subnets create SUBNETWORK_NAME \
        --network NETWORK_NAME --region REGION --range RANGE

    次のように置き換えます。

    • SUBNETWORK_NAME: 新しいサブネットワークの名前
    • NETWORK_NAME: 前の手順で作成したサービスの名前
    • REGION: サブネットワークを配置するリージョン
    • RANGE: CIDR 形式で指定された IP アドレス範囲(例: 10.1.0.0/24)。

      複数のサブネットワークを追加する場合は、ネットワーク内の各サブネットワークに重複しない CIDR IP 範囲を割り当ててください。各サブネットワークとその内部 IP 範囲は、単一のリージョンにマッピングされることに注意してください。

  4. 必要に応じて前の手順を繰り返し、サブネットワークを追加します。

NAT ゲートウェイの設定

パブリック IP アドレスなしで 1 台以上の VM を作成する必要がある場合は、ネットワーク アドレス変換(NAT)を使用して、VM がインターネットにアクセスできるようにする必要があります。Cloud NAT は Google Cloud の分散ソフトウェア定義マネージド サービスであり、VM からインターネットへのパケットの送信と、それに対応するパケットの受信を可能にします。また、別個の VM を NAT ゲートウェイとして設定することもできます。

プロジェクトに Cloud NAT インスタンスを作成する方法については、Cloud NAT の使用をご覧ください。

プロジェクトに Cloud NAT を構成すると、VM インスタンスはパブリック IP アドレスなしでインターネットに安全にアクセスできるようになります。

ファイアウォール ルールの追加

デフォルトでは、Google Cloud ネットワークの外部からの受信接続はブロックされています。受信側の接続を許可するには、VM にファイアウォール ルールを設定します。ファイアウォール ルールは、VM への新しい受信接続のみを規制します。VM との接続が確立された後、トラフィックはその接続の両方向で許可されます。

指定したポートへのアクセスや、同じサブネットワーク上の VM 間のアクセスを許可するファイアウォール ルールを作成できます。

次のようなアクセスを許可するためのファイアウォール ルールを作成します。

  • TCP/IP Ports of All SAP Products に記述されている SAP NetWeaver によって使用されるデフォルトのポート。
  • 自分のパソコンまたは企業のネットワーク環境から Compute Engine VM インスタンスへの接続。使用すべき IP アドレスがわからない場合は、会社のネットワーク管理者に相談してください。
  • 3 層構成、スケールアウト構成、または高可用性構成の VM 間の通信。たとえば、3 層システムをデプロイしている場合、サブネットワークに少なくとも 2 つの VM(SAP NetWeaver 用の VM とデータベース サーバー用の VM)が存在することになります。2 つの VM 間の通信を有効にするには、サブネットワークから発信されるトラフィックを許可するファイアウォール ルールを作成する必要があります。

ファイアウォール ルールを作成するには:

  1. Google Cloud コンソールで、VPC ネットワークの [ファイアウォール] ページに移動します。

    [ファイアウォール] に移動

  2. ページ上部の [ファイアウォール ルールを作成] をクリックします。

    • [ネットワーク] フィールドで、VM が配置されているネットワークを選択します。
    • [ターゲット] フィールドで、[ネットワーク上のすべてのインスタンス] を選択します。
    • [ソースフィルタ] フィールドで、次のいずれかを選択します。
      • 特定の IP アドレスからのトラフィックを許可する場合は、[IP 範囲] を選択します。[ソース IP の範囲] フィールドで IP アドレスの範囲を指定します。
      • サブネット: 特定のサブネットワークからの受信トラフィックを許可する場合に使用します。次の [サブネット] フィールドにサブネットワーク名を指定します。このオプションを使用すると、3 層構成またはスケールアウト構成で VM 間のアクセスを許可できます。
    • [プロトコルとポート] セクションで、[指定したプロトコルとポート] を選択して tcp:PORT_NUMBER; を指定します。
  3. [作成] をクリックしてファイアウォール ルールを作成します。

Google Cloud 上の Db2 用に VM をデプロイする

VM を作成するときに、オペレーティング システム、リージョン、マシンタイプ、永続ディスクなど、いくつかのオプションを指定できます。

VM を作成するには:

  1. Google Cloud コンソールで、Compute Engine の [イメージ] ページに移動します。

    [イメージ] に移動

  2. 公開イメージを使用するには、リストからサポートされているイメージを選択します。SAP は、Google Cloud 上の IBM Db2 に対して次のイメージを認定しました。

    • Red Hat Enterprise Linux 7.4
    • SUSE Linux Enterprise Server 12 SP2 以降
    • Windows Server 2012 R2 以降
  3. [インスタンスを作成] をクリックします。

  4. VM の名前を入力します。名前は最大 13 文字です。これは SAP でサポートされている最大文字数です。詳細については、SAP Note 611361: Hostnames of SAP servers をご覧ください。

  5. 内部リソースとユーザーのロケーション、使用するマシンタイプに基づいて、VM のゾーンを選択します。

    SAP Netweaver でサポートされているゾーンの詳細については、以下のガイドと SAP Note をご覧ください。

  6. マシンタイプを、サポートされているマシンタイプに変更します。サポートされているマシンタイプとそれらの永続ディスクの制限については、IBM Db2 for SAP プランニング ガイドをご覧ください。

  7. 必要に応じて、[ブートディスク] セクションで [変更] をクリックします。[ブートディスク] ダイアログでは、ブートディスクのサイズと種類を構成できます。ブートディスクの構成が完了したら、[選択] をクリックして変更を commit します。

  8. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] セクションを展開します。

  9. [管理] タブの [可用性ポリシー] で、次のデフォルトが設定されていることを確認します。

    • SAP システムの可用性を確保するために、[プリエンプティブ] 設定を [オフ(推奨)] に設定したままにします。
    • メンテナンスまたは障害のイベントが発生した場合に VM が確実に再起動できるようにするために、[自動再起動] 設定を [オン(推奨)] に設定したままにします。
    • インフラストラクチャのメンテナンス中に VM が他のハードウェアに確実に移行されるようにするために、[ホスト メンテナンス時] 設定を [VM インスタンスを移行(推奨)] に設定したままにします。
  10. [ディスク] タブで、[インスタンスを削除する際にブートディスクを削除する] チェックボックスをオフにします。

次に、データベース データ、データベース ログ、ストアド プロシージャ用のディスク ボリュームを作成します。各ディスク ボリュームに対して、次の手順に従います。

  1. [ディスク] タブの [追加ディスク] の下で、[新しいディスクを追加] をクリックして、ストレージのための永続ディスクを追加します。
  2. 必要に応じて、[名前] フィールドに名前を入力します。
  3. [タイプ] で、ディスクタイプを選択します。
  4. [ソースの種類] で [空のディスク] を選択します。
  5. ディスクのサイズを指定します。ディスクサイズは、SAP および IBM Db2 の要件に従います。以下をご覧ください。
  6. ディスクを追加するには、[完了] をクリックします。
  7. システムに必要な各ディスクに対して、上記の手順を繰り返します。

最後に、ネットワークの詳細を構成して、VM を作成します。

  1. [ネットワーキング] タブの [ネットワーク インターフェース] で、以前に作成したネットワークを選択します。
  2. [SSH 認証鍵] タブで、[プロジェクト全体の SSH 認証鍵をブロック] を選択します。
  3. VM を作成して起動するには、[作成] をクリックします。

VM に接続する

次に、VM への接続を確立します。

Linux

Linux VM に接続する最も簡単な方法は、Google Cloud コンソールを介してブラウザから接続する方法と、Google Cloud CLI を介してコマンドラインから接続する方法です。また、一般的な SSH ツールを使用して Linux VM に接続することもできます。

別の方法として、Linux VM 用に新しい鍵ペアを生成してプロジェクトに適用することにより、Windows ワークステーション用の PuTTY などのサードパーティ ツールを使用して接続することもできます。詳しくは、SSH 認証鍵を作成するをご覧ください。

また、他の構成を使用して VM に接続することもできます。サポートされている環境と既知の問題の一覧については、ブラウザからの SSH をご覧ください。

コンソール

Google Cloud コンソールでブラウザから直接 ssh を使用して接続するには、次のようにします。

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 仮想マシン インスタンスのリストで、接続するインスタンスの行にある [SSH] をクリックします。

    インスタンス名の横にある SSH ボタン。

gcloud

Google Cloud CLI は、必要に応じてプロジェクト全体の SSH 認証鍵を新たに生成して適用することで、SSH 認証鍵を管理します。gcloud CLI を使用して接続するには:

gcloud compute ssh VM_NAME

VM_NAME は VM 名に置き換えます。

これで、ターミナルを使用して Linux VM でコマンドを実行できるようになりました。完了したら、exit コマンドを使用して VM との接続を解除します。

Windows

Windows ベースの VM に接続するには、最初に VM のパスワードを生成する必要があります。その後、RDP または PowerShell を使用して VM に接続できます。

パスワードの生成

Windows VM を作成したら、接続する前に VM のパスワードを生成する必要があります。

  1. Google Cloud コンソールで、Compute Engine の [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. 新しいパスワードを作成したい Windows インスタンスをクリックします。

  3. [インスタンスの詳細] ページで、[Windows パスワードを作成またはリセット] をクリックします。パスワードが生成されます。

  4. 新しいユーザーとパスワードを作成するために、ユーザー名を指定します。

  5. [設定] をクリックします。VM にログインできるように、ユーザー名とパスワードをメモしておきます。

RDP の使用

ポート 3389 でのアクセスがファイアウォール ルールで許可されている場合は、RDP を使用して Windows インスタンスに接続し、リモート デスクトップ セッションを開始できます。また、PowerShell ターミナルを使用して Windows インスタンスに接続することもできます。

Windows インスタンスのリモート デスクトップには、Windows リモート デスクトップ接続クライアントまたはサードパーティのクライアントから手動で接続します。

  1. RDP クライアントをまだインストールしていない場合はインストールします。利用可能な RDP クライアントに関する Microsoft 提供の情報については、リモート デスクトップ クライアントをご覧ください。
  2. Windows VM の外部 IP アドレスを確認します。VM の IP アドレスは、次のいずれかの方法で確認できます。
    • Google Cloud コンソールで、[VM インスタンス] ページに移動します。
    • gcloud CLI を使用して gcloud compute instances list を実行し、外部 IP アドレスを持つ VM インスタンスを一覧表示します。
  3. RDP クライアントで、接続先の IP アドレスとして VM の外部 IP アドレスを入力します。
  4. ログイン情報を入力して、[ドメイン] フィールドは空白のままにします。この VM に初めて接続する場合、またはパスワードを忘れた場合は、Windows パスワードを作成または再設定してください。
PowerShell の使用
  1. まだ Windows VM のユーザー名とパスワードを作成していない場合には、Windows パスワードを作成またはリセットします。
  2. ファイアウォール ルールを追加するか、既存のファイアウォール ルールを編集して、Windows Server VM が配置されている Google Cloud ネットワークでポート 5986 を開くように設定します。
  3. ローカル ワークステーションで、PowerShell ターミナルを開きます。
  4. ユーザーの認証情報を変数に初期設定することもできます。これにより、インスタンスに接続するたびに、認証情報を入力する必要がなくなります。この手順をスキップすると、ユーザー名とパスワードを要求するプロンプトが後で表示されます。

    $credentials = Get-Credential
    
  5. Enter-PSSession コマンドを使用してリモート PowerShell セッションを開始します。その際、SSL を使用するフラグと認証情報の確認をスキップするフラグを指定します。

    Enter-PSSession -ComputerName [IP_ADDRESS] -UseSSL -SessionOption
    (New-PSSessionOption -SkipCACheck -SkipCNCheck) -Credential $credentials
    

ディスク ドライブのフォーマットとマウント

次に、ディスク ドライブをフォーマットして VM にマウントします。

Linux

VM に接続したら、ディスク ドライブをフォーマットしてマウントします。

任意で、論理ボリューム マネージャー(LVM)を使用して、単一のディスクをフォーマットし、それを必要なディレクトリに分割することもできます。以下の手順では、LVM と非 LVM の両方の方法を示します。

LVM なしでディスク ドライブをフォーマットおよびマウントする

LVM を使わずにディスク ドライブをフォーマットしてマウントするには:

  1. VM に接続しているターミナルで、各デバイスをマウントするディレクトリを作成します。

     sudo mkdir -p /db2
     sudo mkdir -p /db2/DBSID
     sudo mkdir -p /db2/DBSID/log_dir
     sudo mkdir -p /db2/DBSID/db2dump
     sudo mkdir -p /db2/DBSID/sapdata
     sudo mkdir -p /db2/DBSID/saptmp
    
  2. ターミナルで ls コマンドを使用し、マウントするディスクを確認します。

    ls /dev/disk/by-id/
    

    次のような出力が表示されます。ディスク ID には通常、先頭に google- または scsi-0Google_ が付いたディスクの名前が含まれています。この例では google- ID を使用します。

    google-example-instance
    google-example-instance-db2
    google-example-instance-db2-dbsid
    google-example-instance-db2-dump
    google-example-instance-db2-log-dir
    google-example-instance-db2-sapdata
    google-example-instance-db2-saptmp
    
  3. ディスクをフォーマットします。Db2 V11.1 を使用している場合、高速事前割り当てのファイル システム機能をサポートしている、xfs または ext4 ファイル システムのいずれかをおすすめします。Db2 V10.5 は、xfsext4 をサポートしません。

    次のコマンドは、各ディスクを、単一の ext3 ファイル システムを使用し、パーティション テーブルを使用せずにフォーマットします。

    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2
    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2-dbsid
    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2-dump
    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2-sapdata
    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2-saptmp
    sudo mkfs.ext3 -F /dev/disk/by-id/google-example-instance-db2-log-dir
    
  4. 各ディスクを VM にマウントします。

     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2 /db2
     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2-dbsid /db2/DBSID
     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2-dump /db2/DBSID/db2dump
     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2-sapdata /db2/DBSID/sapdata
     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2-saptmp /db2/DBSID/saptmp
     sudo mount -o discard,defaults /dev/disk/by-id/google-example-instance-db2-log-dir /db2/DBSID/log_dir
    
  5. デバイスに対する読み取りと書き込みのアクセスを構成します。この例では、デバイスへの書き込みアクセスをすべてのユーザーに付与します。

     sudo chmod a+w /db2
     sudo chmod a+w /db2/DBSID
     sudo chmod a+w /db2/DBSID/db2dump
     sudo chmod a+w /db2/DBSID/sapdata
     sudo chmod a+w /db2/DBSID/saptmp
     sudo chmod a+w /db2/DBSID/log_dir
    
  6. 任意で、永続ディスクを /etc/fstab ファイルに追加して、VM の再起動時にデバイスが自動的にマウントされるようにすることもできます。

    /etc/fstab ファイルのエントリを指定するときは、ディスクが存在しない場合もインスタンスがブートを中断させないように、nofail オプションを指定します。たとえば、ブートディスクのスナップショットを作成し、永続ディスクを接続せずに新しいインスタンスを作成した場合、インスタンスは起動プロセスを続行でき、いつまでも一時停止することはありません。

  7. /etc/fstab エントリを作成します。blkid コマンドを使用して、デバイス上のファイル システムの UUID を検索し、UUID をマウント オプションとともに含めるように /etc/fstab ファイルを編集します。この手順は、ディスク ドライブごとに 1 つのコマンドで完了できます。

     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2` /db2 ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2-dbsid` /db2/DBSID ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2-log-dir` /db2/DBSID/log_dir ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2-dump` /db2/DBSID/db2dump ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2-sapdata` /db2/DBSID/sapdata ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/disk/by-id/google-example-instance-db2-saptmp` /db2/DBSID/saptmp ext3 discard,defaults,[NOFAIL] 0 2 | sudo tee -a /etc/fstab
    

    ここで、[NOFAIL] は、ディスクをマウントできない場合のシステムの動作を指定するオプションです。

  8. cat コマンドを使用して、/etc/fstab エントリが正しいことを確認します。

    cat /etc/fstab
    

この永続ディスクを切断する場合、またはこのインスタンスのブートディスクからスナップショットを作成する場合は、/etc/fstab ファイルを編集し、この永続ディスクのエントリを削除します。nofail オプションを使用する場合でも、インスタンスに接続されているデバイスとの /etc/fstab ファイルの同期を維持し、ブートディスクのスナップショットを作成する前に、このエントリを削除します。

LVM でドライブをフォーマットおよびマウントする

LVM を使用して、必要なすべてのドライブの論理ボリュームを持った単一のディスクをフォーマットしてマウントするには、次の手順に従います。

  1. ドライブ用に作成したディスクが、必要なストレージをすべてのボリュームに提供するのに十分な大きさがあることを確認します。たとえば、次の手順でディスクに指定されているサイズは 100 GB です。

  2. pvscan を実行して、物理ボリュームについて、すべてのボリュームをスキャンします。

     sudo mkdir -p /db2
     sudo mkdir -p /db2/DBSID
     sudo mkdir -p /db2/DBSID/log_dir
     sudo mkdir -p /db2/DBSID/db2dump
     sudo mkdir -p /db2/DBSID/sapdata
     sudo mkdir -p /db2/DBSID/saptmp
    
  3. ディスクまたはパーティションを LVM 用に初期化します。

    pvcreate /dev/sdb
    
  4. ボリューム グループを作成します。

    vgcreate vg_db2 /dev/sdb
    
  5. 必要なサイズを使用して、各ドライブに論理ボリュームを作成します。

    lvcreate -L 8G -n db2 vg_db2
    lvcreate -L 8G -n db2dbsid vg_db2
    lvcreate -L 8G -n db2logdir vg_db2
    lvcreate -L 8G -n db2dump vg_db2
    lvcreate -L 8G -n db2saptmp vg_db2
    lvcreate -L 50G -n db2sapdata vg_db2
    
  6. ボリュームをフォーマットします。Db2 V11.1 を使用している場合、高速事前割り当てのファイル システム機能をサポートしている、xfs または ext4 ファイル システムのいずれかをおすすめします。Db2 V10.5 は、xfsext4 をサポートしません。

    次のコマンドは、各ボリュームを、単一の ext3 ファイル システムを使用し、パーティション テーブルを使用せずにフォーマットします。

    mkfs -t ext3 /dev/vg_db2/db2
    mkfs -t ext3 /dev/vg_db2/db2dbsid
    mkfs -t ext3 /dev/vg_db2/db2logdir
    mkfs -t ext3 /dev/vg_db2/db2dump
    mkfs -t ext3 /dev/vg_db2/db2saptmp
    mkfs -t ext3 /dev/vg_db2/db2sapdata
    
  7. マウント ポイントを作成します。

    mkdir /db2
    
  8. ファイル システムをマウント ポイントにマウントします。

     sudo mount -o discard,defaults /dev/vg_db2/db2dbsid /db2/DBSID
     mkdir /db2/DBSID/log_dir
     sudo mount -o discard,defaults /dev/vg_db2/db2logdir /db2/DBSID/log_dir
     mkdir /db2/DBSID/db2dump
     sudo mount -o discard,defaults /dev/vg_db2/db2dump /db2/DBSID/db2dump
     mkdir /db2/DBSID/saptmp
     sudo mount -o discard,defaults /dev/vg_db2/db2saptmp /db2/DBSID/saptmp
     mkdir /db2/DBSID/sapdata
     sudo mount -o discard,defaults /dev/vg_db2/db2sapdata /db2/DBSID/sapdata
    

    実行後のドライブは、次のようになります。

    Filesystem             1K-blocks    Used  Available  Use%  Mounted
    ...                          ...
    dev/mapper/vg_db2-db2    8378368   32976    8345392    1%  /db2
    dev/mapper/vg_db2-db2    8378368   33024    8345344    1%  /db2/DBSID
    dev/mapper/vg_db2-db2   52403200   32976   52370224    1%  /db2/DBSID/sapdata
    dev/mapper/vg_db2-db2    8378368   32976    8345392    1%  /db2/DBSID/saptmp
    dev/mapper/vg_db2-db2    8378368   32976    8345392    1%  /db2/DBSID/log_dir
    dev/mapper/vg_db2-db2    8378368   32976    8345392    1%  /db2/DBSID/db2dump
    
  9. 必要に応じて、永続ディスクを /etc/fstab ファイルに追加して、VM の再起動時にデバイスが自動的にマウントされるようにすることもできます。

    /etc/fstab ファイルのエントリを指定するときは、ディスクが存在しない場合もインスタンスがブートを中断させないように、nofail オプションを指定します。たとえば、ブートディスクのスナップショットを作成し、永続ディスクを接続せずに新しいインスタンスを作成した場合、インスタンスは起動プロセスを続行でき、いつまでも一時停止することはありません。

  10. /etc/fstab エントリを作成します。blkid コマンドを使用して、デバイス上のファイル システムの UUID を検索し、UUID をマウント オプションとともに含めるように /etc/fstab ファイルを編集します。この手順は、ディスク ドライブごとに 1 つのコマンドで完了できます。

     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2` /db2 ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2dbsid` /db2/DBSID ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2logdir` /db2/DBSID/log_dir ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2dump` /db2/DBSID/db2dump ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2saptmp` /db2/DBSID/saptmp ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
     echo UUID=`sudo blkid -s UUID -o value /dev/vg_db2/db2sapdata` /db2/DBSID/sapdata ext3 discard,defaults,nofail 0 2 | sudo tee -a /etc/fstab
    

    ここで、[NOFAIL] は、ディスクをマウントできない場合のシステムの動作を指定するオプションです。

  11. cat コマンドを使用して、/etc/fstab エントリが正しいことを確認します。

    cat /etc/fstab
    

この永続ディスクを切断する場合、またはこのインスタンスのブートディスクからスナップショットを作成する場合は、/etc/fstab ファイルを編集し、この永続ディスクのエントリを削除します。nofail オプションを使用する場合でも、インスタンスに接続されているデバイスとの /etc/fstab ファイルの同期を維持し、ブートディスクのスナップショットを作成する前に、このエントリを削除します。

ハイブリッド アプローチでは、個別の永続ディスクを保持しながら、LVM を使用してボリュームのサイズ変更と管理を簡素化できます。これにより、独立したボリュームのスナップショットを作成できます。また、一部のボリュームを削除して、Filestore やサードパーティなどの NFS サービスや、NetApp Cloud Volumes Service for Google Cloud などのサードパーティのファイル共有ソリューションを介して、共有ファイル システムを利用できます。

Windows

Windows VM に接続したら、ディスクをフォーマットして使用できるようにします。次の手順で Windows のページファイルも構成します。

  1. [スタート] メニューから、サーバー マネージャーを検索して開きます。
  2. [ファイル サービスと記憶域サービス] を選択して、[ディスク] を選択します。

    サーバー マネージャー

  3. [ディスク] ダイアログで、最初の非 MBR ディスクを右クリックし、[新しいボリューム] をクリックします。

  4. デフォルト値のまま続行して、ディスクラベルを入力します。

  5. ファイル システムを設定する手順では、[アロケーション ユニット サイズ] を次のリストの値に変更します。

    • データベース ディスク: 32 KB
    • ページファイル: 8 KB
    • その他のディスク: デフォルトの 4 KB
  6. ディスクを説明するわかりやすいボリューム ラベルを入力します。

    新しいボリューム ウィザード

  7. ほかのディスクについても、上記の手順を繰り返します。

オペレーティング システムの準備

ディスク ドライブをフォーマットしてマウントしたら、オペレーティング システムを準備します。

Linux

VM を作成したら、インストールに関する SAP Note を参照し、指定されたソフトウェア コンポーネントがシステムに含まれていることを確認します。

Windows

データベース サーバーのインストール

オペレーティング システムが構成されたので、IBM Db2 データベース サーバーをインストールできます。

IBM Db2 とともに SAP NetWeaver をインストールする方法については、ご使用の SAP NetWeaver システムに固有のインストール ガイドをご覧ください。

Linux

VM に IBM Db2 をインストールするには、以下の手順に沿って操作します。

  1. Linux ベースの VM への ssh 接続を確立します。
  2. Db2 用の SAP メディアセット一式を VM にダウンロードまたはコピーします。SAP メディアセットは、SAP Support Portal からダウンロードできます。
  3. SAP Software Provisioning Manager を使用して IBM Db2 データベース サーバーをインストールします。
  4. IBM Db2 のライセンス ファイルをインストールします。SAP から入手した Db2 ライセンスのインストールについて詳しくは、SAP Note 816773 - DB6: Installing an SAP OEM license をご覧ください。

Windows

VM に IBM Db2 をインストールするには、以下の手順に沿って操作します。

  1. RDP または Windows PowerShell を使用して、Windows ベースの VM に接続します。
  2. Db2 用の SAP メディアセット一式を VM にダウンロードまたはコピーします。SAP メディアセットは、SAP Support Portal からダウンロードできます。
  3. IBM Db2 データベース サーバーをインストールします。
  4. IBM Db2 のライセンス ファイルをインストールします。SAP から入手した Db2 ライセンスのインストールについて詳しくは、SAP Note 816773 - DB6: Installing an SAP OEM license をご覧ください。

Google Cloud の SAP 用エージェントのインストール

Google Cloud では、サポートとモニタリングのために、Compute Engine VM インスタンスと Bare Metal Solution サーバーで実行される SAP ワークロード用に SAP 用エージェントを提供しています。

SAP が求めているように、SAP からのサポートを利用し、SAP がサービスレベル契約(SLA)を達成できるようにするには、すべての Compute Engine VM インスタンスと SAP システムを使用する Bare Metal Solution サーバーに Google Cloud の SAP 用エージェントをインストールする必要があります。サポートの前提条件の詳細については、SAP Note 2456406 - Google Cloud Platform 上の SAP: サポートの前提条件をご覧ください。

Google Cloud の SAP 用エージェントのバージョン 3.1(最新)は、Google Cloud の SAP NetWeaver 用モニタリング エージェント バージョン 2、SAP HANA 用モニタリング エージェント バージョン 2、Cloud Storage の SAP HANA 用 Backint エージェントの後継です。したがって、Google Cloud の SAP 用エージェントのバージョン 3.1(最新)には、指標の収集に加えて、オプション機能(SAP HANA の Backint ベースのバックアップと復元)が含まれています。こうした機能を有効にすると、SAP ワークロードのワークロード マネージャーとしてプロダクトやサービスを利用できます。

SAP システムと一緒にホストに Google Cloud の SAP 用エージェントをインストールします。エージェントのインストールと構成、インストールの検証、エージェントが期待どおりに実行されていることを確認する方法については、Compute Engine VM インスタンスにエージェントをインストールするをご覧ください。

Google Cloud が提供する次の「SAP 用」RHEL または SLES OS イメージを使用する場合、Google Cloud の SAP 用エージェントは OS イメージに含まれています。

  • RHEL: すべての「SAP 用」イメージ
  • SLES: SAP 用 SLES 15 SP4 以降のバージョン

デプロイ後のタスクの実行

IBM Db2 インスタンスを使用する前に、次のデプロイ後の手順を実行することをおすすめします。

  1. 最新のパッチがある場合は、それを使用して IBM Db2 ソフトウェアを更新します。
  2. 追加のコンポーネントをインストールします。
  3. 新しい IBM Db2 データベースを構成してバックアップします。

その他のデプロイ後のガイドについては、IBM Db2 とともに使用している SAP システムに適用されるインストール ガイドの Post-installation Tasks のセクションをご覧ください。

トラブルシューティング

このセクションでは、一般的な問題を修正する方法について説明します。

VM への接続に関するトラブルシューティング

ssh 経由で VM に接続する際に問題がある場合は、使用している Google Cloud ネットワーク上でポート 22 をオープンにするファイアウォール ルールが作成されていることを確認してください。

その他の考えられる問題については、ブラウザから ssh 経由で接続する際の既知の問題をご覧ください。