Skip to content
@rawstor

RawStor

RawStor

RawStor Logo

Constructor for horizontally scalable storages.

🚦Project status

Active "Work In Progress" - we already validated the concept and are working on a prototype. Goals:

  • First OST prototype
  • libRawStor extensive logic
  • QEMU VM successful start and operation
  • FIO backend implemented

🚀 Our Roadmap

🔤 Naming Convention

(Some terms are borrowed from Lustre; an attentive reader may notice some similarities):

  • **T (example - OST) - Target (shard)
  • **S (example - OSS) - Server (node) with shards of this role

Components (roles):

  • Object storage target (OST)
    • directly responsible for storing data (parts of objects)
    • per disk/partition
    • does not handle redundancy
  • Metadata storage target (MDT)
    • stores mapping "part of object->OST"
    • in the case of block storage, it is largely static, used mainly for initial allocation
  • Management server (MGS) (optional)
    • entry point with basic information about SDS (lists of MDS/OSS and so on)
  • Client library
    • a library implementing a basic client for SDS
    • higher-level "facades" should be built on top of it, such as the QEMU driver, S3 gateway, and so on
    • what distinguishes rawstor from other solutions is that the responsibility for redundancy and data preparation lies expicitly on the client
    • if service operations in SDS (such as recovering redundancy when a server/disk fails) are needed, such logic should be based on the client library with one difference being that it can be run in another mode closer to the data

🏗️ Core Components

  • first and initial example of OST server implementation
  • first and initial example of client library implementation

Patched external tools:

  • see rawstor branch
  • see rawstor branch

Pinned Loading

  1. librawstor librawstor Public

    C++ 4

  2. rawstor_docs rawstor_docs Public

    2

  3. rawstor_ost rawstor_ost Public

    C 2

  4. rawstor_bench rawstor_bench Public

    Python 1

  5. fio fio Public

    Forked from axboe/fio

    Flexible I/O Tester

    C

  6. qemu qemu Public

    Forked from qemu/qemu

    Official QEMU mirror. Please see https://www.qemu.org/contribute/ for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website.

    C

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…