Knowledge Base
Storage
vSAN Architecture
14 min
overview korgrid's vsan employs a sophisticated block level architecture that forms the foundation of its distributed storage system this architecture enables efficient data distribution, high availability, and optimal performance across the entire storage infrastructure block level operations data block management block creation vm disks are divided into multiple blocks each block is assigned a unique cryptographic hash block size is optimized for performance and efficiency metadata tracks block relationships and locations hash based distribution block identification each data block receives a cryptographic hash value hash serves as a unique identifier for the block used for both location mapping and deduplication distribution algorithm blocks are distributed based on hash values ensures even distribution across available nodes prevents hot spots in the storage system facilitates efficient data retrieval data distribution architecture primary storage block placement primary copy of each block stored on optimal node placement determined by hash based algorithm considers storage tier requirements optimizes for performance and capacity access patterns reads prioritize single copy access for efficiency system defaults to reading from primary copy automatically reads from redundant copy if primary is slow/unresponsive optimizes by reading from local redundant copy when on same node write operations always update both primary and redundant copies automatic redistribution as needed data access read operations quick block location lookup via hash intelligent source selection prioritizes primary copy uses local redundant copy when on same node fails over to redundant copy if primary is unresponsive optimized for minimal network traffic performance optimization through locality awareness write operations new block hash generation simultaneous update of primary and redundant copies guaranteed write consistency across copies metadata updates consistency maintenance redundant storage redundancy management secondary copies maintained for data protection distribution across different nodes automatic synchronization of copies configurable redundancy levels failover handling automatic failover to redundant copies transparent to applications and vms immediate availability during node failures self healing capabilities hash map functionality hash map structure maps block hashes to physical locations maintains block metadata tracks redundant copies handles version control location tracking real time block location updates efficient lookup mechanisms optimized for large scale systems supports dynamic redistribution cross node distribution node management dynamic node addition and removal automatic rebalancing workload distribution resource optimization data flow inter node communication protocols efficient data transfer bandwidth optimization latency management performance optimization data access optimization caching block level cache management frequently accessed data optimization cache coherency maintenance performance acceleration i/o path optimized read/write paths minimal hop routing direct block access reduced latency efficiency features deduplication block level deduplication hash based identification space efficiency performance impact management system resilience fault tolerance node failures automatic failure detection immediate failover data accessibility maintenance recovery initiation network issues path redundancy alternative route selection communication reliability performance maintenance data integrity block validation continuous integrity checking hash validation corruption detection automatic repair initiation consistency maintenance transaction consistency data coherency version control synchronization management tenant storage isolation each tenant has dedicated storage volumes with encryption support within their lxc container network and administrative separation doesn't affect vsan block sharing between containers storage isolation is logical through lxc containerization, not physical at the block level container filesystem layers provide tenant separation while sharing underlying blocks