Openstack node maintenance explained in detail

  • 2020-05-27 07:39:22
  • OfStack

OpenStack profile

OpenStack is an open source implementation of IaaS, which consists of a number of interrelated sub-projects, mainly including computing, storage, and networking. Since the launch of the Apache program in 2010, more than 200 companies have joined the OpenStack program, including AT & T, AMD, Cisco, Dell, IBM, Intel, Red Hat, etc. More than 17,000 developers from 139 countries are currently involved in the OpenStack project, and the number is growing.

OpenStack is compatible with part 1 of the AWS interface, and also provides an OpenStack style interface (RESTFul API) for greater functionality. Compared to other open source IaaS implementations, it is architecturally loosely coupled, highly scalable, distributed, pure Python implementations, and has a friendly and active community that makes it popular. The semiannual development summit also attracts developers, vendors, and customers from around the world.

Openstack node maintenance

Motivation for maintenance

There are three main motivations for the maintenance of one Openstack node:

Hardware replacement or upgrade Reboot after security patch Software upgrade and service restart

There are generally two scenarios:

1.VM disks are stored on dfs (cephFS, glusterFS, NFS) and are easy to maintain
2.VM disks are stored on local disks and are the most difficult to maintain

Set 1 Openstack node to maintenance mode

There are already maintenance mode in the current Openstack, but only for Xen hypervisor. If you use kvm, you will see 1 500 errors:


nova host-update compute-01 --maintenance enable
ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-5667d1ff-bgha-4veq-9drb-8c6'733f1s4b)

As a workaround, you can:

1. Point the new instacnes to other locations;
2. Disable the compute node

The solution to the private cloud

Use the following command to force vm to create to the specified node, zone is nova by default:

nova boot bla bla bla --availability-zone < your-zone > : < compute-node >

The solution to the public cloud

Directly disable the node, so that scheduler will not try to run the instance on the node:

$ sudo nova-manage service disable --host= < host > --service= < service >

Thank you for reading, I hope to help you, thank you for your support of this site!


Related articles: