API Doc
Search Docs...
⌘ K
ABSAVE

Chunk

Chunk is the data management service of ABS, deployed on each node, and it includes two relatively independent modules: Access and LSM.

Access

The Access module is similar to the storage controller in traditional storage systems. However, unlike traditional storage, a cluster can deploy up to 255 Access modules. These Access modules accept unified management by Meta and are logically equivalent, allowing access to all data within the entire cluster. This architectural design is key to achieving linear scalability of cluster performance.

Access fulfills two roles in ABS:

  • Protocol gateway

    Handles read and write requests from the iSCSI initiator to the iSCSI LUN, converting these requests into read and write operations on internal volume objects in ABS. Access runs on every physical host, and each Access instance can handle client requests to access any volume in the cluster. Through the distributed lease protocol mechanism of ABS, Access ensures that at any given time, only one Access instance handles read and write requests for a specific client and LUN combination. This prevents risks of access conflicts and data corruption when performing I/O path switching based on failback or link load balancing needs.

  • Data access entry

    Handles the consistency updates of each data shard in the redundancy policy (replication or erasure coding), as well as the data migration and recovery process.

LSM

LSM (Local Storage Manager) is the local storage management module. It is responsible for pooling storage resources on each physical machine, managing and allocating storage space based on performance and capacity, and providing a read-write interface based on data blocks (extent). LSM does not rely on existing Linux file systems; it directly implements a unique data distribution mode and management logic on bare devices. This design is tailored to the specific storage requirements of ABS. It removes unnecessary file semantics found in general-purpose file systems, avoids the inherent overhead of Linux file systems, and is therefore better suited to high-performance block storage access scenarios. In addition, LSM provides a higher level of fault tolerance compared to standard file systems through mechanisms like complete data logging.

In this article