openstack を 拡張する netapp unified driver の使い方 vol.001

29
How to use The NetApp Unified Driver For OpenStack Vol.001 2014/10/17 Takeshi Kuramochi

Upload: takeshi-kuramochi

Post on 02-Jul-2015

935 views

Category:

Technology


5 download

DESCRIPTION

How to use the NetApp Unified Driver OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

TRANSCRIPT

Page 1: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

How to use The NetApp Unified Driver For OpenStack Vol.001

2014/10/17

Takeshi Kuramochi

Page 2: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

自己紹介

• 倉持健史(くらもち たけし)

• 現在のお仕事

フラッシュメモリ技術

BigData(Hadoop ディストリと組み合わせ)

OpenStack(+NetApp インテグレーション)

SNIA日本支部 教育委員会 副委員長

• 他への興味

データ分析・・・R、RStudo を使い始めた

囲碁・・・まだ 9路盤 の域を出ない超初心者

ゴルフ・・・とりあえずスタートは 160

Python・・・シンプルでいいと思い始めた

SoC・・・ラズパイと Cubieboard がゴロゴロしてる

Page 3: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

はじめに

• 本文書は、OpenStack に関わる技術者向けになっています。

• 各 OpenStack プロジェクトをコードネームで表記しています。

• コミュニティのドキュメントやベンダー提供のガイドも存在するがもっとわかりやすくステップを踏まえて作成出来る流れにしています。

• 本書では Linux ディストリビューションは Fedora 20 を使用しています。また、OpenStack のリリースは RDO Icehouse Release -4 を使用しています。

• Linux および OpenStack のオペレーションが含まれますが、個々の詳細な解説はされておりません。

• NetApp のオペレーションが含まれますが、詳細な解説はされておりません。

Page 4: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

目次

1. NetApp Unified Driver ってなに?

2. NetApp Unified Driver を使うと何がいい?

3. 事前準備と前提、本書の構成

4. 設定方法

5. 確認方法

6. 参考情報

7. 予定

Page 5: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

NetApp Unified Driver

ってなに?

Page 6: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

NetApp Unified Driver

• Cinder のバックエンドストレージとしてNetAppストレージを使うためのドライバ

• コミュニティに提供されており、だれでも使える

• 以下の NetApp ストレージOSに対応 – Data ONTAP 7-Mode – Clustered Data ONTAP(本書はこちらを前提) – E-Series

• NetApp Unified Driver と組み合わせた NFS Copy Offload

Client のツールも存在するがそれは次回で解説

Page 7: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

NetApp Unified Driver を使うと何がいいの?

Page 8: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

NetApp Unified Driver を使うと・・・

• Cinder Volume に対して多くの付加価値をつけることができる – 重複排除や圧縮処理が施されるボリューム

– データミラーされているボリューム

– QoS(性能制限)がかけられているボリューム

– アーカイブ専用なボリューム

– 高速を求めるボリューム

• ストレージが得意な処理をホストのリソースを使うことなく、つま

り負荷をかけずに、且つユーザに透過的に行える – ボリュームのコピー、スナップショットやクローニングをストレージ

上で負荷軽減およびリソース無駄を排除

もともと NetApp Data ONTAP のコア技術 Snapshot は負荷をかけずにスナップショットを取ることができる

Page 9: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

事前準備と前提

本書の構成

Page 10: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

事前準備と前提

• OpenStack のプラットフォーム

– 少なくとも Keystone , Nova , Neutron , Glance , Cinder , Horizon が構成済みである事

– マルチノード、オールインワンどちらの構成でも可能

• NetApp FAS シリーズの物理配置と結線等完了済みである事

• Clustered Data ONTAP の初期セットアップ済み

Page 11: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

本書の環境

• OpenStack はオールインワン構成 – Fedora 20 – RDO Icehouse Release -4

• NetApp clustered Data ONTAP 8.2.1 使用

• ざっくり概略図

OpenStack Platform

Clustered Data ONTAP

Internet

Page 12: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

設定方法

Page 13: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

設定方法

以下2点の設定を行う。

• Clustered Data ONTAP 側設定

