建议使用Chrome浏览器访问!
技术支持
互动社区
学习培训
深信服官网
合作伙伴

超融合HCI

关注
深信服超融合SANGFOR HCI是面向下一代数据中心的软件定义基础架构,通过虚拟化技术融合计算、存储、网络和安全等资源,并提供运维管理、容灾备份、智能监控等高级特性,帮助用户构建极简、稳定、高性能的云化数据中心基石。
故障案例库
典型场景排查思路

备份存储问题排查总结

更新时间:2025-01-03
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 存储备份快照
适用版本 通用
该KB用于汇总由于存储相关原因导致备份或者容灾异常的排查思路。

一、存储空间不足(这类问题通常都会有明确错误提示:任务错误日志、后台日志的错误码(-28)或者NFS_ERR_NOSPC)

1、备份池空间不足导致备份任务失败。

(1)灾备排障文档(灾备问题排障手册)第九章节专门描述了这类问题的处理方法。

(2)虚拟存储需要预留10%的空间,因此在虚拟存储上看着存储剩余的实际空间充足,但是备份等也报空间不足,那就是这个预留10%的空间导致的,并且VS存储在空间使用超过90%后还不允许创建qcow2镜像,创建会报错,是通过文件的名字里面是否存在qcow2判断的,因此VS存储报错没有空间时,但是明明有空间也可能是这个导致。可以尝试使用qemu-img create -f qcow2 test.raw 10G来尝试创建,若这个创建成功,但是创建名字里面有qcow2会失败,就是这个导致。

2、创删快照导致生产存储空间打满超融合HCI-深信服技术支持

3、备份池展示的使用空间和实际使用空间不一致:

(1)备份池展示的使用空间是遍历备份存储的backup/images/目录下所有目录下的vmid.conf.bcfg文件中的backupSize字段相加得到的,若存在备份配置残留那么备份池的使用空间和实际使用空间就会相差比较大。

可以使用灾备排障文档的rebuild脚本进行重建备份配置,也可以手动删除残留的备份配置(670及以上删了备份配置还需要修改备份配置的md5sum的值,MD5sum的值是所有backup_id作为内容来计算md5的,因此推荐直接使用rebuild脚本重建备份配置)。

(2)备份存储后端开了压缩,HCI目前适配这类开启压缩的存储有问题,会导致du看到的空间比df看到的使用空间大很多,导致备份池空间偏差较大。

4、临时备份文件占据生产存储空间导致打满

(1)先把备份策略、容灾策略关闭,把备份任务取消掉

(2)先根据灾备排障文档(灾备问题排障手册)里面的备份空间不足案例进行处理,删除该存储上可以删除的以便释放空间(清空回收站:对应存储上的private目录,可靠性服务/HCI备份文件勾选虚拟机的备份全部删除:对应后台存储上的backup/images/vmid目录)。

(3)要是第二步没有找到什么可以删除释放空间的,那么进入HCI后台,执行find /sf/data/storage_id/images/ -name *auto* | grep qcow2得到的就是备份临时缓存文件,直接把备份临时文件删除释放空间。

(4)找不需要使用的虚拟机彻底删除,或者存储扩容。

(5)参考https://support.sangfor.com.cn/cases/list?product_id=33&type=1&category_id=29986转移虚拟机数据,转移之后验证数据没有问题后删除虚拟机。

 

二、存储权限不足(这类通常会导致任务失败,去查失败任务的日志会发现有not support, permission denied, not permit,chown失败等错误日志打印,通常发生在NFS存储上)

调整后端存储服务器的NFS映射权限(通常需要给读写权限、不开匿名(squash设置为none)、共享文件夹所有者添加everyone用户并勾选所有权限,调整后不需要重新添加NFS存储):

群晖NAS:超融合HCI-深信服技术支持

EDS存储:可以拉EDS技术支持来调整。

要是按照上述方式调整还不行:可以到NFS共享文件夹的权限设置,开启将所有用户映射为root或者admin权限。

 

1、文件找回(下载的文件大小为0B,点击下载后浏览器不弹窗下载)

