Detach Volume 操作 - 每天5分钟玩转 OpenStack(55)

上一节我们成功地通过 attach 操作为 instance 添加了 volume,而与之相对的操作是 detach,就是将 volume 从 instance 上卸载下来。
下图是 Detach 操作的流程图

向 cinder-api 发送 detach 请求
cinder-api 发送消息
nova-compute detach volume
cinder-volume 删除 target
下面我们详细讨论每一个步骤。
向 cinder-api 发送 attach 请求
客户(可以是 OpenStack 最终用户,也可以是其他程序)向 cinder-api 发送请求:“请 detach 指定 instance 上的 volume。
这里我们将 detach instance “c2”上的 volume “vol-1” 进入 GUI 操作菜单Project -> Compute -> Volumes。

选择 volume “vol-1”,点击“Manage Attachments”。

点击 “Detach Volume”。

再次确认。

cinder-api 将接收到 detach volume 的请求。日志文件在 /opt/stack/logs/c-api.log。

cinder-api 发送消息
cinder-api 发送消息 detach 消息。 cinder-api 没有打印发送消息的日志,只能通过源代码查看 /opt/stack/cinder/cinder/volume/api.py,方法为 detach。

Detach 的操作由 nova-compute 和 cinder-volume 共同完成:
首先 nova-compute 将 volume 从 instance 上 detach,然后断开与 iSCSI target 的连接。
最后 cinder-volume 删除 volume 相关的 iSCSI target。
后面两个小节将详细讨论这两个步骤。
nova-compute detach volume
nova-compute 首先将 volume 从 instance 上 detach 。 日志为 /opt/stack/logs/n-cpu.log。

这时通过 virsh edit 可以看到 XML 配置文件中已经不在有 volume 的虚拟磁盘。
接下来断开与 iSCSI target 的连接。

具体有下面几个步骤:
将缓存中的数据 Flush 到 volume。

删除计算节点上 volume 对应的 SCSI 设备。

通过 iscsiadm 的 logout,delete 操作断开与 iSCSI target 的连接。

compue-nova 完成了 detach 工作,接下来 cinder-volume 就可以删除 volume 相关的 target 了。
cinder-volume 删除 target
存储节点 cinder-volume 通过 tgt-admin 命令删除 volume 对应的 target。日志文件为 /opt/stack/logs/c-vol.log。

至此 detach volume 操作已经完成,GUI 也会更新 volume 的 attach 信息。

以上就是 detach volume 的分析,下一节我们讨论 extend 操作。

Detach Volume 操作 - 每天5分钟玩转 OpenStack(55)的更多相关文章
- Snapshot Volume 操作 - 每天5分钟玩转 OpenStack(58)
Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯.snapshot 操作实现比较简单,流程图如下: 向 cinder-ap ...
- Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
今天讨论 cinder 如何删除 volume . 状态为 Available 的 volume 才能够被 delete.如果 volume 当前已经 attach 到 instance,需要先 de ...
- Extend Volume 操作 - 每天5分钟玩转 OpenStack(56)
前面我们讨论了 volume 的 attach 和 detach 操作,今天讨论如何扩大 volume 的容量.为了保护现有数据,cinder 不允许缩小 volume. Extend 操作用于扩大 ...
- Restore Volume 操作 - 每天5分钟玩转 OpenStack(60)
前面我们 backup 了 voluem,今天我们将讨论如何 restore volume. restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume. 将 backup 的 ...
- Backup Volume 操作 - 每天5分钟玩转 OpenStack(59)
本节我们讨论 volume 的 Backup 操作. Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复. Backup VS Snapshot 初看 ...
- 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
Cinder 真正负责 Volume 管理的组件是 volume provider. Cinder 支持多种 volume provider,LVM 是默认的 volume provider.Devs ...
- Nova reboot 和 lock 操作 - 每天5分钟玩转 OpenStack(32)
前面 CloudMan 通过日志详细分析了 nova 的 launch, shut off 和 start 操作.不知道大家现在是否已经掌握了日志分析的技能? 今天咱们就来检验一下.本节讨论的是 no ...
- Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)
Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”.而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机. Live Migrate 分两种: ...
- 1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了. 如上图所示,我们把对 Instance 的管理按运维工作的场景分为两类:常规操作和 ...
随机推荐
- HDU 3584 Cube (三维 树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3584 Cube Problem Description Given an N*N*N cube A, ...
- Code of Conduct
v
- Flask 重新认识
总是觉的学习东西有点猴子掰玉米的感觉.今天就重新再掰一次吧. Installation: 安装之前建议先安装virtualenv,这个东东是帮助你在多个python版本之间保持同步,不至于python ...
- 关于DOM的一些笔记(二)
1.选择符API (1).querySelector()方法 querySelector()方法接受一个CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null. 通过Docu ...
- Linux入门之路
一.linux简介 Linux前身:Minix,由Andrew S. Tanenbaum教授参考Unix编写 Linux创始人:Linus Torvalds Linux内核版(只有内核)和发行版(在内 ...
- C# winfrom HttpWebRequest 请求获取html网页信息和提交信息
string result =GetRequest("http://localhost:32163/DuoBao/ajax.aspx", "time=5"); ...
- shared_ptr
省去对象指针的显示delete typedef tr1::shared_ptr<int> IntPtr; IntPtr fun() { IntPtr p = new int(3); ret ...
- WPF计算
设计思路: 用WPF窗体设计,在第一个数和第二个数的文本框中输入数值,单击录题按钮,数值保存在n1,n2文档中,把要做的题都保存完后,单击开始按钮,开始做题,每做完一道题,按Enter键,进入下一题, ...
- Mac读取Andriod屏幕截图
int main(int argc, const char * argv[]) { // insert code here... string str3 = "/Users/Ethan/Do ...
- .NET各大平台数据列表控件绑定原理及比较(WebForm、Winform、WPF)
说说WebForm: 数据列表控件: WebForm 下的列表绑定控件基本就是GridView.DataList.Repeater:当然还有其它DropDownList.ListBox等. 它们的共同 ...