LoginSignup
0
0

More than 5 years have passed since last update.

Openstack - Nova Host-Evacuate with Shared Storage

Last updated at Posted at 2015-12-14

What's this?

Nova instance が稼働している compute node が障害停止した際に、全ての Nova instance を別の compute node 上に復旧(=退避)

  • Nova instance を停止せずリアルタイムに別の compute node に移動する機能ではない
  • あくまで shared storage 上のデータを使用して、別の compute node で起動し直す機能

[条件]

  • Shared storage あり
  • Nova instance の全データは Shared storage にある
  • 追加 Volume としての Cinder 未使用
  • Hypervisor は KVM

Initial state

Compute node

# nova service-list | egrep "Host|nova-compute"
| Binary           | Host    | Zone     | Status  | State | Updated_at                 | Disabled Reason |
| nova-compute     | node-27 | nova     | enabled | up    | 2015-03-23T03:06:42.000000 | -               |
| nova-compute     | node-28 | nova     | enabled | up    | 2015-03-23T03:06:51.000000 | -               |
| nova-compute     | node-31 | nova2    | enabled | up    | 2015-03-23T03:06:45.000000 | None            |

AZ

# nova availability-zone-list | egrep -A 10 "^\| nova"
| nova                     | available                              |
| |- node-27               |                                        |
| | |- nova-compute        | enabled :-) 2015-03-23T03:07:02.000000 |
| |- node-28               |                                        |
| | |- nova-compute        | enabled :-) 2015-03-23T03:07:01.000000 |
| nova2                    | available                              |
| |- node-31               |                                        |
| | |- nova-compute        | enabled :-) 2015-03-23T03:06:55.000000 |
+--------------------------+----------------------------------------+

Two Nova instances are running on node-28

# nova list --field name,status,OS-EXT-STS:vm_state,OS-EXT-AZ:availability_zone,OS-EXT-SRV-ATTR:hypervisor_hostname
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+
| ID                                   | Name       | Status | OS-EXT-STS: Vm State | OS-EXT-AZ: Availability Zone | OS-EXT-SRV-ATTR: Hypervisor Hostname |
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+
| a91a7ca7-416b-41be-9d18-8287f3f882b2 | admin_vm01 | ACTIVE | active               | nova                         | node-28                              |
| 14f74d4a-6d51-4b2a-b05e-5aaff0863b63 | admin_vm02 | ACTIVE | active               | nova                         | node-28                              |
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+

Stop nova-compute service of node-28

Stop nova-compute service

# service openstack-nova-compute stop

# nova service-list | egrep "Host|nova-compute"
| Binary           | Host    | Zone     | Status  | State | Updated_at                 | Disabled Reason |
| nova-compute     | node-27 | nova     | enabled | up    | 2015-03-23T04:11:52.000000 | -               |
| nova-compute     | node-28 | nova     | enabled | down  | 2015-03-23T04:10:51.000000 | -               |
| nova-compute     | node-31 | nova2    | enabled | up    | 2015-03-23T04:11:45.000000 | None            |

AZ

# nova availability-zone-list | egrep -A 10 "^\| nova"
| nova                     | available                              |
| |- node-27               |                                        |
| | |- nova-compute        | enabled :-) 2015-03-23T04:11:52.000000 |
| |- node-28               |                                        |
| | |- nova-compute        | enabled XXX 2015-03-23T04:10:51.000000 |
| nova2                    | available                              |
| |- node-31               |                                        |
| | |- nova-compute        | enabled :-) 2015-03-23T04:11:55.000000 |
+--------------------------+----------------------------------------+

Evacuate

Execute host-evacuate

Evacuate all Nova instances from node-28(inactive) to node-27(active)

# nova host-evacuate --target_host node-27 --on-shared-storage node-28
+--------------------------------------+-------------------+---------------+
| Server UUID                          | Evacuate Accepted | Error Message |
+--------------------------------------+-------------------+---------------+
| a91a7ca7-416b-41be-9d18-8287f3f882b2 | True              |               |
| 14f74d4a-6d51-4b2a-b05e-5aaff0863b63 | True              |               |
+--------------------------------------+-------------------+---------------+

Check the evacuate result

Two Nova instances are running on node-27 by using the previous data stored in shared storage

# nova list --field name,status,OS-EXT-STS:vm_state,OS-EXT-AZ:availability_zone,OS-EXT-SRV-ATTR:hypervisor_hostname
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+
| ID                                   | Name       | Status | OS-EXT-STS: Vm State | OS-EXT-AZ: Availability Zone | OS-EXT-SRV-ATTR: Hypervisor Hostname |
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+
| a91a7ca7-416b-41be-9d18-8287f3f882b2 | admin_vm01 | ACTIVE | active               | nova                         | node-27                              |
| 14f74d4a-6d51-4b2a-b05e-5aaff0863b63 | admin_vm02 | ACTIVE | active               | nova                         | node-27                              |
+--------------------------------------+------------+--------+----------------------+------------------------------+--------------------------------------+

Environment

  • Openstack : Juno
  • Ceph : Firefly

Reference

Openstack - Nova Evacuate with Shared Storage
Openstack - Nova Evacuate with Shared Storage with Cinder
Openstack - Nova Evacuate with Shared Storage with Cinder between AZ
Openstack - Nova Evacuate without Shared Storage
Openstack - Nova Host-Evacuate with Shared Storage
Openstack - Nova Host-Evacuate with Shared Storage between AZ

0
0
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
0
0