接口测试老炮揭秘:存储空间扩容失效的3大技术盲区
|
去年五月,我在IDC机房盯扩容灰度的那会儿,外面下着那种黏糊糊的雨——不是暴雨,是持续十二小时以上、能把人后颈汗毛压成贴片的那种毛毛雨。机柜风扇声比平时高半个调,嗡得耳膜发胀,像有人在你太阳穴上慢速拧螺丝。老张蹲在列头柜后面接电话,右手还捏着半截冷掉的葱油饼,左手在终端里敲`df -h`,我听见他嚼了三下,咽下去才回:“哦…挂了。” 第一大盲区:以为`POST /api/v1/storage/expand`返回200就真扩开了。哈。我原以为只要body里塞了`{"target_size_gb": 15360}`,再配上正确的`X-Cluster-ID`和`X-Auth-Token`,后端那套调度逻辑自然就会去调ceph的`rbd resize`、刷lvm metadata、通知k8s节点重启kubelet……结果呢?返回值干净得像刚擦过的玻璃,但`ceph df`里pool_used_ratio死卡在94.7%,不动。连个告警都没有。运维说“你没看监控面板右上角那个小红点?”我说没有小红点。他手指戳屏保——是昨天凌晨三点弹出来的旧告警,被自动归档了。没人清空。这个我敢打包票:那个小红点在Chrome 112+版本里,只要tab失焦超过十八秒,就渲染成透明像素。 第二盲区:把`storage_capacity_limit_mb`当成硬阈值。去年五月第七次压测那天,测试组王磊端着保温杯进来,杯子底磕在金属桌角,“哐”一声脆响。他指着文档说:“上限设了五万兆,我们只打到四万八千三百六十兆,怎么可能触发拒绝?”我盯着他的保温杯盖子转了半圈,没说话。后来才发现,这个limit只管API层校验,后端写入时走的是另一套per-volume quota机制——它甚至不读那个配置项,自己从mon daemon里实时扒`osd_pool_default_size`和pg_num算出实际可写量。而我们的mock服务,mock的是HTTP层,不是osd_map同步路径。所以啊,你以为你在压“容量接口”,其实在压一堵纸糊的墙。纸后面站着ceph mon、osd、crush map,仨家伙聊得正欢,你连门缝都没挤进去。 第三盲区最滑稽——认为“成功扩容=所有Pod立刻能用新空间”。胡扯。上周三我亲眼看见一个statefulset的pod,在扩容完成两小时后,`du -sh /data`还是显示2TB封顶。我查它的volume mount point,路径没错;查pv绑定状态,Bound;查events,全绿。最后发现,它启动时加载的`/etc/fstab`里有行注释:`# auto-resize disabled per SRE-OPS-2023-07`。对,一行注释,没删。谁加的?不知道。加的时候顺手在旁边放了盒没拆的雀巢咖啡粉,现在还在工位抽屉最底层,铝箔面都氧化了。这事我说不准是不是配置中心下发失败导致的,但我确定:我们写了三年接口自动化用例,从没check过fstab里有没有这种鬼注释。我们连pod里的shell进程树都没扫过,光顾着抓header里的X-Request-ID对不对了。 说到雀巢咖啡粉——前天行政换茶水间货,把那盒拿走了。我翻抽屉找笔时又摸到一包同款,生产日期是二零二一年十月。原来去年五月那会儿,机房新进的供应商还没切标,全是老批次库存。这玩意儿跟存储扩容一样,表面看是个独立动作,底下全是陈年债务链咬着牙在撑。 优胜劣汰这点倒真没说错。不是说技术优劣,是活下来的人:谁能扛住连续三天每晚改三版yaml、重跑二十轮curl脚本、还要在值班表里给自己划掉两次排班;谁能在监控图崩成马赛克时,第一反应不是拉群吼“后端又挂了”,而是先抄起耳机听磁盘IO的吱呀声——那种像指甲刮黑板、但慢了四倍的频响。剩下那些,要么转去做UI自动化了,要么开始考PMP。上个月我见李敏在食堂吃自选菜,她夹了三块梅菜扣肉,没配米饭,就着紫菜蛋花汤往下送。我问她怎么不干接口了,她舀汤的手顿了一下:“现在调用链里光trace_id就嵌套七层,我连哪个span是storage-expand的都不知道,测啥?”她汤匙沿碰碗边,叮一下。我没接话。 哦对,那天雨停了十来分钟。窗外透进点灰白光,照在机柜侧面标签纸上,反光晃得人眯眼。标签是手写的,字迹是陈工的——歪斜,用力,墨水洇开一点。写着:“pool: ssd-mix-prod-02 / last-mod: 2023-05-17 / status: [?]”。那个问号是后来谁补的,圆珠笔,浅蓝色,轻轻一蹭就糊。我拍了张照,没存云盘,存在手机本地相册,命名为“问号_机柜B7_202305”。到现在没删。
文章配图,仅供参考 下一步?明天下午我去趟三号仓库,听说他们把三年前淘汰的戴尔R730刀片搬出来了,准备装个轻量级ceph monitor做演练环境。我不打算写case。就想亲手拔插一次SAS线缆,听那声“咔哒”。听完了,看看能不能从声音里听出sync是否超时。听不出来也没关系。反正扩容这事,本来就不该靠听。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


电商转化率低?90%用户行为数据被技术盲区掩盖
安全专家速递:3大技术盲区正瓦解你的防御
微服务接口测试中的参数传递
JMeter接口测试之提取动态列表最后一个值的两种方法
用Python进行gRPC接口测试(二)


