LoginSignup
4
4

More than 5 years have passed since last update.

KVMホスト名を変更するとnovaがVMをすべてundefineすることの対処

Posted at

ホスト名を変更すると嘘みたいに全部消えます。(http://osdir.com/ml/openstack-dev/2015-02/msg02240.html)

# virsh list --all
Id    Name                           State
----------------------------------------------------

空!何か理由があるんだとは思うが、あまりに強力な手法すぎやせんか…。Novaから見えるVMの状態もACTIVEのまま、更新されていない様子。

undefineされるだけでディスクイメージは/var/libに残っているのでまずは落ち着く。どうせVMはシャットダウン状態だし、いまさら慌ててもしょうがないよねうんしょうがない。ホスト障害みたいなもんだよ。

まず古いホスト名を持つVMを探して作業対象を洗い出す。

$ nova list --host old-host
+--------------------------------------+-----------------------------------------+--------+--------------+-------------+---------------------------------+
| ID                                   | Name                                    | Status | Task State   | Power State | Networks                        |
+--------------------------------------+-----------------------------------------+--------+--------------+-------------+---------------------------------+
...snip...

MySQLに入ってメタデータを直接編集する。

UPDATE instances SET
host = 'new-host',
launched_on = 'new-host',
node = 'new-host'
WHERE uuid IN (
  '1a3c18e3-104e-48e2-a817-cbb5f1c7cfe9',
  '3a7ccd6f-4f25-45e1-9160-1a271d32ff53',
  'a657d7f1-e0f5-4a34-8f4b-bd683bea14db',
  '36e45292-d2cf-466f-9f0b-4b344bdb539b',
  'ad0bf0a6-4bef-4c19-8aa7-ff400796581e',
  'c1ad367c-43fc-4967-8827-c50db2e064c1',
  '4b323cc6-6aaf-45f3-aed4-2d1e1d2ff826',
  'ffb0b8e1-a8ac-44cc-996d-6bb0262b8019'
);

うおおおおUPDATEこえぇぇぇぇぇ!3回ぐらい同じIN句でSELECT打ちましたね。

undefineされているのでdefineしなおし

virsh define --file /var/lib/nova/instances/1a3c18e3-104e-48e2-a817-cbb5f1c7cfe9/libvirt.xml

VMのstateを再設定する

nova reset-state --active 1a3c18e3-104e-48e2-a817-cbb5f1c7cfe9

起動する

nova reboot 1a3c18e3-104e-48e2-a817-cbb5f1c7cfe9

状態によっては代わりにnova startする必要があるかもしれない。

まとめると、

  • AMQPのキュー名にホスト名が含まれているので、ホスト名が変わると違うキューを見にいってしまう
  • ホスト名を変更するとそのホストのdomainは全部undefineされる
  • 落ち着けデータは消えていない。素数を数えろ。

NeutronポートやCinderボリュームの紐付けも問題なかった。ホスト名を変更しただけなので、紐付けは壊れなかったようだ。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4