Computeノードのhostnameを変更する @ keruru | 2018-08-14T22:41:20+09:00 | 4 分で読めます | 更新日時 2018-08-14T22:41:20+09:00

お仕事でのこと、Multi node構成のOpenStack環境を構築後に一部compute nodeのhostnameが間違っている事が判明しました。なるほど、そんな事もあるよねぇ……なんて思いつつ、はてどうやって対処したら良いのかちょっと興味が湧きました。お仕事ではどう対処したんですかって?…それは秘密です(まだ決めてない)

ちょっと興味が湧いたのでMulti node環境を構築して試してみる事にしました。multi-node環境を構築するのは OpenStackクラウドインテグレーション の書籍で紹介されているOpenStackユーザー会が作成したscriptを用いるのが簡単です。本書で紹介されているgithubのリソースはちょっと古くて動かない事もあり、独自に forkして修正したリポジトリ を利用して構築します。 このscriptを用いて構築した場合は次のような構成になります。

stack01 : controller node + compute node

stack02 : compute node + cinder volume

stack03 : compute node + cinder volume

書籍の手順通りに構築し終わった所でcompute node (stack03) のホスト名をstack04へ変更してみました。

# hostnamectl set-hostname stack04

この状態でまずはcontroller nodeで変更されるか確認してみます。様々な確認方法があるかと思いますが、ここではhypervisor listを見てみる事にしました。

[email protected]:~/devstack$ openstack hypervisor list
+----+---------------------+-----------------+----------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP        | State |
+----+---------------------+-----------------+----------------+-------+
|  1 | stack01             | QEMU            | 192.168.100.10 | up    |
|  2 | stack02             | QEMU            | 192.168.100.11 | up    |
|  3 | stack03             | QEMU            | 192.168.100.12 | up    |
+----+---------------------+-----------------+----------------+-------+

この状態ではまだ適用されていません。nova-computeが起動する際に情報をcontrollerへ送るのでstack04のcompute node側でnova-computeサービスをrestartしてあげる必要があります。restartの方法はHUPを送るでも良いのでしょうけれども、まだscreenを有効にしているDevStackなので、screenを開いてn-cpu のタブでCtrl+cを送信しプロセスを終了、!! にて再起動してあげればOKです。この状態でまたcontroller nodeで確認をしてみました。

[email protected]:~/devstack$ openstack hypervisor list
+----+---------------------+-----------------+----------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP        | State |
+----+---------------------+-----------------+----------------+-------+
|  1 | stack01             | QEMU            | 192.168.100.10 | up    |
|  2 | stack02             | QEMU            | 192.168.100.11 | up    |
|  3 | stack03             | QEMU            | 192.168.100.12 | up    |
|  4 | stack04             | QEMU            | 192.168.100.12 | up    |
+----+---------------------+-----------------+----------------+-------+
[email protected]:~/devstack$
[email protected]:~/devstack$ openstack hypervisor list
+----+---------------------+-----------------+----------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP        | State |
+----+---------------------+-----------------+----------------+-------+
|  1 | stack01             | QEMU            | 192.168.100.10 | up    |
|  2 | stack02             | QEMU            | 192.168.100.11 | up    |
|  3 | stack03             | QEMU            | 192.168.100.12 | down  |
|  4 | stack04             | QEMU            | 192.168.100.12 | up    |
+----+---------------------+-----------------+----------------+-------+
[email protected]:~/devstack$ 

しばらくはstack03とstack04の両方がup Stateでしたが、暫くするとstack03がdown Stateに変更されました。

今回はnovaについてのみ記載しましたが様々なサービスがあるかと思いますので、ホスト名を変更した後はそれぞれのサービスを再開させるか、再起動して適用してしまえば良いかな、と思います。

はてさて、ゴミとして残ったstack03のdown Stateはどうしたら良いでしょう。様々OpenStackコマンドを探しましたが、これを削除するコマンドは特に無いようです。現状SQLデータベースを削除するしかないのかなぁ……

もしお詳しい方がいらっしゃいましたらコメント頂けると幸いです。

【2018/08/16 追記】

会社のSlackで相談してみたらプロにアドバイス頂きました。

openstack compute service delete で行けるはず

と言う事で早速試してみましょう。まずは ドキュメントの確認 です。

compute service delete

Delete compute service(s)

Compute service(s) to delete (ID only)

なるほどなるほど。指定できるのはID onlyとの事なのでIDを調べる必要がありますのでまずはlistコマンドで確認します。

[email protected]:~/devstack$ openstack compute service list
+----+------------------+---------+----------+---------+-------+----------------------------+
| ID | Binary           | Host    | Zone     | Status  | State | Updated At                 |
+----+------------------+---------+----------+---------+-------+----------------------------+
|  4 | nova-conductor   | stack01 | internal | enabled | up    | 2018-08-16T03:47:14.000000 |
|  6 | nova-scheduler   | stack01 | internal | enabled | up    | 2018-08-16T03:47:13.000000 |
|  7 | nova-consoleauth | stack01 | internal | enabled | up    | 2018-08-16T03:47:14.000000 |
|  8 | nova-compute     | stack01 | nova     | enabled | up    | 2018-08-16T03:47:07.000000 |
|  9 | nova-compute     | stack02 | az1      | enabled | up    | 2018-08-16T03:47:14.000000 |
| 10 | nova-compute     | stack03 | az2      | enabled | down  | 2018-08-14T06:24:01.000000 |
| 11 | nova-compute     | stack04 | nova     | enabled | up    | 2018-08-16T03:47:05.000000 |
+----+------------------+---------+----------+---------+-------+----------------------------+
[email protected]:~/devstack$ 

