55-Detach Volume 操作 1
在OpenStack环境中,Detaching a Volume是一个常见的任务,它涉及将一个挂载到Instance的Volume解耦,以便Volume可以被其他Instance使用或者独立管理。这个过程由一系列的步骤组成,主要包括用户请求、API交互、计算节点操作以及存储节点操作。 1. **向cinder-api发送detach请求**: 用户通常通过OpenStack Dashboard (Horizon)来发起detach请求,例如,选择Project -> Compute -> Volumes,找到对应的Volume "vol-1",然后在"Manage Attachments"中点击"Detach Volume"。这个请求会被发送到cinder-api服务,cinder-api负责处理这些请求,并记录日志在/opt/stack/logs/c-api.log。 2. **cinder-api发送detach消息**: 接收到detach请求后,cinder-api并不会直接执行操作,而是通过消息队列(如RabbitMQ)发送detach消息。虽然cinder-api的日志中可能不会显示发送消息的具体内容,但可以通过查看源代码,如/opt/stack/cinder/cinder/volume/api.py中的'detach'方法,来了解这一过程。 3. **nova-compute detach volume**: 当消息到达nova-compute服务时,它开始进行实际的detach操作。nova-compute会从Instance中解除Volume的挂载,这一步可以通过查看/nopt/stack/logs/n-cpu.log日志进行跟踪。然后,它会断开Instance与iSCSI目标的连接,这包括: - 将Instance缓存中的数据同步到Volume。 - 从计算节点移除Volume对应的SCSI设备。 - 使用iscsiadm工具执行logout和delete操作,断开与iSCSI目标的连接。 4. **cinder-volume删除target**: 在nova-compute完成detach工作后,存储节点上的cinder-volume服务接手,通过tgt-admin命令删除与Volume相关的iSCSI target。这个过程会在/opt/stack/logs/c-vol.log日志中留下记录。一旦target被删除,整个detach操作就完成了,Volume的状态将在GUI中更新为未挂载。 在OpenStack环境中,detach volume操作是一个关键的管理和维护任务,确保了Volume资源的有效利用和管理。这个过程展示了OpenStack组件间的协同工作,从用户界面到后端服务,每个步骤都至关重要,确保了操作的顺利进行。在了解了detach操作之后,下一步可以继续探索如何extend volume,以满足不同场景下的存储需求。
剩余8页未读,继续阅读
- 粉丝: 32
- 资源: 330
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0