2015年4月25日土曜日

OpenStackのDHCPレンジ拡張

■目的
 ある日OpenStack環境でVMを作成しようとしたところエラーで作成出来なかった。
調べてみるとNetworkで払い出せるアドレスの上限に達していたのでアドレスレンジを拡張する。

■前提
・OpenStack ver:juno

■内容
①まずはVMが作れないエラー調査

コンピュートノードで

tail -f /var/log/nova/nova-compute.log 
しながらVM作成を実行。
エラーになるが以下のようなログが出た。
nova-compute 2015-04-23 19:30:05.549 10981 WARNING nova.network.neutronv2.api [-] [instance: 24cbdf14-c745-46c9-921a-31a71729555d] Neutron error: No more fixed IPs in network: dc1ca486-c896-47ef-a3c5-6fa89a0b4654

nova-compute 2015-04-23 19:30:05.550 10981 ERROR nova.compute.manager [-] Instance failed network setup after 1 attempt(s)

No more fixed IPs in network:
ということでアドレスが枯渇している見たい。

②コントローラーノードで
[root@juno-controller01 ~]# . keystonerc_admin

[root@juno-controller01 ~(os_admin)]$
keystonerc_adminを読み込んでから

まずはneutron subnet-listでdhcpレンジを見てみる

[root@nfv-juno-controller01 ~(os_admin)]$ neutron subnet-list
+--------------------------------------+------+------------------+--------------------------------------------------------+
| id                                   | name | cidr             | allocation_pools                                       |
+--------------------------------------+------+------------------+--------------------------------------------------------+
| 0e7ebceb-758e-47aa-a1e8-65fe7bfc9404 |      | 192.168.210.0/24 | {"start": "192.168.210.1", "end": "192.168.210.253"}   |
| 201b876b-1d50-4b79-aeef-a04d8c0ffe48 |      | 192.168.205.0/24 | {"start": "192.168.205.1", "end": "192.168.205.253"}   |
| 247f6bf3-32f9-43ee-8dab-0620bb75e3e2 |      | 192.168.220.0/24 | {"start": "192.168.220.1", "end": "192.168.220.253"}   |
| 51148210-a9a3-46b6-a9d0-f9f496a5fdaa |      | 192.168.208.0/24 | {"start": "192.168.208.1", "end": "192.168.208.253"}   |
| 67b66355-7b26-447b-8e08-820ab5ee18f1 |      | 192.168.204.0/24 | {"start": "192.168.204.1", "end": "192.168.204.253"}   |
| 6b3cf7aa-c831-428d-a866-7373e0d63f71 |      | 192.168.255.0/24 | {"start": "192.168.255.151", "end": "192.168.255.170"} |
+--------------------------------------+------+------------------+--------------------------------------------------------+

192.168.255.0/24だけレンジが少ないのでこれを拡張する。
第4オクテット.181~200までを追加する。

しかしsubnet-updateのコマンド書式が分からないのでまずはヘルプ
[root@nfv-juno-controller01 ~(os_admin)]$ neutron help subnet-update
usage: neutron subnet-update [-h] [--request-format {json,xml}] [--name NAME]
                             [--gateway GATEWAY_IP] [--no-gateway]
                             [--allocation-pool start=IP_ADDR,end=IP_ADDR]
                             [--host-route destination=CIDR,nexthop=IP_ADDR]
                             [--dns-nameserver DNS_NAMESERVER]
                             [--disable-dhcp] [--enable-dhcp]
                             [--ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}]
                             [--ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}]
                             SUBNET

Update subnet's information.

・・・

③以下の書式でコマンド実行してみる。
既存のアドレス分も記載して実行する
[root@nfv-juno-controller01 ~(os_admin)]$ neutron subnet-update --allocation-pool start=192.168.255.151,end=192.168.255.170 --allocation-pool start=192.168.255.181,end=192.168.255.200 6b3cf7aa-c831-428d-a866-7373e0d63f71

Updated subnet: 6b3cf7aa-c831-428d-a866-7373e0d63f71


もう一度見てみると
[root@nfv-juno-controller01 ~(os_admin)]$ neutron subnet-list
+--------------------------------------+------+------------------+--------------------------------------------------------+
| id                                   | name | cidr             | allocation_pools                                       |
+--------------------------------------+------+------------------+--------------------------------------------------------+
| 0e7ebceb-758e-47aa-a1e8-65fe7bfc9404 |      | 192.168.210.0/24 | {"start": "192.168.210.1", "end": "192.168.210.253"}   |
| 201b876b-1d50-4b79-aeef-a04d8c0ffe48 |      | 192.168.205.0/24 | {"start": "192.168.205.1", "end": "192.168.205.253"}   |
| 247f6bf3-32f9-43ee-8dab-0620bb75e3e2 |      | 192.168.220.0/24 | {"start": "192.168.220.1", "end": "192.168.220.253"}   |
| 51148210-a9a3-46b6-a9d0-f9f496a5fdaa |      | 192.168.208.0/24 | {"start": "192.168.208.1", "end": "192.168.208.253"}   |
| 67b66355-7b26-447b-8e08-820ab5ee18f1 |      | 192.168.204.0/24 | {"start": "192.168.204.1", "end": "192.168.204.253"}   |
| 6b3cf7aa-c831-428d-a866-7373e0d63f71 |      | 192.168.255.0/24 | {"start": "192.168.255.181", "end": "192.168.255.200"} |
|                                      |      |                  | {"start": "192.168.255.151", "end": "192.168.255.170"} |
+--------------------------------------+------+------------------+--------------------------------------------------------+
[root@nfv-juno-controller01 ~(os_admin)]$

192.168.255の.181~200が増えている。

■終わり
この状態で新規VM作成したところ問題なく作成できた。
最初はHDDが枯渇したのかと思ったがすんなり解決できてよかった。

私の体験が誰かの生産性向上に役立っていただけることを祈って

0 件のコメント:

コメントを投稿