これで消したい情報がID 10であると確認できましたので、deleteで削除して再度listで確認してみましょう。

[email protected]:~/devstack$ openstack compute service delete 10
[email protected]:~/devstack$ 
[email protected]:~/devstack$ openstack compute service list
+----+------------------+---------+----------+---------+-------+----------------------------+
| ID | Binary           | Host    | Zone     | Status  | State | Updated At                 |
+----+------------------+---------+----------+---------+-------+----------------------------+
|  4 | nova-conductor   | stack01 | internal | enabled | up    | 2018-08-16T03:48:04.000000 |
|  6 | nova-scheduler   | stack01 | internal | enabled | up    | 2018-08-16T03:48:03.000000 |
|  7 | nova-consoleauth | stack01 | internal | enabled | up    | 2018-08-16T03:48:04.000000 |
|  8 | nova-compute     | stack01 | nova     | enabled | up    | 2018-08-16T03:48:07.000000 |
|  9 | nova-compute     | stack02 | az1      | enabled | up    | 2018-08-16T03:48:04.000000 |
| 11 | nova-compute     | stack04 | nova     | enabled | up    | 2018-08-16T03:48:05.000000 |
+----+------------------+---------+----------+---------+-------+----------------------------+
[email protected]:~/devstack$ 

ばっちり消えました!では最後にhypervisor listで確認してみます。

[email protected]:~/devstack$ openstack hypervisor list
+----+---------------------+-----------------+----------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP        | State |
+----+---------------------+-----------------+----------------+-------+
|  1 | stack01             | QEMU            | 192.168.100.10 | up    |
|  2 | stack02             | QEMU            | 192.168.100.11 | up    |
|  4 | stack04             | QEMU            | 192.168.100.12 | up    |
+----+---------------------+-----------------+----------------+-------+
[email protected]:~/devstack$ 

バッチリ期待通りの動作になっています。素晴らしい。今回はnova(compute)サービスに特化しましたが、他のサービスではどうするかなど一度ちゃんと理解しておく必要がありますね。


© 2006 - 2021 Keruruのブログ

Powered by Hugo with theme Dream.

avatar
About Me

ペンネーム/Nick

けるる etc

お仕事

テクニカルライティング/システムエンジニア/ネットワークエンジニア

愛用中のPC
  • NEC LAVIE ProMobile
  • SAMSUNG Chromebook Pro
  • Surface Pro 4
  • ThinkPad T440s
  • GPD Pocket
愛用中のPDA/SmartPhone
  • iPhoneSE 2nd(MAIN/docomo)
  • Unihertz TiTAN(SUB/docomo/SIM FREE)
  • OPPO Reno-A(SUB/rakuten/SIM FREE)
  • iPad Pro 11inch(SUB/docomo/SIM FREE)
愛車
  • MITSUBISHI PAJERO mini ‘2012
  • HONDA CRF250RALLY ‘2018
  • MERIDA SCULTURA4000 ‘2015
  • Carry-Me ‘2016
  • GIOS PANTO ‘2007
  • R&M BD-1 ‘2006
旅の記録2020
行き先など 北海道 海外
2020 12 鬼怒川温泉旅行
2021 02 箱根温泉旅行
旅の記録2010
行き先など 北海道 海外
2010 05 函館観光旅行
2010 09 みなかみ温泉旅行
2011 09 Gios Pantoで自転車旅(札幌・夕張・帯広界隈)
2012 03 パジェミ納車記念上諏訪温泉旅行
2012 08 西伊豆旅行
2012 09 東北キャンプツーリング
2012 10 新婚旅行(NYC-CFO)
2013 09 パジェミで北海道、道東漫遊+念願の旭山動物園
2014 08 三菱スターキャンプ参加
2014 09 台湾旅行(台湾新幹線で高雄にも)
2015 03 九州旅行(うきは旅行)
2015 09 香港旅行
2016 09 北海道ツーリング
2016 09 上諏訪旅行
2017 09 台湾旅行(現地集合現地解散)
2018 05 鹿児島・熊本旅行
2018 09 タイ・チェンマイ旅行
2019 01 高知ツーリング
2019 05 沖縄弾丸旅行
2019 05 別府弾丸旅行
2019 09 ハワイ旅行(まったりホノルルAB&B)
旅の記録2000
行き先など 北海道 海外
2000 08 夏休みで北海道帰省
2001 06 漫画家さん妙高ツーリング
2001 09 RVF400で稚内・網走・釧路・富良野・夕張(初バイク)
2002 07 夏のフーリツーリング
2002 07 CBR954RRで森・函館・稚内・網走・根室・富良野・夕張
2002 09 乗鞍岳ツーリング
2003 09 自転車で北海道(ただし札幌出たあたりで挫折)
2004 09 DJEBEL200で2002年と同じコース
2005 09 DJEBEL200にタンデムで夕張・帯広・士幌・網走・稚内と逆回り
2006 07 大阪観劇の旅(中央線をひたすら乗っていった貧乏旅行)
2007 09 XT660Rでえりも辺りでひたすら道東だけを堪能した北海道ツーリング
2008 08 四国鉄道旅行(サンライズゆめで四国入り、四国内はひたすら鈍行旅
2009 09 台湾旅行(初海外旅行)
2009 09 鈴鹿エンデューロにミニベロで参戦旅行
(C)Keruru. All Rights Reserved