openstack에서 계산 노드 삭제

제목:
Openstack 지식을 배우는 과정에서 몇 대의 물리 서버를 배치할 수도 있지만 일부 물리 서버는 다른 용도로 사용할 수도 있다. 즉, 물리 서버가 IP나 역할 변환을 수정할 수도 있다. 그러나 이 물리 서버는 숙주 호스트(계산 노드)로서 이미 실행된 가상 머신의 실례를 포함할 수도 있다. 이런 경우 우리는 계산 노드의 폭력을 직접 제거할 수 없다(즉 네트워크를 끊는 것이다).이러한 조작은 실제 계산 노드 정보가 데이터베이스에서 제거되지 않아 새로운 가상 머신 서버를 만드는 데 기본적으로 스케줄링을 할 수 있지만 실제 계산 노드는 존재하지 않기 때문에 절차를 밟아야 한다.
1, 인스턴스 삭제
sm@controller:~$ nova list
+--------------------------------------+--------------------------------------------+---------+------------+-------------+---------------------------+
| ID                                   | Name                                       | Status  | Task State | Power State | Networks                  |
+--------------------------------------+--------------------------------------------+---------+------------+-------------+---------------------------+
| 0d9d319b-3387-4ee1-93db-d98f03c20621 | devstack_icehouse                          | SHUTOFF | -          | Shutdown    | sharednet1=192.168.12.105 |
| decf3b3b-2bc7-4bb3-af0e-ef12479778b6 | hadoop                                     | ACTIVE  | -          | Running     | sharednet1=192.168.12.125 |
| e0482e04-7c85-45cf-97a0-7ef0f0203871 | idesktop                                   | SHUTOFF | -          | Shutdown    | sharednet1=192.168.12.112 |
| 088844ae-c012-4d35-83d0-dc3a06a1ef8a | mq_ha-088844ae-c012-4d35-83d0-dc3a06a1ef8a | ACTIVE  | -          | Running     | sharednet1=192.168.12.129 |
| 0b095133-8c76-4a8c-acfd-a66948920089 | mq_ha-0b095133-8c76-4a8c-acfd-a66948920089 | ACTIVE  | -          | Running     | sharednet1=192.168.12.131 |
| 4b1c2010-3a9e-42b8-971d-86118c108f2d | mq_ha-4b1c2010-3a9e-42b8-971d-86118c108f2d | ACTIVE  | -          | Running     | sharednet1=192.168.12.130 |
| 582dddf4-5d33-4689-a946-d5958aa263d6 | ubuntu1404_server_LIWH                     | ACTIVE  | -          | Running     | sharednet1=192.168.12.143 |
| 6c16999c-e94a-4947-8489-1333d28862f8 | vm2                                        | ACTIVE  | -          | Running     | sharednet1=192.168.12.116 |
+--------------------------------------+--------------------------------------------+---------+------------+-------------+---------------------------+
sm@controller:~$ nova delete devstack_icehouse

2, nova-compute 제거
모든 nova 서비스 조회
sm@controller:~$ nova service-list
+------------------+------------+----------+----------+-------+----------------------------+------------------------------------+
| Binary           | Host       | Zone     | Status   | State | Updated_at                 | Disabled Reason                    |
+------------------+------------+----------+----------+-------+----------------------------+------------------------------------+
| nova-cert        | controller | internal | enabled  | up    | 2016-01-08T03:01:20.000000 | -                                  |
| nova-consoleauth | controller | internal | enabled  | up    | 2016-01-08T03:01:27.000000 | -                                  |
| nova-scheduler   | controller | internal | enabled  | up    | 2016-01-08T03:01:28.000000 | -                                  |
| nova-conductor   | controller | internal | enabled  | up    | 2016-01-08T03:01:24.000000 | -                                  |
| nova-compute     | compute    | nova     | enabled  | up    | 2016-01-08T03:01:20.000000 | None                               |
| nova-compute     | network    | nova     | enabled  | up    | 2016-01-08T03:01:29.000000 | None                               |
| nova-compute     | compute2   | nova     | disabled | down  | 2016-01-07T07:37:07.000000 | AUTO: Failed to connect to libvirt |
+------------------+------------+----------+----------+-------+----------------------------+------------------------------------+

nova-compute 삭제
J 버전 이상에서 nova 서비스-delete compute2 직접 삭제
Juno 이전 버전은 nova Service-disable 사용 가능
nova 서비스-disable compute2 실행 nova-compute
root@controller:~# nova service-disable compute2 nova-compute
+----------+--------------+----------+
| Host     | Binary       | Status   |
+----------+--------------+----------+
| compute2 | nova-compute | disabled |
+----------+--------------+----------+
root@controller:~# nova service-list
+------------------+------------+----------+----------+-------+----------------------------+-----------------+
| Binary           | Host       | Zone     | Status   | State | Updated_at                 | Disabled Reason |
+------------------+------------+----------+----------+-------+----------------------------+-----------------+
| nova-cert        | controller | internal | enabled  | up    | 2016-01-13T03:17:46.000000 | -               |
| nova-consoleauth | controller | internal | enabled  | up    | 2016-01-13T03:17:39.000000 | -               |
| nova-scheduler   | controller | internal | enabled  | up    | 2016-01-13T03:17:42.000000 | -               |
| nova-conductor   | controller | internal | enabled  | up    | 2016-01-13T03:17:42.000000 | -               |
| nova-compute     | compute    | nova     | enabled  | up    | 2016-01-13T03:17:47.000000 | None            |
| nova-compute     | network    | nova     | enabled  | up    | 2016-01-13T03:17:39.000000 | None            |
| nova-compute     | compute2   | nova     | disabled | up    | 2016-01-13T03:17:41.000000 | -               |
+------------------+------------+----------+----------+-------+----------------------------+-----------------+

3. nova 데이터베이스에 로그인하여 다음과 같은 데이터를 정리한다.
mysql -unovadbadmin -pnovapasswd
select * from nova.services;
select * from compute_nodes
delete from nova.services where host="compute2";
delete from compute_nodes where hypervisor_hostname="compute";

4, 컴퓨터를 끄고 제거2

좋은 웹페이지 즐겨찾기