일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ceph-ansible
- KVM
- libvirt
- nfs-provisioner
- Kubeflow
- Docker
- OpenStack
- golang
- ceph
- yum
- repository
- grafana-loki
- i3
- archlinux
- Arch
- HTML
- port open
- kolla
- kolla-ansible
- pacman
- Linux
- Ansible
- ubuntu
- Octavia
- cloud-init
- Kubernetes
- terraform
- cephadm
- awx
- k8s
Archives
- Today
- Total
YJWANG
Down된 Compute Node에서 인스턴스 수동 Migration 진행하기 본문
참고 사이트
https://docs.openstack.org/nova/latest/admin/node-down.html
2개의 Compute Node 중에서 1개의 Node가 Down됐다는 가정 하에 진행됩니다. 또한 Instance가 Shared Storage를 사용하고있어야합니다. (Cinder LVM 가능)
root@virt-go-u20-101:~# openstack compute service list --service nova-compute
+----+--------------+-----------------+------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+----+--------------+-----------------+------+---------+-------+----------------------------+
| 39 | nova-compute | virt-go-u20-112 | nova | enabled | down | 2021-12-14T02:45:26.000000 |
| 42 | nova-compute | virt-go-u20-111 | nova | enabled | up | 2021-12-14T02:52:33.000000 |
+----+--------------+-----------------+------+---------+-------+----------------------------+
virt-go-u20-112 에 있는 Instance가 Down됐다는 가정 하에 Migration을 virt-go-u20-111 서버에 진행합니다.
우선 mariadb container에 접속하여 nova 계정으로 nova DB에 접속합니다.
root@virt-go-u20-101:~# docker exec -it mariadb /bin/bash
(mariadb)[mysql@virt-go-u20-101 /]$ mysql -u nova -p
Enter password:
MariaDB [(none)]> use nova;
DB접속 암호는 /etc/kolla/passwords.yml 파일을 사용합니다.
root@virt-go-u20-101:~# cat /etc/kolla/passwords.yml |grep nova_database
nova_database_password: vOtXlrvzjMiETltYlQLyvnb6xvXjx1hmd2C4TMde
[Option] 위 명령을 쉽게 아래와 같이 사용할 수 있습니다.
docker exec -it mariadb /usr/bin/mysql -u nova -p`grep 'nova_database_password' /etc/kolla/passwords.yml |awk '{print $2}'`
use nova;
이후 Instance 값을 변경합니다.
MariaDB [nova]> SELECT * FROM instances WHERE uuid = "0834c330-14da-4511-85d5-ec55719c291e";
MariaDB [nova]> UPDATE instances SET host = 'virt-go-u20-111' WHERE uuid = '0834c330-14da-4511-85d5-ec55719c291e';
Query OK, 1 row affected (0.011 sec)
Rows matched: 1 Changed: 1 Warnings: 0
이후 Instance를 stop 후 start하면 정상적으로 Migration이 진행됩니다.
# openstack server stop 0834c330-14da-4511-85d5-ec55719c291e
# openstack server start 0834c330-14da-4511-85d5-ec55719c291e
[Option] Instance 상태가 powering-off 등 특정 상태에 Stuck 되어 있다면 아래 쿼리를 참고하시기 바랍니다.
### Instance 상태 강제로 Shutoff로 전환
UPDATE instances SET power_state=4 WHERE uuid = 'de8ae499-a002-4246-a648-200f1318c132';
UPDATE instances SET vm_state="stopped" WHERE uuid = 'de8ae499-a002-4246-a648-200f1318c132';
### Instance task 상태 초기화하기
UPDATE instances SET task_state=NULL WHERE uuid = 'de8ae499-a002-4246-a648-200f1318c132';
반응형