Nova次期版(Grizzlyリリース)
日本OpenStackユーザ会 吉山 晃
現在開発中の OpenStack Grizzlyリリース から、Nova(IaaS 基盤)の新機能について
ご説明いたします。
OpenStack Grizzly リリース予定 2013年4月4日(日本時間4月5日)
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 より引用) この辺りNova次期版の開発項目
● Nova の Blueprints に一覧あり(73項目)
Nova次期版のポイント
● 拠点間連携 ● スケーラビリティの改善 ● 物理マシンによるIaaS ● ボリューム機能の改善 ● 仮想化ドライバ改善拠点間連携
● Blueprint
– Nova Compute Cells
● Wiki
–
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 を要求した場合、
従来の
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
ボリューム起動のオプション改善
● --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
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 ドライバ改善
● ハードコーディングされているボリューム操作を
PowerVM ドライバ
● VM リサイズ
● VM ライブマイグレーション ● VM スナップショット