Print

CAS虚拟机因备份失败导致的磁盘快照,影响cloudos调整磁盘规格报错

组网及说明

cloudos纳管CAS

问题描述

有个局点在cloudos上做云硬盘规格调整时,提示扩展失败。


过程分析

1、到cloudos的计算节点容器内查看/var/log/cinder/volume.log,发现报错,但未提示错误原因。


2、我们跳转到CAS任务台、或者操作日志中查看下发记录,发现前台报错,提示该磁盘有快照;


3、打开虚拟机的快照,未发现任何内容,而且未有做快照历史,后台使用virsh virsh snapshot-list domainid查询不到快照;



4、这时我们可以通过qemu-img snapshot -l “volumename”查看磁盘文件是否有单独的快照,发现的确存在S开头的快照,;



5、我们将S后面的前10位数字,使用date -d @时间戳转换成date格式,可以算出一个时间值;


6、翻看虚拟机的任务或者cvm的日志,可以发现这个时间点虚拟机做过备份,并且备份任务失败了,此快照是备份时遗留的,按照正常流程该快照会在备份完成后删除。



解决方法

1、cp一份磁盘文件,做好备份操作;


2、使用qemu-img snapshot -d tagname volumename ​删除磁盘快照;


3、重置云硬盘状态的方法有好几种:

  • 连接cloudos数据库删除该云硬盘的相关信息,在CAS上为虚拟机添加这块云硬盘,然后重新纳管该虚拟机的云硬盘;
  • 连接cloudos数据库修改云硬盘的状态为available;
  • openstack容器中通过  cinder list --all-tenants 查询该磁盘的id,之后通过cinder reset-state --state available  volumeid来更改;

4、之后重新扩展云硬盘。