– NFS 設定(iSCSI 用は参考につける)

– API アクセスロール作成

• Cinder の設定

– cinder.conf の設定

– Type , Extra-specs の設定

Page 14: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Clustered Data ONTAP 側の設定

以下、clustered Data ONTAP 上でのオペレーション

• SVM を1つ作成

• NFS 用の LIF を作成

• NFS 用の「ノーマル」「重複排除用」「圧縮用」「ミラーリング用」のボリュームを作成 – 重複排除用と圧縮用では以下の設定を入れる

volume efficiency on -vserver <SVM名> -volume <重複排除用Volume名> volume efficiency on -vserver <SVM名> -volume <圧縮用Volume名> volume efficiency modify -vserver <SVM名> -volume <圧縮用Volume名> -compression true -inline-compression true

Page 15: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Clustered Data ONTAP 側の設定

• NFS v4 , v4.1 の設定

– NFS Copy Offload Client を使う場合は v4.x 以上が必要

• API アクセス用のロール作成

– NetApp Unified Driver では ONTAP API を通じて clustered Data ONTAP にアクセスする、そのための専用のユーザおよびロールを作成

nfs modify -vserver demo-nfs-svm -v4.0 enabled -v4.1 enabled -v4.1-pnfs enabled

NetApp Unified Driver からリクエストされる”コマンド”に対して”アクセスレベル”をロールに割り当てる # 各コマンドに必要なアクセスレベルは下記のテーブルに記載があるので参照 # http://netapp.github.io/openstack-deploy-ops-guide/icehouse/content/cinder.fas.configuration.html security login role create -role <ロール名> -cmddirname <コマンド> -access <アクセスレベル> 作成したロールを持つユーザを作成する security login create -username <ユーザ名> -application ontapi -authmethod password -role <ロール名>

Page 16: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Cinder の設定(NFS)

[DEFAULT]

# 中略

enabled_backends=cdot-nfs

[cdot-nfs]

volume_backend_name=cdot-nfs

volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver

netapp_server_hostname=10.130.202.180 # cluster management lif のアドレス

netapp_server_port=80

netapp_storage_protocol=nfs

netapp_storage_family=ontap_cluster

netapp_login=openstack # ロールとして新たに作ったAPI用のユーザ

netapp_password=netapp123 # ロールとして新たに作ったAPI用のユーザのパスワード

netapp_vserver=demo-nfs-svm # 対象のSVM

nfs_shares_config=/etc/cinder/nfs.shares # ファイルを作る

/etc/cinder.conf (cinder-volume が稼働しているホスト) <例>

Page 17: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Cinder の設定(NFS)

• cinder.conf を設定した後は cinder-volume を再起動

• cinder-volume は設定したボリュームを自動的にNFSマウントする

10.130.208.55:/vol5_plain # 特別な設定はない通常のボリューム

10.130.208.55:/vol2_dedup # SVM上で条幅排除設定をしたボリューム) 10.130.208.55:/vol3_compressed # SVM上で圧縮設定をしたボリューム) 10.130.208.55:/vol4_mirrored # SVM上でミラー設定をしたボリューム)

/etc/cinder/nfs.shares SVM の NFS 用 LIF : /各ボリュームジャンクションパス <例>

[root@tkstack (keystone_admin)]# df –h (一部省略) 10.130.208.55:/vol4_mirrored 50G 1.1M 50G 1% /var/lib/cinder/mnt/7a2ad54f8ce5ac4c4f092e6cb1f1b39b 10.130.208.55:/vol2_dedup 100G 627M 100G 1% /var/lib/cinder/mnt/ea9ebfcad8827c2df164a5792194d80e 10.130.208.55:/vol5_plain 150G 832K 150G 1% /var/lib/cinder/mnt/980e55e4b6bcbba7ff1f0adc1016e52e 10.130.208.55:/vol3_compressed 100G 448K 100G 1% /var/lib/cinder/mnt/5fa24de47b0ced340706db7fde94ab64

Page 18: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Type と Extra-specs の設定

