20130209勉強会
TRANSCRIPT
Nova次期版(Grizzlyリリース)
日本OpenStackユーザ会吉山 晃
現在開発中の OpenStack Grizzlyリリースから、Nova(IaaS 基盤)の新機能について
ご説明いたします。
OpenStack Grizzly リリース予定2013年4月4日(日本時間4月5日)
Grizzly(グリズリー)と言えば…
OpenStackのリリース名
米国の地名からOpenStackコミュニティの投票で選ばれます。
● A…Austin(テキサス州オースチン、州都)
● B…Bexar(テキサス州ベア郡)
● C…Cactus(カリフォルニア州カクタス、非営利値域)
● D…Diablo(カリフォルニア州、CDP)
● F…Folsom(カリフォルニア州サクラメント郡、都市)
● G…Grizzly Flats(カリフォルニア州エルドラド郡、CDP)
● H…Havana(イリノイ州メイソン郡、都市)
CDP:国勢調査指定地域
Grizzly Flats, California
● カリフォルニア州エルドラド郡の平原名
● 1850年にグリズリー(写真)を見かけた人がいた事から命名された
(Wikipedia より引用)
この辺り
やっぱり
2番目のリリースが「Bexar(ベア)」だったので、「クマ再び」と言えなくもない
Nova次期版の開発項目
● Nova の Blueprints に一覧あり(73項目)
– https://blueprints.launchpad.net/nova/grizzly
Nova次期版のポイント
● 拠点間連携● スケーラビリティの改善
● 物理マシンによるIaaS● ボリューム機能の改善● 仮想化ドライバ改善
拠点間連携
● Blueprint– Nova Compute Cells
● Wiki– http://wiki.openstack.org/blueprint-nova-compute-
cells
Amazon EC2 の拠点間連携モデル
● 1つの地理的な「Region」には複数の「Availability Zone」がある
● Availability Zone 間は低速・安価ネットワークで接続され、1つのAvailability Zone の障害が他に影響しないよう設計されている
– 例:EU-West-1 has EU-West-1a EU-West-1b EU-West-1c.● クライアントは Region(=EC2 エンドポイント)に接続する
● ユーザが Availability Zone を指定せずにVMを要求した場合、Region のスケジューラが Availability Zone を選択する
● ユーザがAvailability Zone を指定しして VM を要求した場合、指定された Availability Zone 上で VM が作成される
従来のNovaの拠点間連携モデル
● 1つのNova クラスタは「Zone」と呼ばれる
● Zone は、1つのNova クラスタを複数の論理グループに分割できる
– ロード·バランシング
– インスタンス配置
● Zone は API ノード、スケジューラノード、データベースとメッセージ・キューが必要
● Zone 間では何も共有されない
新しい拠点間連携モデル「Cell」
● Cell毎にメッセージキューとデータベースが用意される
● Cell間通信はプラグインドライバで行われる(現在はRPCのみ)
● Cellは木構造を持つ
– nova-api サーバは最上位だけが持ち、下位は持たない
– 複数の親Cellをサポートする
● Cellのスケジュールデータベースは子から送られた情報を持つ– 定期的なブロードキャスト– 子のデータベース更新(インスタンス更新・削除・作成失敗)時
スケーラビリティ改善
● Blueprints– no-db-compute
– no-db-messaging
– no-db-compute-manager
– no-db-virt
従来のNovaのDB
● 全 Nova サービスが DB にセッション作成
● サービス死活監視の為、nova-api を除く全 Nova サービスが定期的に DB 上の自分のサービス情報を更新
● サービス間で送信されるメッセージの大半でDBへの問い合わせが必要
● 仮にVMサーバが1000台あり、1分毎にサービス情報を更新するとなると…
1000÷60 16.6 ≒ トランザクション/秒
Grizzly での解決策
● 一番個数の多いVM ホスト管理サービス(nova-compute)は直接DBにアクセスしない
– 代わりにメッセージキュー経由でDBサービス(nova-conductor)にDB問合せを依頼
● 新しいサービス死活管理機構(servicegroup)を導入
– DB以外の死活管理機構をプラグインで実装可能● 現在はDBプラグインのみ
● ZooKeeper のプラグインを開発予定
● メッセージ上により多くの情報を載せる
物理マシンによるIaaSサービス
別セッションで中井さんが公演予定
ボリューム機能の改善
● BluePrints– Improve Block Device Handling
– Improve the booting from volume interface
– Better network volume support in the libvirt driver
– Multipath Support for iSCSI volumes
– Delete all traces of volume code from nova
ボリューム起動のオプション改善
● --image なしで起動可能に
● --volume オプション追加
● --kernel、--ramdisk オプション利用可能
● Nova API 拡張– アタッチされたボリューム情報を提供
– ボリューム起動かどうかの情報を提供
● Cinder 側の改善
– ボリューム起動用ボリューム作成時に Cinder 関連のイメージメタデータを作成
– 上記データを Cinder API 経由で取得可能に
– ブロックデバイスマッピング(BDM)を使用したボリューム起動時の上記データ利用
ブロックデバイス操作の改善
● 現在各種仮想化ドライバ毎にわざわざ実装されている swap や ephemeral ディスクの取り扱いを改善
iSCSIボリュームのパス冗長化
● dm-multipath 等を使用して、各種 iSCSI ストレージが持つマルチパス機能を利用できるようにする– 経路故障時に代替経路でサービス継続可能
– ラウンドロビン通信による性能向上
nova-volume 削除
● Cinder に移管されたボリューム管理機能を Nova から完全に削除する
– 元々 Folsom リリースで削除の話があったが、後方互換性/移行面から見送られていた
仮想化ドライバの改善
● Blueprints– Add support for SPICE graphics to libvirt drier
– VMware Compute Driver
– Add volume driver concept to xenapi driver
– Nova Compute Hyper-V driver Grizzly features
– Hyper-V Compute Driver Resize feature
– Hyper-V Config Drive V2
– Support Snapshot for IBM PowerVM Computer Driver
– Support Resize and Migrate for IBM PowerVM Compute Driver
SPICE 対応
● VNC に加え、KVM の新しいリモートデスクトッププロトコル「SPICE」に対応
– マルチディスプレイ
– 双方向オーディオ
– 動画ストリーミング
– ローカルUSB転送
– ライブマイグレーション対応
VMware ドライバ改善
● Launch OVF disk image● VNC console● Attach and Detach iSCSI volume● Guest info● Host ops● VLAN● Quantum● Cold migration● Live migration● VirtualCenter support
Hyper-V ドライバ改善
● ConfigDrive v2● Windows互換性に起因するバグ修正
● WMI iSCSI イニシエータ対応
Xen ドライバ改善
● ハードコーディングされているボリューム操作を libvirt ドライバ同様にモデル化
PowerVM ドライバ
● VM リサイズ
● VM ライブマイグレーション
● VM スナップショット
まとめ
色々強化された Nova Grizzly にご注目下さい
ご清聴ありがとうございました。