灾备排障文档已有案例,按照KB中的步骤调整后端存储的NFS映射权限:

2、备份复制、备份传输时出现可能是网络不稳定的报错,分析sfvt_rsync.log日志存在not support, permission denied, not permit,chown失败等错误日志打印时也可以确认是NFS存储映射权限导致。

3、备份合并失败时分析sfvt_qemu-img[-real].log若出现这种日志也可以确认是NFS存储映射权限问题导致。

4、若存在部分主机执行备份复制、备份传输或者备份任务成功,但是部分主机又执行失败,并且存在上述not support, permission denied, not permit,chown失败等错误日志打印,通常是存储后端的root权限只映射给了HCI的部分主机,未映射的那些主机上执行这些任务就会失败。

 

三、存储卡慢

1、存储测速:

QI-Tools: http://mq.code.sangfor.org/VC/aDRaaS/QI/QI-Tools

使用说明:http://mq.code.sangfor.org/VC/aDRaaS/QI/QI-Tools/blob/master/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md

2、存储时延:

(1)HCI界面的存储详情界面有IO次数、IO速度、IO时延以及空间利用率的趋势图,一般而言,VS存储的时延达到50ms以上就处于时延很高了,对于灾备任务,存储时延高也应该只会导致任务卡慢,而不会导致任务失败,因此当出现灾备任务卡慢的时候,并且排查网络没有什么异常,那么就可以使用工具进行测速。

 (2)存储高时延卡慢导致备份失败

(3)存储卡慢导致关机备份/IO日志快速恢复虚机HA/备份传输/备份复制失败(通常发生在使用NBD设备的场景上)

1)这类问题首先确认是不是IO失败导致,对于关机备份分析sfvt_qemu-backup.log日志文件,IO日志快速恢复虚机HA分析sfvt_qemu_vmid.log,备份传输/备份复制看失败时间点的sfvt_rsync.log日志。

2)再确认sfvt_qemu-nbd.log在异常时间点是否存在IO时延特别高的日志打印,通常是io timeout[xxxxxms],若超过30000ms则会触发NBD设备超时自动断连导致NBD设备上的IO出现异常的问题。

3)再分析kernel.log内核日志,分析异常时间点前是否存在Connection time out,存在则说明发生了NBD设备自动断连的问题,此后这个NBD设备上的IO都会失败。

4)临时解决方案:echo xxxxxx >/sys/block/nbdX/queue/io_timeout(xxxxx为数值,单位为ms)

 

四、存储锁资源异常(这类问题通常发生在打开文件的时候,通常发生在外置存储上,通常返回的错误码是-208)

1、确认是SFFS文件系统异常导致锁残留未释放还是多个任务冲突导致

(1)在HCI后台执行sfd_cluster_cmd.sh e 'lsof /sf/data/storage_id/path/to/open/failed/file'查看HCI集群内是否有主机正在占用这个文件,若命令执行输出有进程信息,那么说明是任务冲突导致的文件打开失败。

(2)跳转到冲突任务的执行主机上,这种任务通常都是残留任务,因此需要分析为什么会卡死,通常也都是卡死在外置存储上,可以cat /proc/pid/stack或者cat /proc/pid/wchan看进程的堆栈,若堆栈里面存在write/read/submit/sffs/nfs/alloc字段那么可以确认是卡死在存储上面。

(3)若第二部看不出来堆栈有什么异常(因为qemu相关工具都是协程,堆栈通常都在poll上面),那么可以分析一下kernel.log,搜一下相关的进程pid或者名字如qemu-img/qemu-backup/qemu-nbd等,内核对于卡死超过120s的进程会自动打印堆栈,这个堆栈比较准确,因此若这个堆栈存在write/read/submit/sffs/nfs/alloc字段也可以确认是存储卡死导致。

2、若第一步执行输出显示没有任务在占用这个文件,那么可以拉中台技术支持来确认是哪个主机持有资源组锁一直不释放。