• Cinder サービスリストの確認 [root@tkstack (keystone_admin)]# cinder service-list +------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+ | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | +------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+ | cinder-scheduler | tkstack.sample.net | nova | enabled | up | 2014-08-08T09:07:36.000000 | None | | cinder-volume | tkstack.sample.net@cdot-nfs | nova | enabled | up | 2014-08-08T09:07:40.000000 | None | +------------------+-------------------------------+------+---------+-------+----------------------------+-----------------+

• Type 作成 [root@tkstack ~(keystone_admin)]# cinder type-create normal [root@tkstack ~(keystone_admin)]# cinder type-create gold [root@tkstack ~(keystone_admin)]# cinder type-create silver [root@tkstack ~(keystone_admin)]# cinder type-create bronze [root@tkstack ~(keystone_admin)]# cinder type-list +--------------------------------------+-----------+ | ID | Name | +--------------------------------------+-----------+ | 3f615755-fef0-46d4-b3d7-aa7d87977209 | normal | | 577d372e-9e6c-4468-ba8b-a4b0e11939f7 | silver | | 9081d1c7-5812-4e94-9ce9-fc1aa9118d5b | gold | | f6b87b16-0a08-4270-a5f0-1707ffcd68c0 | bronze | +--------------------------------------+-----------+

Page 19: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Type と Extra-specs の設定

• Extra-specs 設定 [root@tkstack ~(keystone_admin)]# cinder type-key normal set storage_protocol=nfs [root@tkstack ~(keystone_admin)]# cinder type-key gold set netapp_mirrored=true [root@tkstack ~(keystone_admin)]# cinder type-key silver set netapp_dedup=true [root@tkstack ~(keystone_admin)]# cinder type-key bronze set netapp_compression=true [root@tkstack ~(keystone_admin)]# cinder extra-specs-list +--------------------------------------+-----------+--------------------------------------------+ | ID | Name | extra_specs | +--------------------------------------+-----------+--------------------------------------------+ | 3f615755-fef0-46d4-b3d7-aa7d87977209 | normal | {u'storage_protocol': u'nfs'} | | 577d372e-9e6c-4468-ba8b-a4b0e11939f7 | silver | {u'netapp_dedup': u'true'} | | 9081d1c7-5812-4e94-9ce9-fc1aa9118d5b | gold | {u'netapp_mirrored': u'true'} | | f6b87b16-0a08-4270-a5f0-1707ffcd68c0 | bronze | {u'netapp_compression': u'true'} | +--------------------------------------+-----------+--------------------------------------------+

Page 20: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

確認方法

Page 21: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

確認方法

以下を実施し正しく構成できているかを確認します。実施は Horizon UI からでもコマンドラインからでもどちらでもよい。

• Type を指定して Cinder Volume を作成

• Cinder Volume のスナップショットの作成

Page 22: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Type を指定して Cinder Volume 作成

下記はコマンドで実行した例を示す。

• display-name : Volume 名

• volume-type : gold (タイプ)

• 容量は1GB で作成

[root@tkstack ~(keystone_demo)]# cinder create --display-name myGold --volume-type gold 1 +---------------------+--------------------------------------+ | Property | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | created_at | 2014-08-08T09:21:05.783889 | | display_description | None | | display_name | myGold | | encrypted | False | | id | 2355d34e-eede-4c92-b609-aa4f6d3853b8 | | metadata | {} | | size | 1 | | snapshot_id | None | | source_volid | None | | status | creating | | volume_type | gold | +---------------------+--------------------------------------+

Page 23: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Type を指定して Cinder Volume 作成

正しく作られている事を確認

• ”Status”が available となっていれば作成完了して使える状態

• この「gold」タイプ の Cinder Volume はストレージ上でミラーリングされているボリューム上に作られたもの

[root@tkstack ~(keystone_demo)]# cinder list +--------------------------------------+-----------+----------------+------+-------------+----------+-------------+ | ID | Status | Display Name | Size | Volume Type | Bootable | Attached to | +--------------------------------------+-----------+----------------+------+-------------+----------+-------------+ | 2355d34e-eede-4c92-b609-aa4f6d3853b8 | available | myGold | 1 | gold | false | | +--------------------------------------+-----------+----------------+------+-------------+----------+-------------+

