技术支持
互动社区
学习培训
深信服官网
合作伙伴

桌面云aDesk

关注
深信服桌面云aDesk方案,是基于超融合架构的新型桌面模式,通过深度整合服务器虚拟化、桌面虚拟化及存储虚拟化,只需桌面云一体机和云终端两种设备,即可实现云平台的快速交付,为用户提供操作体验及软硬件兼容性媲美PC、更安全、更高效的云桌面。
故障案例库
典型场景排查思路

【aDesk】存储相关的问题导致虚拟机卡慢

更新时间:2023-01-05
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 虚拟机内部 | 虚拟机卡慢
适用版本 通用
卡慢问题主要分为两类,分别是【多虚拟机或者单虚拟机卡慢】和【单应用卡慢】,因此需要区分具体的问题现象,这里主要描述的是存储导致多虚拟机或者单虚拟机卡慢的排查办法;

1、确认读写速率,使用命令测试存储的读写速率:
vs_get_storage_max_speed.sh /sf/data/vs_rep2/ | awk -F: '{print $1/1024/1024 "MB", $2/1024/1024 "MB"}'

第一个是读速率,第二个是写速率,单位m/s,读写速度低于60M/s,则异常,需要联系对应的存储方排查。若是VS2.6及之前版本,则直接使用上述命令测试,若是VS2.8及之后版本虚拟存储是vs_vol_rep2;

2、确认读写缓存是否开启;
读缓存:
A、查看读缓存是否启动(有值则代表启动),读缓存未运行时通过下面的命令手动启动
pidof ssd-cached
/sf/vs/etc/init.d/ssd-cached start
B、使用命令ssdc-cli.js -c dumpstat看读缓存盘是否写满,fee为0则占满,在缓存占满情况下,部分读请求会直接落到机械硬盘,速度自然慢了下来;
vs会自动替换最老的缓存,我们可以通过在虚拟机内部重复拷贝同一个文件对比前后两次的速度给客户说明情况,若是每次拷贝都慢,则需要增加缓存盘(找专家或者研发评估);


写缓存:
A、使用lvs | grep cache命令,查看写缓存盘是否开启,有值则说明开启了,VS2.6版本之后有分层了且满足条件将默认自动开启写缓存,若是没有开启,可以尝试手动开启后看卡慢是否有改善,VS2.6之前的版本需要每台主机有两块480GB磁盘才可以开启;

gluster vol set vs_vol_rep2 performance.wcc-enable on  打开写缓存
gluster vol set vs_vol_rep2 performance.wcc-enable off  关闭写缓存
B、使用lsblk | grep wcache命令,查找本主机所有开启了写缓存的dm;

C、使用vs_make_wcache -C /dev/dm-162 -S -t命令,查看写缓存使用率;




写缓存并非像读缓存一样有进程负载,写缓存其实是个dm设备,对操作系统来说是个硬盘。如果写缓存满了,那么会有一部分写请求直接落到机械硬盘上。自然客户对写请求要求高的情况下会慢,此时需添加缓存盘。联系专家或者研发结合客户业务进行分析,最终由研发评估是否需要加缓存盘。

3、检查虚拟存储的IO延时是否超过50ms,后台执行iostat -x 1 | grep -v dm看单个磁盘的%util是否持续超过95%,若是磁盘的%util持续超过95%且虚拟存储延时超过50ms,则会导致卡慢;



4、若是确认磁盘%util持续超过95%且虚拟存储延时超过50ms,则确认是否是单主机+还原模式,且只有开机的时间段卡慢,若是确认是这个现象,则直接要求客户添加两块240GB或者大于240GB的缓存盘或者做开机计划,比如8点需要使用,则将所有虚拟机设置为7点开机,到8点之后则不会出现卡慢问题;
注意:缓存盘和机械盘个数比例建议是1:3-1:5,缓存盘和机械盘磁盘容量比例必须不小于1:20,不满足以上条件建议加磁盘;

5、若是确认磁盘%util持续超过95%或虚拟存储延时超过50ms,但是不是上述情况,则需要确认是哪些虚拟机占用的IO,看虚拟机内部是否有异常,可以通过以下方式确认到具体占用IO的虚拟机;
A、在卡慢的时候,执行iostat -x 1 > /tmp/iostat.txt,将 /tmp/iostat.txt取出看r/s,w/s两列,看是否持续超过5,超过则说明占用高,找几个占用IO比较高的dm;
B、如下图所示,dm-463占用高;


C、如下图所示,执行lsblk | grep dm-463命令确认对应的lv值,通过vs_lv2file.sh +lv参数,可以确认具体是哪个虚拟机占用的IO,若是dm对应的缓存盘则忽略即可,找下一个占用IO高的虚拟机;


D、如下图所示,在对应的虚拟机目录下,执行以下命令,可以确认该虚拟机是否运行在磁盘的%util值持续超过95%的磁盘上,若是确认是这个磁盘上则需要排查虚拟机内部,虚拟机内部的排查见下一步骤;
注意:
(1)虚拟机一般有两个副本,需要确认下是否是另外一个副本在%util值持续超过95%的磁盘上;
(2)执行iostat -x 1 > /tmp/iostat.txt,将日志重定向到/tmp目录后,需记得使用Ctrl+C结束任务;

6、若是读写速率,读写缓存,虚拟存储延时,磁盘IO都正常,则可以排除存储的问题。
本页目录
  • 问题描述
  • 解决方案