[Openstack] Cinder 볼륨 삭제 안될 때 강제로 제거하기

blog post 

 

 오픈스택에서 간혹 볼륨이 제거되거나 생성되지 않아 난감할 때가 있습니다. 본 포스트에서는 강제로 볼륨을 제거하는 방법에 대해 소개해 드리겠습니다. 그리 추천드리고 싶은 방법은 아니지만, 신중하게 사용하시기 바랍니다.

 

* 하나의 방법을 소개해 드리는 것입니다. 따라서 본 포스트에서 소개하는 방법에 따라 수행한 결과에 대해서는 책임 지지 않겠습니다.

 

cinder 스토리지 테스트 도중 아래와 같이 일부는 deleting, 일부는 creating 상태에서 넘어가지 않는 문제가 발생했는데, 이 상태에서 진행해 보겠습니다. (실제로는 블록 스토리지 서버와의 연결에서 문제가 된 상황입니다.)

 

[root@Controller ~]# openstack volume list
+--------------------------------------+------+----------+------+-------------+
| ID                                   | Name | Status   | Size | Attached to |
+--------------------------------------+------+----------+------+-------------+
| 1f4518ec-7ec7-45d8-940b-4c0ffdeb0ca8 | win3 | deleting |    5 |             |
| dc160cf9-330e-49b2-97a6-ca7737fdd60c | win2 | creating |    5 |             |
| 70423f30-df3d-4928-a1e4-eac2d0fe75ee | win  | creating |    5 |             |
+--------------------------------------+------+----------+------+-------------+

 

detach 상태로 변경을 시도해봐도 역시 제거되지 않습니다. 심지어 에러도 나지 않는 상황입니다.

 

[root@Controller ~]# openstack volume set --detached 1f4518ec-7ec7-45d8-[6/1848]
ffdeb0ca8
[root@Controller ~]# openstack volume list
+--------------------------------------+------+----------+------+-------------+
| ID                                   | Name | Status   | Size | Attached to |
+--------------------------------------+------+----------+------+-------------+
| 1f4518ec-7ec7-45d8-940b-4c0ffdeb0ca8 | win3 | deleting |    5 |             |
| dc160cf9-330e-49b2-97a6-ca7737fdd60c | win2 | creating |    5 |             |
| 70423f30-df3d-4928-a1e4-eac2d0fe75ee | win  | creating |    5 |             |
+--------------------------------------+------+----------+------+-------------+

[root@Controller ~]# openstack volume set --detached dc160cf9-330e-49b2-97a6-ca7737fdd60c
[root@Controller ~]# openstack volume list
+--------------------------------------+------+----------+------+-------------+
| ID                                   | Name | Status   | Size | Attached to |
+--------------------------------------+------+----------+------+-------------+
| 1f4518ec-7ec7-45d8-940b-4c0ffdeb0ca8 | win3 | deleting |    5 |             |
| dc160cf9-330e-49b2-97a6-ca7737fdd60c | win2 | creating |    5 |             |
| 70423f30-df3d-4928-a1e4-eac2d0fe75ee | win  | creating |    5 |             |
+--------------------------------------+------+----------+------+-------------+

 


 

 

 

 openstack DB로 들어가봅니다.

 

[root@Controller ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 14989
Server version: 10.3.10-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

 

 cinder DB로 이동 후

 

MariaDB [(none)]> use cinder;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [cinder]> 

 

 

어쩔 수 없이 DB에서 강제로 제거해 줍니다. Bye..

*주의: 아래 명령을 실행하면 되돌릴 수 없습니다.

 

MariaDB [cinder]> update volumes set deleted=1,status=deleted,deleted_at=now(),updated_at=now() where deleted=0 and id='1f4518ec-7ec7-45d8-940b-4c0ffdeb0ca8';
Query OK, 1 row affected (0.005 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [cinder]> update volumes set deleted=1,status=deleted,deleted_at=now(),updated_at=now() where deleted=0 and id='dc160cf9-330e-49b2-97a6-ca7737fdd60c';
Query OK, 1 row affected (0.222 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [cinder]> update volumes set deleted=1,status=deleted,deleted_at=now(),updated_at=now() where deleted=0 and id='70423f30-df3d-4928-a1e4-eac2d0fe75ee';
Query OK, 1 row affected (0.001 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [cinder]> exit
Bye

 

 

다시 확인해보면 강제로 볼륨이 제거된 것을 확인할 수 있습니다.

 

[root@Controller ~]# openstack volume list

[root@Controller ~]# 

 

TAGS.

Comments