[root@tkstack ~(keystone_demo)]# df -h /var/lib/cinder/mnt/7a2ad54f8ce5ac4c4f092e6cb1f1b39b Filesystem Size Used Avail Use% Mounted on 10.130.208.55:/vol4_mirrored 50G 896K 50G 1% /var/lib/cinder/mnt/7a2ad54f8ce5ac4c4f092e6cb1f1b39b [root@tkstack ~(keystone_demo)]# ls -lR /var/lib/cinder/mnt # (略) /var/lib/cinder/mnt/7a2ad54f8ce5ac4c4f092e6cb1f1b39b: total 0 -rw-rw-rw- 1 nobody nobody 1.0G Aug 2 23:42 volume-2355d34e-eede-4c92-b609-aa4f6d3853b8

Page 24: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Cinder Volume のスナップショットの作成

• Cinder Volume のスナップショット作成を実行した場合、NetApp Unified Driver により clustered Data ONTAP で FlexClone が働きファイルが作成される

• /var/lib/cinder/mnt 以下の該当のボリュームが存在する場所に保存される

• Cinder の volume.log には NetApp Unified Driver が使用された旨表示される(これは Cinder Volume 作成時にも出力される)

2014-09-01 10:09:31.087 25163 INFO cinder.volume.drivers.netapp.ssc_utils [-] Running stale ssc refresh job for server: 10.130.202.180 and vserver demo-nfs-svm 2014-09-01 10:09:31.450 25163 INFO cinder.volume.drivers.netapp.ssc_utils [-] Successfully completed stale refresh job for server: 10.130.202.180 and vserver demo-nfs-svm

Page 25: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Cinder Volume のスナップショットの作成

• Clustered Data ONTAP のコンソールから diag 権限、systemshell でクラスタノードにログインして下記のログを確認することにより、FlexClone が動作したことを確認可能

kuramochi-cdot-01% tail –f /mroot/etc/log/mlog/command-history.log 0000007f.00159fc7 01a5fc8f Mon Sep 01 2014 08:10:08 +00:00 [kern_command-history:info:958] ontapi :: 10.130.205.95 :: openstack :: <netapp xmlns="http://www.netapp.com/filer/admin" version="1.21" vfiler="demo-nfs-svm"><clone-create> <volume>vol2_dedup</volume><destination-path>snapshot-0b650160-b933-45e8-a67c-c589d590ebb4</destination-path><source-path> volume-4df54053-1e01-4e4c-bf32-392711577375</source-path></clone-create></netapp> :: Pending 0000007f.00159fc9 01a5fc8f Mon Sep 01 2014 08:10:08 +00:00 [kern_command-history:info:958] ontapi :: 10.130.205.95 :: openstack :: clone-create :: Success

Page 26: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

参考情報

• OpenStack Deployment and Operations Guide

– http://netapp.github.io/openstack-deploy-ops-guide/

• OpenStack Documentation

– http://docs.openstack.org/

• OpenStack@NetApp

– http://netapp.github.io/openstack/

• NetApp Community – OpenStack Discussions

– http://community.netapp.com/t5/OpenStack-Discussions/bd-p/openstack-discussions

Page 27: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

Cinder の設定(iSCSI)

[DEFAULT]

# 中略

enabled_backends=cdot-iscsi

[cdot-nfs]

volume_backend_name=cdot-nfs

volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver

netapp_server_hostname=10.130.202.180 #・・・・cluster management lif のアドレス

netapp_server_port=80

netapp_storage_protocol=iscsi

netapp_storage_family=ontap_cluster

netapp_login=openstack #・・・ロールとして新たに作ったAPI用のユーザ

netapp_password=netapp123 #・・・ロールとして新たに作ったAPI用のユーザのパスワード

netapp_vserver=demo-iscsi-svm #・・・対象のSVM

/etc/cinder.conf

Page 28: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

予定

• Vol.002

– NFS Copy Offload Client の特徴と設定

• Vol.003

– “Glance , Nova” + Cinder での特徴

• Vol.00X (未定)

– Manila

– E-Series

Page 29: OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001

おしまい