3、目前比较高发的是sffs文件系统多主机并发删除同一个目录或者文件会死锁,导致任务卡死/资源残留等问题,大多发生在文件找回清理过期残留session目录的时候,quick_browser服务每个主机都会检查过期session,因为很大可能会发生多主机删除同一个目录的现象导致sffs死锁,所以文件找回后续过期的session一直得不到清理最终超过16个会导致文件找回失败。

怎么判断:sfd_cluster_cmd.sh e 'ps auxf | grep "rm -rf"'或者sfd_cluster_cmd.sh e 'ps auxf | grep file'判断是否存在多主机并发删除同一个文件或者目录的进程。

 

五、存储异常、文件系统异常

1、存储异常:

外置存储:

(1)可以分析下kernel.log,若存在lost page/blk_update_request/io error/rejecting io日志则表示是存储服务器异常,需要让一线去排查存储服务器。

(2)可以分析下kernel.log,若存在detect conn error/ping timeout of 5s日志,则说明HCI主机到存储服务器之间的网络异常,导致存储异常。

(3)可以执行下ping -f -s 1000 storage_ip测试一下网络,若HCI到存储服务器之间的网络丢包率超过0.5%则说明网络存在问题。

(4)可以执行multipath -ll观察多路径的状态,若存在undef/fault等字段表明存储的多路径状态异常,经过这条路径的IO都会经过重试导致时延很高或者IO出错。

NFS存储:

(1)分析kernel.log,若存在nfs server xxx.xxx.xxx.xxx timed out之类的日志则表明NFS存储出现IO超时出错的问题,会导致访问文件或者IO出错。

(2)可以执行下ping -f -s 1000 storage_ip测试一下网络,若HCI到存储服务器之间的网络丢包率超过0.5%则说明网络存在问题。

(3)若执行第二步确认网络没有问题,那么应该是NFS存储服务器IO太慢导致,可以按照超融合HCI-深信服技术支持增大NFS存储的IO超时时间,调整成600再观察。

VS存储:

VS存储的问题主要集中在两主机VS存储容易发生副本不一致、脑裂等问题带来的数据不一致,从而导致灾备任务异常。

怎么副本有问题?

对于小文件:执行sfd_cluster_cmd.sh e 'md5sum /path/to/error/file'

对于大文件看文件的更新时间:执行sfd_cluster_cmd.sh e 'ls -l /path/to/error/file'

通常若文件副本不一致会返回-5(EIO),-61(ENODATA)或者-116(ESTALE)

另外一点,只要返回的错误中包含NFS3ERR,表明错误是从VS存储返上来的,可以直接拉VS存储技术支持协助。

2、文件系统异常:

(1)可以分析下sfvtk_all.log日志,日志中存在read lock/write lock/-220/-212/error/failed/stop bio/open bio日志时则表示sffs文件系统存在异常。

(2)可以执行sffsck -C /dev/mapper/storage_id检测sffs文件系统,输出中存在lock error/reused block不为0/checksum等错误表示sffs异常。

(3)对于文件系统异常也可能是存储异常导致,可以参见上面检查存储是否异常。

(4)若第二步检测SFFS异常可以按照https://support.sangfor.com.cn/cases/list?product_id=33&type=1&category_id=17023进行修复,直接贴KB让400修复操作修复一下。

3、QI-Tools工具已经实现了存储和文件系统检测的功能,QI-Tools地址:http://mq.code.sangfor.org/VC/aDRaaS/QI/QI-Tools

 

六、QI-Tools工具

目前已集成存储测速与检测、备份测速、备份创建检测以及备份删除检测功能,并且集成了一些常用的修复脚本如rebuild重建备份配置、清理SCP离线后的残留链路数据的脚本。

地址:http://mq.code.sangfor.org/VC/aDRaaS/QI/QI-Tools

使用说明:http://mq.code.sangfor.org/VC/aDRaaS/QI/QI-Tools/blob/master/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md

 

本页目录
  • 问题描述
  • 解决方案
您当前处于未登录状态,资料搜索或查找可能会不全面,请登录后以查找更全面的内容注册登录