NetApp Block Storage バックエンドガイド

Red Hat OpenStack Platform 15

Red Hat OpenStack Platform 15 では、NetApp アプライアンスを Block Storage バックエンドとして使用するためのガイド

概要

本書では、director を使用して Red Hat OpenStack Platform の Block Storage サービスのバックエンドとして NetApp ストレージアプライアンスをデプロイする方法について説明します。

第1章 はじめに

本書では、director を使用して NetApp アプライアンスをオーバークラウドの Block Storage サービスにバックエンドとしてデプロイする方法について説明します。以下のセクションは、以下を前提としています。

  • NetApp アプライアンスと Block Storage バックエンド用のドライバーのみを使用することが目的です。
  • director を使用して OpenStack オーバークラウドがすでにデプロイされています。
  • NetApp アプライアンスはすでに設定済みで、ストレージリポジトリーとして使用できる状態である。
  • NetApp ストレージシステムまたはプロキシーサーバーに接続するのに必要な認証情報がある。
  • 昇格した特権を持つアカウントのユーザー名およびパスワードを所有している。オーバークラウドのデプロイに 作成したものと同じアカウントを使用することができます。『director のインストールと 使用方法』では、この目的のために stack ユーザーを作成します。

director を使用して Red Hat OpenStack Platform をデプロイする場合、主要なオーバークラウド設定(特に Block Storage サービスのバックエンド)も director を使用して定義およびオーケストレーションする必要があります。これにより、今後オーバークラウドが更新されても設定が維持されます。

注記

Block Storage サービスが NetApp アプライアンスをバックエンドとして使用するように設定する手動の手順は、「 Chapter 4」を参照してください。OpenStack Block Storage サービス(NetApp OpenStack Deployment and Operations Guide から)手動で設定されたブロックストレージ設定は、オーバークラウドへの更新時に再適用する必要があります。これは、director がオーケストレーションしていない設定を上書きするためです。

本ガイドでは、オーバークラウドの Block Storage サービスに必要な NetApp バックエンド設定をオーケストレーションする方法について説明します。本書では、NetApp バックエンドを使用した可能な複数の異なるデプロイメント設定について説明しません。利用可能なさまざまな NetApp デプロイメントの選択肢については、『 NetApp OpenStack Deployment and Operations Guide』の「Theory of Operation & Deployment Choices 」を参照してください。

デプロイする結果のバックエンド設定(およびその対応する設定)を理解したら、director を介してオーケストレーションする方法について、本書を参照してください。

注記

director には、NetApp バックエンドの単一インスタンスのみをデプロイするための統合コンポーネントがあります。

NetApp バックエンドのインスタンスを複数デプロイするには、カスタムのバックエンド設定が必要です。詳細は、『 カスタム Block Storage バックエンドデプロイメントガイド』 を参照してください。

第2章 プロセスの説明

Red Hat OpenStack Platform には、Block Storage サービスがサポートするすべての NetApp アプライアンスに必要なすべてのドライバーが含まれます。また、director には、NetApp アプライアンスをオーバークラウドにバックエンドと統合するのに必要な puppet マニフェスト、環境ファイル、および Orchestration テンプレートもあります。

NetApp アプライアンスをバックエンドとして設定するには、デフォルトの 環境ファイル を編集してオーバークラウドのデプロイメントに組み込む必要があります。このファイルは、アンダークラウドでローカルで使用でき、ご使用の環境に応じて編集できます。

このファイルを編集したら、director 経由で呼び出します。これにより、今後のオーバークラウド更新後も維持されます。以下のセクションでは、このプロセスをより詳細に説明します。

第3章 バックエンドの定義

重要

本項では、単一のバックエンドのデプロイメントについて説明します。NetApp バックエンドのインスタンスを複数デプロイするには、カスタムのバックエンド設定が必要です。詳細は、『 カスタム Block Storage バックエンドデプロイメントガイド』 を参照してください。

director のデプロイメントでは、NetApp アプライアンスを Block Storage バックエンドとして定義するための最も簡単な方法は、統合された NetApp 環境ファイルを使用することです。このファイルは、アンダークラウドノードの以下のパスにあります。

/usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml

このファイルを、編集して後で呼び出すことができローカルパスにコピーします。たとえば、~/templates/ にコピーするには、以下のコマンドを実行します。

$ cp /usr/share/openstack-tripleo-heat-templates/environments/cinder-netapp-config.yaml ~/templates/

