目录

  • 目录
  • 问题描述
  • 问题解决
  • 最后

问题描述

Cinder 的僵尸卷一般是因为操作不当导致分配的卷无法正常使用且无法正常分离或删除.

问题解决

解决僵尸卷问题的思路类似解决 Linux 系统中的僵尸进程, 需要手动的通过修改数据库和执行 CLI 来实现.

  • 使用 CLI 定位僵尸卷的基本信息
    最主要的是要获取其 id, 然后到数据库中查看其详细信息.
stack@fanguiju-dev:~$ openstack volume list
+--------------------------------------+--------------+--------+------+-----------------------------------------------------------+
| ID                                   | Display Name | Status | Size | Attached to                                               |
+--------------------------------------+--------------+--------+------+-----------------------------------------------------------+
| 0d71a98a-0d2c-4b73-9886-a98005d9f969 | mysql-vol    | in-use |    5 | Attached to e1fd229f-413e-49dd-a741-1bbffa7f249c on /mnt  |
+--------------------------------------+--------------+--------+------+-----------------------------------------------------------+

可以看出这次的问题的原因是因为使用 openstackclient 挂载卷到 Instance 的时候指定了错误设配(/mnt), 应该指定挂载设备为(/dev/vdX). 而且使用 CLI 的 –force 也无法强制删除:

stack@fanguiju-dev:~$ openstack volume delete 0d71a98a-0d2c-4b73-9886-a98005d9f969 --force
Invalid volume: Volume  must not be migrating, attached, belong to a consistency group or have snapshots. (HTTP 400) (Request-ID: req-8ec31dac-591a-4895-942d-3e4998c5407d)
  • 手动的修改 cinder 数据库的表 volumes 的 status 字段为 deleted
    在挂载完卷之后该记录的字段 status 的值为 in-use.
*************************** 2. row ***************************created_at: 2017-01-18 14:59:38updated_at: 2017-01-18 16:12:09deleted_at: NULLdeleted: 0id: 0d71a98a-0d2c-4b73-9886-a98005d9f969ec2_id: NULLuser_id: b03df4585b7d41cca635ec341217404dproject_id: d0f2734c0cd3421eaab8e7d3da5b61d1host: fanguiju-dev@lvmdriver-1#lvmdriver-1size: 5availability_zone: novastatus: in-useattach_status: attachedscheduled_at: 2017-01-18 14:59:39launched_at: 2017-01-18 14:59:40terminated_at: NULLdisplay_name: mysql-voldisplay_description: backup volume of mysql server.provider_location: 200.21.18.30:3260,2 iqn.2010-10.org.openstack:volume-0d71a98a-0d2c-4b73-9886-a98005d9f969 1provider_auth: CHAP xvATFN4UYj3ueGXZBW5P aTsMksaXX6KSsw8nsnapshot_id: NULLvolume_type_id: 2fac34b8-f25c-490c-b0bb-6989d4778432source_volid: NULLbootable: 0provider_geometry: NULL_name_id: NULLencryption_key_id: NULLmigration_status: NULLreplication_status: disabled
replication_extended_status: NULLreplication_driver_data: NULLconsistencygroup_id: NULLprovider_id: NULLmultiattach: 0previous_status: NULL

手动修改其 status 字段值:

mysql> update volumes set status='deleted' where id='0d71a98a-0d2c-4b73-9886-a98005d9f969';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  • 执行指令删除卷
    同样的, 在删除之前先要查看现在逻辑卷的使用情况.
stack@fanguiju-dev:~$ sudo vgsVG                         #PV #LV #SN Attr   VSize  VFree cinder-volumes-default       1   0   0 wz--n- 50.00g 50.00gcinder-volumes-lvmdriver-1   1   1   0 wz--n- 50.00g 45.00gubuntu-dev-fanguiju-vg   1   2   0 wz--n- 99.76g 20.00mstack@fanguiju-dev:~$ sudo lvsLV                                          VG                         Attr      LSize  Pool Origin Data%  Move Log Copy%  Convertvolume-0d71a98a-0d2c-4b73-9886-a98005d9f969 cinder-volumes-lvmdriver-1 -wi-a----  5.00g                                           root                                        ubuntu-dev-fanguiju-vg -wi-ao---      95.74g                                           swap_1                                      ubuntu-dev-fanguiju-vg -wi-ao---      4.00g      

通过 volume 的 id(0d71a98a-0d2c-4b73-9886-a98005d9f969) 我们不能判断出现问题的 lv 就是 /dev/cinder-volumes-lvmdriver-1/volume-0d71a98a-0d2c-4b73-9886-a98005d9f969.
但是在删除该 lv 之前, 我们需要保证该 lv 没有被任何的进程占用.

stack@fanguiju-dev:~$ lsof /dev/cinder-volumes-lvmdriver-1/volume-0d71a98a-0d2c-4b73-9886-a98005d9f969 

使用 lsof 指令可以获取使用该设备的进程列表, 如果被占用的话, 需要使用 kill 指令来将这些进程杀掉. 之后再将该 lv remove 掉.

stack@fanguiju-dev:~$ sudo lvremove /dev/cinder-volumes-lvmdriver-1/volume-0d71a98a-0d2c-4b73-9886-a98005d9f969
Do you really want to remove and DISCARD active logical volume volume-0d71a98a-0d2c-4b73-9886-a98005d9f969? [y/n]: yLogical volume "volume-0d71a98a-0d2c-4b73-9886-a98005d9f969" successfully removed

