Mais conteúdo relacionado
Semelhante a OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001 (20)
Mais de Takeshi Kuramochi (9)
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
- 1. How to use
The NetApp Unified Driver
For OpenStack
Vol.001
2014/10/17
Takeshi Kuramochi
- 2. 自己紹介
•倉持健史(くらもち たけし)
•現在のお仕事
フラッシュメモリ技術
BigData(Hadoop ディストリと組み合わせ)
OpenStack(+NetApp インテグレーション)
SNIA日本支部 教育委員会 副委員長
•他への興味
データ分析・・・R、RStudo を使い始めた
囲碁・・・まだ 9路盤 の域を出ない超初心者
ゴルフ・・・とりあえずスタートは 160
Python・・・シンプルでいいと思い始めた
SoC・・・ラズパイと Cubieboard がゴロゴロしてる
- 3. はじめに
•本文書は、OpenStack に関わる技術者向けになっています。
•各 OpenStack プロジェクトをコードネームで表記しています。
•コミュニティのドキュメントやベンダー提供のガイドも存在するが もっとわかりやすくステップを踏まえて作成出来る流れにしていま す。
•本書では Linux ディストリビューションは Fedora 20 を使用して います。また、OpenStack のリリースは RDO Icehouse Release -4 を使用しています。
•Linux および OpenStack のオペレーションが含まれますが、個々 の詳細な解説はされておりません。
•NetApp のオペレーションが含まれますが、詳細な解説はされてお りません。
- 4. 目次
1.NetApp Unified Driver ってなに?
2.NetApp Unified Driver を使うと何がいい?
3.事前準備と前提、本書の構成
4.設定方法
5.確認方法
6.参考情報
7.予定
- 6. NetApp Unified Driver
•Cinder のバックエンドストレージとしてNetAppストレージ を使うためのドライバ
•コミュニティに提供されており、だれでも使える
•以下の NetApp ストレージOSに対応
–Data ONTAP 7-Mode
–Clustered Data ONTAP(本書はこちらを前提)
–E-Series
•NetApp Unified Driver と組み合わせた NFS Copy Offload Client のツールも存在するがそれは次回で解説
- 8. NetApp Unified Driver を使うと・・・
•Cinder Volume に対して多くの付加価値をつけることができる
–重複排除や圧縮処理が施されるボリューム
–データミラーされているボリューム
–QoS(性能制限)がかけられているボリューム
–アーカイブ専用なボリューム
–高速を求めるボリューム
•ストレージが得意な処理をホストのリソースを使うことなく、つま り負荷をかけずに、且つユーザに透過的に行える
–ボリュームのコピー、スナップショットやクローニングをストレージ 上で負荷軽減およびリソース無駄を排除
もともと NetApp Data ONTAP のコア技術 Snapshot は負荷をかけずにスナップショッ トを取ることができる
- 10. 事前準備と前提
•OpenStack のプラットフォーム
–少なくとも Keystone , Nova , Neutron , Glance , Cinder , Horizon が構成済みである事
–マルチノード、オールインワンどちらの構成でも可能
•NetApp FAS シリーズの物理配置と結線等完了済みであ る事
•Clustered Data ONTAP の初期セットアップ済み
- 11. 本書の環境
•OpenStack はオールインワン構成
–Fedora 20
–RDO Icehouse Release -4
•NetApp clustered Data ONTAP 8.2.1 使用
•ざっくり概略図
OpenStack Platform
Clustered Data ONTAP
Internet
- 13. 設定方法
以下2点の設定を行う。
•Clustered Data ONTAP 側設定
–NFS 設定(iSCSI 用は参考につける)
–API アクセスロール作成
•Cinder の設定
–cinder.conf の設定
–Type , Extra-specs の設定
- 14. 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
- 15. 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 <ロール名>
- 16. 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 が稼働しているホスト)
<例>
- 17. 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
- 18. 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 | +--------------------------------------+-----------+
- 19. 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'} |
+--------------------------------------+-----------+--------------------------------------------+
- 22. 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 |
+---------------------+--------------------------------------+
- 23. 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
- 24. 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
- 25. 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
- 26. 参考情報
•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
- 27. 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
- 28. 予定
•Vol.002
–NFS Copy Offload Client の特徴と設定
•Vol.003
–“Glance , Nova” + Cinder での特徴
•Vol.00X (未定)
–Manila
–E-Series