Skip to content

Evaluating Without Hardware

For evaluation you do not need a spare NVMe drive or a cloud bucket. A regular file stands in for the NVMe device, and a local emulator stands in for the bucket:

ProviderLocal stand-in
S3An S3-compatible server
GCSfake-gcs-server
BlobAzurite

The kernel requirements still apply: Linux 6.1 or newer with ublk_drv and io_uring, and root. See Requirements.

The grant for such a setup names the provider and the emulator’s endpoint, just as a production grant names a cloud bucket. Ask Paradigm4 (info@paradigm4.com) for an evaluation grant that names your emulator:

  • S3-compatible server: provider s3, with the server’s endpoint and, if the server needs it, path-style addressing.
  • fake-gcs-server: provider gcs, with the emulator’s http:// endpoint.
  • Azurite: provider blob, with Azurite’s endpoint and its development account, devstoreaccount1.

Install it as described in Install.

Pass the emulator’s credentials through the provider’s usual environment variables, and run the commands with sudo -E so they survive sudo:

  • Azurite: put Azurite’s well-known development key in AZURE_STORAGE_KEY.
  • fake-gcs-server: an http:// endpoint with no GOOGLE_APPLICATION_CREDENTIALS set is treated as an emulator and used without credentials.
  • S3-compatible server: export AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY for the server.
  1. Create a file-backed cache

    The file must hold at least one chunk plus metadata. This example uses 4 GiB.

    Terminal window
    truncate -s 4G /var/tmp/cache.img
  2. Create the volume and attach the file

    The volume can be much larger than the cache file.

    Terminal window
    sudo -E flexblock init --device-size 100G --attach /var/tmp/cache.img
  3. Start serving

    Terminal window
    sudo -E flexblock start /var/tmp/cache.img

    start probes the file for O_DIRECT support and falls back to buffered I/O on its own. --cache-io-mode buffered is needed only to force that choice.

  4. Use the device

    From here the device behaves like any other. Format, mount and stop it as in Your First Volume.