重构
-
不重启系统,如何实现 SPDK 用户态存储引擎元数据版本的在线热升级?
在构建基于 SPDK(Storage Performance Development Kit)的高性能用户态存储引擎时,**“在线热升级”(Live Upgrade / Hot Upgrade)**通常是研发中后期必须啃下的硬骨头。 ...
-
解决RocksDB在时序高并发场景下MemTable频繁Flush、WAL积压与写放大的系统性方案
在基于 RocksDB 构建高并发时序数据库(TSDB)时,很多架构师和内核开发人员都会遭遇一个经典的技术「死锁」: 在高吞吐写入下,为了保证写入性能和防止 OOM,系统会频繁触发 MemTable Flush。这看似释放了内存,却直...
-
LSM-Tree 存储引擎如何在 SSD 上实现「写放大」自救?
在现代高并发写入场景中,LSM-Tree(Log-Structured Merge-Tree)凭借其将随机写转化为顺序写的特性,成为了 RocksDB、Cassandra 等主流存储引擎的基石。然而,这种设计天然带来了一个致命的副作用: ...
-
用户态 VFIO 驱动如何实现不依赖内核驱动切换的 PCI 设备热插拔?
在高性能网络和存储领域(如 DPDK、SPDK),为了追求极致的吞吐量和低延迟,通常会将 PCI 设备完全交由用户态驱动(VFIO)接管。 但在实际生产环境中,服务器运行期间动态增加网卡、更换故障硬盘(NVMe)是常态。传统的内核驱动...
-
穷玩 HomeLab:双盘位 N100 小主机跑 PVE,怎么用 ZFS 做最低成本的容灾?
在 HomeLab 圈子里,N100 双盘位小主机(比如各类双网口/多网口轻量 NAS、小主机)几乎是性价比的代名词。 但双盘位跑 Proxmox VE (PVE) 会面临一个尴尬的痛点: 如果直接做 ZFS Mirror(镜像),可...