1.Inflight机制存在的原因
在QEMU/KVM/SPDK/DPDK这种架构下,vhost相关进程会因为各种异常概率crash的,在DPDK这种网络架构下,最多是产生丢包效应,一旦vhost进程拉起重连后,DPDK网络架构仍可以正常工作,而对于SPDK则不可行,因为存储系统中丢失的任一块请求在文件系统中都可能表意元数据,导致文件系统异常,对于用...
代码:git://git.qemu-project.org/qemu.git v2.9.0
在QEMU doc描述的块设备cache参数:
cache is "none", "writeback", "unsafe", "directsync" or "writethrough" and controls how the host cache is used to access block data.
cache mode
cache.writeback
cache.direct
cache.no-flush
writeback
...
源代码:linux-3.16.37-git, qemu-v2.7
1.vm启动时qemu的代码
virtio block的qemu cmd:
x86_64-softmmu/qemu-system-x86_64 -enable-kvm -cpu host -m 256 -smp 1 -drive file=~/vm/centos6-virtio.qcow2,if=none,id=drive-virtio-disk,format=qcow2 -device virtio-blk-pci,bus=pci.0,drive=drive-virtio-disk,id=...
ext2在设计之初的时候就是通过链表的方式管理目录下的文件项目,ext3,ext4也是直接继承过来了,但随着单个目录下管理的文件越来越多到几十万个,线性的链表查找文件,创建文件(先要查找同名文件)越来越慢,时间复杂的达到了O(n)的级别,尤其对于当前云存储大数据等概念,读写速度是不能接受的。
为了能快速查找,...
从《Finding a needle in Haystack: Facebook’s photo storage》大致对比着翻译看了几遍,有些理解和想法,便记录下来。
Haystack和TFS都是面向对象的分布式存储系统,最主要的需求都是为了解决PB级别的图片存储问题,文中也提到了一些设计目标,但设计目标是问题驱动的,先看facebook前期存储模型:
它们存在的问题...