[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fFmd4txrdRlJQU-bD9TcT7GG_hFxuOjo9WxkbIQ3f4FI":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":36,"sourceUrl":37,"status":38,"seoTitle":7,"seoDescription":9,"canonicalUrl":35,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"366cdfd1-a8d3-4be8-893a-a298f1a45d23","article","Erasure Coding：不用存三份完整副本，也能扛硬盘故障吗？","erasure-coding-data-resilience-storage","纠删码将数据与校验信息分片存储，在符合恢复条件时重建丢失数据，以存储效率换取额外计算和恢复成本。本文用 Ceph 说明关键取舍。","保存三份完整副本很直观：一块硬盘坏了，还能从另外两份读回。但三副本也意味着存储原始数据要付出约三份容量成本。Erasure Coding（纠删码）使用另一种办法：把数据拆成若干数据分片，再计算额外的校验分片；丢失一定数量的分片时，可以从剩余分片重建原始数据。\n\n在常见的 K+M 配置中，K 代表数据分片数量，M 代表额外编码分片数量。系统把一段对象编码为 K 个数据分片和 M 个校验分片，再把它们放到不同磁盘或故障域。只要可用分片数量和组合满足编码方案的恢复条件，数据就能重建。直觉上像把一道题拆成几份信息，再多保存几条冗余关系，缺几块仍可解出答案。\n\n和完整副本相比，纠删码通常能用较少额外容量提供一定故障容忍度，但不是“无成本省空间”。写入时需要计算编码，读取缺失数据可能需要从多个分片收集信息；恢复故障磁盘上的数据会带来网络、CPU 和磁盘 I\u002FO 负载。小对象、频繁覆盖或延迟敏感读写是否适合，取决于实现和工作负载，不能只按容量比例决定。\n\n放置策略同样重要。若数据分片和校验分片都落在同一机架，机架故障可能一次带走太多碎片，使原本可恢复的数据不可恢复。系统因此要把分片分散到不同磁盘、主机甚至机架等故障域，并监测降级状态。配置中的 M 并不是对所有灾难的保证：多个相关故障、维护操作或副本布局错误都可能超出容错范围。\n\n以 Ceph 为例，纠删码池会按配置保存数据与编码分片，并通过恢复过程修复缺失部分。需要支持覆盖写时，往往还有额外机制和性能权衡。评估生产方案时应同时测量空间利用率、编码 CPU、读写时延、重建吞吐和故障期间的服务质量，还要验证故障域分布是否真的符合目标。\n\n纠删码适合愿意用计算与恢复复杂度换取更高存储效率的系统。完整副本仍然简单、快速且易于理解；纠删码则让冗余从“多存几份”变成“存足够的信息”，两者各有适用范围。\n\n来源：[Ceph 官方文档：Erasure Coding](https:\u002F\u002Fdocs.ceph.com\u002Fen\u002Flatest\u002Farchitecture\u002Ferasure-coding\u002F)","\u002Fuploads\u002F2026-10-06\u002Fb60f1262-88da-48f5-972d-075b96d0020a.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"8d35e42e-9f5b-4dd9-b30f-dc2c53d06096","硬件","hardware",{"id":32,"name":33,"slug":34},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",null,"Ceph Official Documentation：Erasure Coding","https:\u002F\u002Fdocs.ceph.com\u002Fen\u002Flatest\u002Farchitecture\u002Ferasure-coding\u002F","published",false,54,0,"2026-10-06T00:00:00.000Z","2026-10-06T07:51:46.328Z",[45,54,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":52,"createdAt":53},"d4a1ef13-fa42-41f3-a9d2-635f47d801d0","RISC-V PMP：处理器怎样给不同特权级划出内存禁区？","riscv-pmp-physical-memory-protection","RISC-V PMP 由高特权级软件配置物理内存区域访问规则，并由处理器在较低权限代码访问时执行检查。本文区分 PMP 与虚拟内存，介绍它在固件和嵌入式安全中的作用及实现边界。","\u002Fuploads\u002F2026-10-13\u002Fecfdd306-c8d2-4bfa-984e-7f579fd86f61.jpg",41,"2026-10-13T00:00:00.000Z","2026-10-13T02:13:39.212Z",{"id":55,"type":6,"title":56,"slug":57,"summary":58,"coverUrl":59,"authorName":14,"sno":60,"publishedAt":42,"createdAt":61},"56b94746-1551-4111-a1e9-6dc7e62e1604","RDMA：两台机器能否让网卡直接搬运注册内存？","rdma-registered-memory-and-remote-access","RDMA 让网卡在授权和注册内存范围内处理远端数据搬运。本文解释内存注册、访问权限与完成队列，避免把它误解为完全没有 CPU 参与。","\u002Fuploads\u002F2026-10-06\u002F86d526f9-9a46-46aa-8c81-1efd4aae1284.jpg",49,"2026-10-06T07:51:32.204Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":68,"publishedAt":69,"createdAt":70},"67ba2085-7ee6-4379-9d0c-6372fed783ae","Intel TDX：云服务器管理员也看不到虚拟机里的数据吗？","intel-tdx-confidential-vm-explained","Intel TDX 通过处理器支持的隔离机制，将虚拟机运行环境划成受保护的 Trust Domain，降低宿主软件直接读取或篡改其内存的机会。本文说明机密计算解决什么信任问题，也谈远程证明、侧信道和来宾系统自身的风险。","\u002Fuploads\u002F2026-10-17\u002Ff8891699-ca7f-4edb-b64d-1b4db6421b0e.jpg",50,"2026-10-17T00:00:00.000Z","2026-10-17T03:08:39.718Z"]