その後、コピー(~/templates/cinder-netapp-config.yaml)を開き、適切に編集します。以下のスニペットに、このファイルのデフォルトの内容を示します。

# A heat environment file which can be used to enable a
# a Cinder NetApp backend, configured via puppet
resource_registry:
  OS::TripleO::Services::CinderBackendNetApp: ../puppet/services/cinder-backend-netapp.yaml  1

parameter_defaults:  2
  CinderEnableNetappBackend: true  3
  CinderNetappBackendName: 'tripleo_netapp'
  CinderNetappLogin: ''
  CinderNetappPassword: ''
  CinderNetappServerHostname: ''
  CinderNetappServerPort: '80'
  CinderNetappSizeMultiplier: '1.2'
  CinderNetappStorageFamily: 'ontap_cluster'
  CinderNetappStorageProtocol: 'nfs'
  CinderNetappTransportType: 'http'
  CinderNetappVfiler: ''
  CinderNetappVolumeList: ''
  CinderNetappVserver: ''
  CinderNetappPartnerBackendName: ''
  CinderNetappNfsShares: ''
  CinderNetappNfsSharesConfig: '/etc/cinder/shares.conf'
  CinderNetappNfsMountOptions: ''
  CinderNetappCopyOffloadToolPath: ''
  CinderNetappControllerIps: ''
  CinderNetappSaPassword: ''
  CinderNetappStoragePools: ''
  CinderNetappEseriesHostType: 'linux_dm_mp'
  CinderNetappWebservicePath: '/devmgr/v2'
注記

director のさまざまな heat パラメーターにより、NFS バックエンドまたは NetApp NFS Block Storage バックエンドが NetApp 機能 (NAS secure と呼ばれる) をサポートするかどうかが制御されます。

  • CinderNetappNasSecureFileOperations
  • CinderNetappNasSecureFilePermissions
  • CinderNasSecureFileOperations
  • CinderNasSecureFilePermissions

通常のボリューム操作に干渉するため、Red Hat では、この機能を有効にすることを推奨していません。director はデフォルトでこの機能を無効にするため、Red Hat OpenStack Platform はこの機能をサポートしません。

1
resource_registry セクションの OS::TripleO::Services::CinderBackendNetApp パラメーターは、cinder-backend-netapp.yaml という名前のコンポーザブルサービステンプレートを参照します。これは、director がバックエンドの設定に必要なリソースを読み込むのに使用するテンプレートです。デフォルトでは、このパラメーターは cinder-backend-netapp.yaml へのパスを指定します。そのため、このパラメーターをファイルへの絶対パスで更新します。
resource_registry:
  OS::TripleO::Services::CinderBackendNetApp: /usr/share/openstack-tripleo-heat-templates/puppet/services/cinder-backend-netapp.yaml
2
parameter_defaults セクションには、バックエンドの定義が含まれます。具体的には、director が cinder-backend-netapp.yaml で定義されたリソースに渡すパラメーターが含まれます。
3
CinderEnableNetappBackend: true の行は、director が NetApp バックエンドのデフォルト設定に必要な puppet マニフェストを使用するように指示します。これには、Block Storage サービスが使用すべきボリュームドライバーの定義(具体的には cinder.volume.drivers.netapp.common.NetAppDriver)が含まれます。

NetApp バックエンドを定義するには、parameter_defaults セクションの設定を適宜編集します。以下の表には、各パラメーターとそれに対応する cinder.conf の設定をまとめています。

注記

変数についての詳細は、NetApp アプライアンス向けの NetApp OpenStack Docs の対応するリファレンスを参照してください。

表3.1 NetApp 汎用バックエンドの設定

パラメーターcinder.conf の設定説明

CinderNetappBackendName

volume_backend_name

(必須)ボリュームのバックエンドを識別する任意の名前。cinder-netapp-config.yaml ファイルは、デフォルトで tripleo_netapp という名前を使用します。

CinderNetappLogin

netapp_login

(必須) バックエンドまたはそのプロキシーサーバーへのアクセスに使用される管理アカウント名。このパラメーターでは、クラスターレベルの管理者権限(管理 )またはクラスター スコープのアカウントでアカウントを使用できます。 [a] 適切な権限がある。

CinderNetappPassword

netapp_password

(必須) CinderNetappLogin の対応するパスワード。

CinderNetappServerHostname

netapp_server_hostname

