标签 阿里云 下的文章

在阿里云云服务器上安装 FreeBSD 9.3 操作系统 - hw.pci.honor_msi_blacklist

问题:前些天,我再次通过阿里云的工单系统,请求工程师为 FreeBSD 9.3 的老旧系统打上 VirtIO 的补丁,以识别到云服务器的磁盘。客服的回复结论是:

6、7代实例底层环境不兼容旧版的 freebsd系统,freebsd 9系统早就eol了,后续也不会再更新相关的补丁了。如果确需使用freebsd 9.3系统,可以考虑如前面所说,使用5代或更早的实例规格,然后我们尝试从后台帮您迁移到KVM集群。

思考:我个人不太理解。首先,如 centos7 也是约在十年前发布的,但现在还能正常在阿里云5代以上的规格里使用。第二,具体到 freebsd 9.3,那是 virtio 的驱动问题,它的早期 virtio 驱动没有考虑到阿里云会自己另外定制虚拟机,不算是 freebsd 内核的问题,因为 virtio 可以从内核中剥离开,用 kldload 的方式动态加载。第三,freebsd 的 virtio 驱动也在不断进行更新,以适应更多的场景。它的源码是可以查询和获取的,所以您的工程师能在 freebsd 11.2的基础上添加上补丁。总之,这不是为freebsd的内核加补丁,只是为freebsd的virtio模块打补丁。工程师能为freebsd 11.2的virtio模块打上补丁,理论上也能为freebsd 9.3的virtio模块打上补丁。只是工程师愿不愿意花上一点时间而已,对于有经验的工程师来说,这很可能就仅仅是在操场上慢跑3~5圈的时间而已。但对于我个人来说,难得比爬天梯还难。

尝试:在谷歌搜索、poe 机器人、FreeBSD 相关文档 和 VirtualBox 的帮助下,在阿里云发布的 0001-virtio.patch 的补丁基础上,加入 hw.pci.honor_msi_blacklist=0 的参数,即可识别到硬盘。

FreeBSD 9.3 在阿里云ECS启动过程

参考: