Nova reboot 和 lock 操作 - 每天5分钟玩转 OpenStack(32)

时间:2020-12-15 08:32:21

Nova reboot 和 lock 操作 -  每天5分钟玩转 OpenStack(32)

前面 CloudMan 通过日志详细分析了 nova 的 launch, shut off 和 start 操作。
不知道大家现在是否已经掌握了日志分析的技能?

今天咱们就来检验一下。
本节讨论的是 nova 相对较简单的操作: reboot 和 lock/unlock。
我首先会讲解这几个操作的理论知识,然后将日志分析留给大家来完成。
大家在分析过程中如有任何疑问,可以给我留言。

Soft/Hard Reboot

Nova reboot 和 lock 操作 -  每天5分钟玩转 OpenStack(32)

soft reboot 与 hard reboot 的区别在于:
1. soft reboot 只是重启操作系统,整个过程中,instance 依然处于运行状态。相当于在 linux 中执行 reboot 命令
2. hard reboot 是重启 instance,相当于关机之后再开机

soft/hard reboot 的日志分析留给大家作为练习。

提示:
1. soft/hard reboot 在 nova-api 的日志里找不到,这是因为 /opt/stack/nova/nova/compute/api.py 的 reboot 方法中没有输出 log。
可以通过关键字 “nova.api.openstack.wsgi” 或者 “reboot” 搜索。
2. 在 nova-compute 的日志中可以看到 “soft reboot” 和 “hard reboot” 二者有明显的区别。

Lock/Unlock

为了避免误操作,比如意外重启或删除 instance,可以将 instance  加锁。
对被加锁(Lock)的 instance 执行重启等改变状态的操作会提示操作不允许。
执行解锁(Unlock)操作后恢复正常。

Lock/Unlock 操作都是在 nova-api 中进行的。
操作成功后 nova-api 会更新 instance 加锁的状态。
执行其他操作时,nova-api 根据加锁状态来判断是否允许。

Lock/Unlock 不需要 nova-compute 的参与。
Lock/Unlock 的日志比较简单,留给大家练习。

提示:
1. admin 角色的用户不受 lock 的影响,及无论加锁与否都可以正常执行操作。
2. 根据默认 policy 的配置,任何用户都可以 unlock。也就是说如果发现 instance 被加锁了,可以通过 unlock 解锁,然后在执行操作。

Nova reboot 和 lock 操作 -  每天5分钟玩转 OpenStack(32)