因为该僵尸卷在数据库中记录的状态已经修改为了 deleted, 所以 dashboard 不会读取该记录, 而且又使用了 lvremove 来将该逻辑卷删除了, 所以也算彻底的解决了这个问题.

最后

最后记录一下, 如果使用 cinderclient 包提供的 cinderclient.v2.volumes:VolumeManager.attach 来挂载卷的话, 其参数 mountpoint 的含义是指定该卷挂载到 Instance 的那一个设备文件上, 而不是指定挂载目录路径.

疑难杂症——解决 Cinder 僵尸卷问题相关推荐

  1. APM(pixhawk)飞控疑难杂症解决方法汇总

    摘自:http://www.nufeichuiyun.com/?p=28 APM(pixhawk)飞控疑难杂症解决方法汇总(持续更新) by 怒飞垂云2019年11月4日 APM无法解锁/飞控连不上/ ...

  2. 联想笔记本Manjaro dde 18 安装疑难杂症解决

    博主是linux小白,之前用的是windows+ubuntu的双系统,昨天吃了朋友的安利,上手了manjaro deepin version.使用一天后感觉系统非常流畅,速度比ubuntu快很多,软件 ...

  3. 删除OpenStack僵尸卷

    OpenStack PIKE在dashboard中正常删除实例,未删除卷,然后重启了服务器,出现BUG,卷被附加给了'NONE',并且无法删除,无法更新. 直接LV删除,应该是可行的,不过太暴力了,并 ...

  4. 解决无法将卷压缩到超出任何不可移动的文件所在的点【磁盘碎片整理】

    压缩卷时,发现盘内剩余空间很大而可压缩空间很小(远小于剩余空间),并且提示信息为"无法将卷压缩到超出任何不可移动的文件所在的点". 问题的原因应该是压缩卷的可压缩空间需要是盘尾一段 ...

  5. 软件疑难杂症解决办法汇总

    2019独角兽企业重金招聘Python工程师标准>>> 现在的搜索引擎质量真的堪忧,找了无数的博客终于找到解决办法了,特此记录一下 MySQL8.0本地连接不上解决办法 https: ...

  6. 计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法

    故障: xxx.exe - 系统错误 无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll .尝试重新安装该程序以解决此问题. 今天,某网友电脑上的这问 ...

  7. 疑难杂症 解决Ubuntu16.04 蓝牙搜索不到附近设备 适用于18.04

    文章目录 1. 问题描述 2. 问题症结 3. 解决办法 References 1. 问题描述 打开蓝牙搜索设备无果 2. 问题症结 终端下输入命令 dmesg | grep -i blue BCM: ...

  8. 【fluent】UDF环境配置疑难杂症解决记录

    软件版本:fluent 15.0 + vs 2013 UDF 链接到fluent有两种方式,解释方式(interpreted)或者编译(compiled)方式. 解释方式不需要编译器,因此比较方便,但 ...

  9. 航海王启航服务器维修,新手疑难杂症解决航海王启航不走冤枉路

    航海王启航超级人肉解答机器,任何航海王启航的问题都可以完美解答.VIP几比较合适?钻石花在哪里好?哪些海贼值得用?国内首款"海贼王"正版手游<航海王 启航>公测进行时, ...

最新文章

  1. 如何快速实现物联网行业中的实名认证
  2. FTP之‘基础连接已关闭:服务器提交了协议冲突’错误探析
  3. Partition学习笔记
  4. mysql proxy 主从_【MYSQL知识必知必会】MySQL主从复制读写分离(基于mysql-proxy实现)...
  5. angularJS限制 input-text 只能输入数字
  6. 什么是损失函数与平均误差算法分析
  7. mapper接口中的方法,example实例解析
  8. Xen的调度分析 (五) ——关于RTDS调度算法简介
  9. 安卓wifi连接 UID xxx does not have permission to update configuration “xxx“WPA_PSK
  10. 惠普服务器查看主板型号,win10惠普主板型号查看图文教程。
  11. 云服务器搭建网站域名要备案吗,域名绑定服务器需要备案吗
  12. python实现对图片的一些简单处理
  13. Win32_VideoController 显卡 参数说明
  14. wifi 联想小新_WiFi 6锐龙5一个都不能少 小新Pro 13详细配置曝光
  15. 迅雷磁盘缓存设置过高会影响其它网络应用软件的速度
  16. 0基础如何用几分钟学会视频剪辑
  17. OpenGL-入门-BMP像素图glDrawPixels
  18. DSP 性能 GMAC 和 GFLOP含义
  19. Notification 加入本地的声音文件
  20. 记2020年第十一届蓝桥杯感想

热门文章

  1. 北航计算机学院编译原理,1 北航本科编译原理课件课本 张莉.pdf
  2. java iostream_【JAVA】IOStream
  3. pythondocx模板_python操作docx文档(转)
  4. dede/archives_do.php,dedecms后台编辑文章时archives_do.php显示空白解决办法
  5. pytorch reshape_pytorch常用总结 之 tensor维度变换
  6. 72岁奶奶在抖音教物理火了,百万粉丝追更,网友:小时候要有这种老师就好了...
  7. 只需1秒,无人机就能平地翻跟头 | IEEE
  8. 这家刚拿了1亿美元的基金会,要证明“21世纪是生物的世纪”
  9. 深度学习已成强弩之末?Bengio等大牛NeurlPS2019上支招
  10. 抽奖啦!AI内参、李沐新书深度学习、米家扫地机器人送送送