(先ほど書いた記事が誤操作で消えてしまいました。「下書きに戻す」をうっかり押して記事が消失w)
OpenStack KiloでNova Computeを2台にしてライブマイグレーションしようとしたらできなくて、結果Fedora 21のlibvirtのバージョンが古いため、共有ストレージなしのライブマイグレーションができなかっただけという問題だったという話でした。
Fedora 22のlibvirtのソースをダウンロードしてFedora 21でビルドし、インストールしたところFedora 21でFedora 22と同一のlibvirt 1.2.13.1が動いたので、OpenStack Nova Computeノードのlibvirtを上書き更新したらライブマイグレーションがうまくいきました。聞いた話ではライブマイグレーションではないマイグレーションはまた別の設定が必要なんだそうです。とりあえずライブマイグレーションがうまくいくならそれでいいでしょう。
ちなみに参考にしたサイトは次のサイトです。
- http://docs.openstack.org/admin-guide-cloud/content/section_configuring-compute-migrations.html
- http://transparent-to-radiation.blogspot.jp/2014/09/openstacklive-migration.html
手順は次の通り。
- ディストリビューションによっては最新版のlibvirtにアップグレード
- /etc/hostsにComputeノードを書く
- 各Computeノードのnova.confに追記
live_migration_uri=qemu+tcp://%s/system
live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,
VIR_MIGRATE_LIVE,VIR_MIGRATE_TUNNELLED
block_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,
VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED,VIR_MIGRATE_NON_SHARED_INC
※見やすいように改行を入れています。
- Computeサービスを再起動
# systemctl restart openstack-nova-compute.service
- コンピュート間をホスト名でSSHログインしておく
これでOKです。あとはOpenStack Dashboardからライブマイグレーションを実行すればうまくいきます。
Fedora 21のlibvirt 1.2.13.1は参考までにこちらに置いておきます。あくまでテスト用として使ってください。