<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>原理 on 文叨叨 | IaaS 排障手记</title><link>/tags/%E5%8E%9F%E7%90%86/</link><description>Recent content in 原理 on 文叨叨 | IaaS 排障手记</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 18 Jul 2026 10:00:00 +0800</lastBuildDate><atom:link href="/tags/%E5%8E%9F%E7%90%86/index.xml" rel="self" type="application/rss+xml"/><item><title>为什么 NBD 要嵌套 NBD？qcow2 镜像链解析原理</title><link>/posts/nbd-nested-nbd-qcow2-chain/</link><pubDate>Sat, 18 Jul 2026 10:00:00 +0800</pubDate><guid>/posts/nbd-nested-nbd-qcow2-chain/</guid><description>创建 NBD 镜像时，为什么要把 backing 的所有镜像全部设置为 NBD？因为镜像链的解析由 qemu driver 负责，NBD 和本地 file 都只是独立块设备，没有解析能力。</description></item><item><title>qemu64 CPU 模型为什么有 svm？兼容性模型的指令集设计</title><link>/posts/qemu64-cpu-model-svm/</link><pubDate>Sun, 12 Jul 2026 10:00:00 +0800</pubDate><guid>/posts/qemu64-cpu-model-svm/</guid><description>查看 qemu64 CPU 模型定义，发现它居然包含 svm 指令。qemu64 是为了兼容性设计的，但 svm 这类虚拟化指令也在其中，值得探究。</description></item><item><title>libvirt CPU feature 的 disable 和 forbid 有什么区别？</title><link>/posts/libvirt-cpu-feature-disable-forbid/</link><pubDate>Sat, 31 Jan 2026 10:00:00 +0800</pubDate><guid>/posts/libvirt-cpu-feature-disable-forbid/</guid><description>libvirt CPU feature 的 policy 有 force、require、optional、disable、forbid 五种。disable 是虚拟 CPU 不支持该特性，forbid 是宿主机支持该特性时创建会失败。</description></item><item><title>qemu 为什么只支持一个 IDE controller？</title><link>/posts/qemu-single-ide-controller/</link><pubDate>Sat, 24 Jan 2026 10:00:00 +0800</pubDate><guid>/posts/qemu-single-ide-controller/</guid><description>qemu 只支持一个 IDE controller，一个 IDE controller 只支持 4 个设备（hda 到 hdd）。定义两个 IDE controller 或使用 hde 都会报错。</description></item><item><title>qemu-img commit 的链为什么必须完整？-d 参数又是什么</title><link>/posts/qemu-img-commit-chain-complete/</link><pubDate>Sun, 18 Jan 2026 10:00:00 +0800</pubDate><guid>/posts/qemu-img-commit-chain-complete/</guid><description>qemu-img commit 的链必须是完整的，虽然 commit 的是 head，看起来和底层几级镜像没关系，但实际还是需要。commit 链的关系还可以是临时的，-d 参数决定 commit 后是否清空文件。</description></item><item><title>sanlock 的 wdmd 为什么在多 vg 场景下要禁用？</title><link>/posts/sanlock-wdmd-multi-vg-disable/</link><pubDate>Sat, 10 Jan 2026 10:00:00 +0800</pubDate><guid>/posts/sanlock-wdmd-multi-vg-disable/</guid><description>sanlock 的 wdmd 看门狗在多 vg 场景下不适合启用：只要一个锁空间续约失败，wdmd 就不喂狗，导致宿主机被强制重启。</description></item><item><title>ARM 架构下 CPU 模型设置为什么失效？只有 passthrough</title><link>/posts/arm-cpu-model-passthrough/</link><pubDate>Sun, 04 Jan 2026 10:00:00 +0800</pubDate><guid>/posts/arm-cpu-model-passthrough/</guid><description>在 ARM（aarch64）架构下，libvirt/QEMU 的 CPU 模型与特性禁用设置不生效，虚拟机看到的 CPU 依然是透传的物理 CPU。</description></item></channel></rss>