(必須) ストレージシステムまたはプロキシーサーバー(E-Series 用)。このオプションの値は、クラスター管理論理インターフェース(LIF)またはストレージ仮想マシン(SVM)LIF の IP アドレスまたはホスト名である必要があります。

CinderNetappServerPort

netapp_server_port

(オプション) Block Storage サービスが NetApp バックエンドとの通信に使用する TCP ポート。指定されていない場合、Data ONTAP ドライバーは HTTP80 を使用し、HTTPS443 を使用します。HTTP には 8080 を使用し、HTTPS には 8443 を使用します。

CinderNetappSizeMultiplier

netapp_size_multiplier

(非推奨) ボリュームの作成時に、NetApp バックエンドに十分なスペースを確保できるように、要求されたボリュームサイズに数量を乗算します。

CinderNetappStorageFamily

netapp_storage_family

(オプション) バックエンドデバイスで使用されるストレージファミリータイプ。クラスター化された Data ONTAP には ontap_cluster を使用します。または E-Series に eseries を使用します。

注記: 7-Mode で動作している Data ONTAP の ontap_7mode のサポートは非推奨になりました。

CinderNetappStorageProtocol

netapp_storage_protocol

(必須) 使用されるストレージプロトコル。nfsiscsi、または fc を使用します。

CinderNetappTransportType

netapp_transport_type

(必須) バックエンドとの通信に使用されるトランスポートプロトコル。有効なオプションには、http および https が含まれます。

[a] クラスタースコープのアカウントに関する詳しい情報は、『 NetApp OpenStack Docs』の「 ONTAP Configuration」を参照してください。

以下の設定は、クラスター化された Data ONTAP にのみ有効です( CinderNetappStorageFamilyontap_clusterに設定)。

表3.2 クラスター化された DATA ONTAP 用の NetApp 設定

パラメーターcinder.conf の設定説明

CinderNetappVserver

netapp_vserver

(必須) ボリュームプロビジョニングが実行される SVM の名前を指定します。ストレージクラスターの単一の SVM を参照します。

以下の設定は、7-Mode で動作している Data ONTAP でのみ有効です( CinderNetappStorageFamilyontap_7modeに設定)。

表3.3 7-Mode で動作している DATA ONTAP 用の NetApp 設定

パラメーターcinder.conf の設定説明

CinderNetappVfiler

netapp_vfiler

(オプション) ボリュームのプロビジョニングを行う vFiler ユニット。NetApp バックエンドで MultiStore 機能を使用する場合にのみ、このオプションを使用します。

CinderNetappVolumeList

netapp_volume_list

(非推奨) NetApp コントローラーボリュームの指定されたコンマ区切りの一覧にプロビジョニングを制限します。今回のリリースでは、このオプションの後方互換性はそのままになります。

CinderNetappPartnerBackendName [a]

netapp_partner_backend_name

(必須) 高可用性(HA)ペアの 2 番目の半分として動作する別のバックエンドを指定します。どちらのバックエンドも、それぞれのバックエンド定義で相互の volume_backend_name を参照する必要があります。

[a] このオプションは、ファイバーチャネルプロトコルを使用する場合のみ有効です( CinderNetappStorageProtocolfcに設定されます)。詳細は、『 NetApp OpenStack Deployment and Operations Guide』の「NetApp Unified Driver for Data ONTAP operating in 7-Mode with Fibre Channel」を参照してください。

以下の設定は、デバイスの E-Series ファミリー( CinderNetappStorageFamilyeseriesに設定)にのみ有効です。

表3.4 E-Series の NetApp 設定

パラメーターcinder.conf の設定説明

CinderNetappControllerIps

netapp_controller_ip

(必須) プロビジョニングを制限するコントローラー管理 IP/ホスト名のコンマ区切りの一覧。

CinderNetappSaPassword

netapp_sa_password

(オプション) NetApp E-Series ストレージアレイへのパスワード。

CinderNetappStoragePools

netapp_storage_pools

(削除) プロビジョニングが制限されるディスクプールのコンマ区切りリスト。

このパラメーターは利用できないドライバーオプションを参照するようになったため、編集しないでください。

CinderNetappEseriesHostType

netapp_eseries_host_type

(削除) LUN にアクセスできるすべてのイニシエーターのオペレーティングシステムのタイプを定義します。この情報は、LUN を個々のホストまたはホストのグループにマッピングする際に使用されます。

このパラメーターは利用できないドライバーオプションを参照するようになったため、編集しないでください。

CinderNetappWebservicePath

netapp_webservice_path

(オプション) プロキシーサーバー上の E-Series プロキシーアプリケーションへのパスを指定します。プロキシーアプリケーションに接続するための完全な URL を決定するために、ドライバーは CinderNetappTransportTypeCinderNetappServerHostname、および CinderNetappServerPort ポートの値を組み合わせたものです。

以下の設定は、NFS プロトコルを使用する場合のみ有効です( CinderNetappStorageProtocolnfsに設定されます)。詳細は、『 NetApp OpenStack Deployment and Operations Guide』の「 NetApp Unified Driver for Clustered Data ONTAP with NFS 」または「NetApp Unified Driver for Data ONTAP operating in NFS 」を参照してください。

表3.5 NFS 用の NetApp 設定

パラメーターcinder.conf の設定説明

CinderNetappNfsShares

None

(必須) NetApp ONTAP デバイスからエクスポートされたデータ LIF のコンマ区切りリスト。この一覧は、CinderNetappNfsSharesConfig で定義されている場所に書き込まれます。以下に例を示します。

CinderNetappNfsShares: \'192.168.67.1:/cinder1,192.168.67.2:/cinder2,192.168.67.2:/cinder3,192.168.67.2:/archived_data'

CinderNetappNfsSharesConfig

nfs_shares_config

(必須) NFS エクスポートファイル への絶対パス。このファイルには、バックエンドとして使用する利用可能な NFS 共有の一覧が含まれます。

CinderNetappNfsMountOptions

nfs_mount_options

(必要に応じて) NFS クライアントに渡すマウントオプションのコンマ区切りリスト。有効なオプションの詳細は、man mount を参照してください。

CinderNetappCopyOffloadToolPath [a]

netapp_copyoffload_tool_path

(オプション) NetApp コピーオフロードツールバイナリー のパスを指定します。このバイナリー( NetApp サポートポータルから利用可能)には、openstack-cinder-volume プロセスがこのファイルを実行する必要があるため、Execute パーミッションセットが必要です。

[a] このオプションは、クラスター化 Data ONTAP でのみ有効です( CinderNetappStorageFamilyontap_clusterに設定)。詳細は、『 NetApp OpenStack Deployment and Operations Guide』の「NetApp Unified Driver for Clustered Data ONTAP with NFS」を参照してください

第4章 設定したバックエンドのデプロイ

director のインストールでは、root 以外のユーザーを使用してコマンドを実行します。これには、Block Storage バックエンドのデプロイメントのオーケストレーションが含まれます。Creating a Director Installation Userでは、この目的のために stack という名前のユーザーが作成されます。このユーザーは、昇格された権限で設定されます。

アンダークラウドに stack ユーザーとしてログインします。次に、以下を実行して NetApp バックエンドをデプロイします(編集した ~/templates/cinder-netapp-config.yamlで定義)。

$ openstack overcloud deploy --templates -e ~/templates/cinder-netapp-config.yaml
重要

オーバークラウドの作成時に追加の環境ファイルを渡した場合には、予定外の変更がオーバークラウドに加えられないように、ここで -e オプションを使用して環境ファイルを再度渡します。詳しい情報は、『 director のインストールと 使用方法』の「オーバークラウド環境 の変更」を参照してください。

director のオーケストレーションが完了したら、バックエンドをテストします。

第5章 設定したバックエンドのテスト

バックエンドをデプロイしたら、ボリュームを正常に作成できることをテストします。

手順

  1. アンダークラウドノードに stack ユーザーとしてログインします。
  2. overcloudrc 認証情報ファイルを入手します。

    $ source /home/stack/overcloudrc
  3. 新規バックエンドを指定するのに使用することのできる新規ボリューム種別を作成します。以下のコマンドを実行して netapp という名前のボリュームタイプを作成します。

    $ cinder type-create netapp
  4. 3章バックエンドの定義CinderNetappBackendName パラメーターで定義されるように、新規ボリューム種別を新たなバックエンド tripleo_netapp にマッピングします。

    $ cinder type-key netapp set volume_backend_name=tripleo_netapp
  5. 新しいバックエンドに 2GB のボリュームを作成します。

    $ cinder create --volume-type netapp 2
注記

詳しい情報は、『 director のインストールと 使用方法』 の「オーバークラウドへ のアクセス」を参照してください。