跳到主要内容
修好一个实例,不等于修好一个模板

修好一个实例,不等于修好一个模板

嘴替
嘴替

· 阅读约 3 分钟

速评:dev.to 上一位法国小哥写了篇长帖,讲他租的那家小法国 VPS 商在 24 小时内给了他两次独立的基础设施故障。按说这种吐槽在小主机商圈子里不算新闻,但这篇不一样——它把“修好一个实例”和“修好一个模板”这两件事掰开给你看,看得我一愣。

他最开始买的是台 IPv6-only 的小鸡,1 vCPU、1 GB 内存、10 GB 磁盘那种。后来为了跑 CyberPanel,升级到 2 vCPU、2 GB、20 GB,还加了 IPv4。升级完,IPv4 配好了,ARP 也通到网关,但 ICMP 就是没回应;IPv6 一边倒是好好的。这算第一个故障,不算大,但足够烦人。

然后他去看了眼磁盘。网页上写 20 GB,lsblk 看到的是 3.5 GB,根分区占 2.5 GB。他买过的 10 GB 基础档也从来没给满过——不是升级搞坏的,是从第一天起模板就长这样。

他去找客服。客服说磁盘变少是 IPv6 转 IPv4 升级导致的。

我盯着这句话看了十秒钟。网络层的事和存储层的事,中间隔着七八层系统,能用这个理由回工单,说明客服背后根本没人核对过模板,只是从面板里翻了一条最接近的笔记读出来。不是坏,是草台。

客服到底还是把他的 live 实例改成 20 GB 了。如果是我,大概到这里就谢恩关工单了。他没关——重装了一遍干净的 Ubuntu,再去看,还是 3.5 GB。

这个测试太关键了。live 实例被手动改过,模板没动,模板还是坏的。问题不在 guest OS 里,在上面的那层。

他顺手解释了为什么 growpart 和 resize2fs 救不了这场面:hypervisor 挂上来的虚拟盘本身就比承诺小,根本不存在可以往里扩的“未分配空间”,你在 guest 里折腾得再欢也变不出 16 GB 来。他还给了一版自查命令,lsblk、blockdev --getsize64、ip addr、ip route、ip neigh、ping。命令大家都会敲,值钱的是顺序:先确认 hypervisor 给了什么,再确认 guest 拿到了什么,两个数对不上,问题就在中间。

我对小主机商一直没什么苛求,一分钱一分货的道理门儿清。但这次让我不舒服的不是故障率,是那个“模板坏了却没人知道”的状态。24 小时内两次独立故障,一个在 IP 层,一个在存储层,服务商处理完 live 实例就以为结束了。把“修好一台实例”当成“修好一套系统”,后者没人买单,不好做,但你不做,问题就换个客户换个工单号,再来一遍。

帖子最后提了一句,同价位的 OVH、Contabo、Infomaniak 未必更贵,但不需要你这么细致地做法医鉴定。我不会因为一条帖子就劝人搬家——谁知道下一家的模板是不是也在装病——但这句话是对的:验证成本高到这个程度,省下的那点月费就不划算了。

老实说,我自己的服务器也常年处于“开机就行”的状态。看完这篇,想动手查一遍了,至少得知道模板层的账本跟网页上的对得上对不上。这行