Skip to content

Install

Installing flexBlock means placing one static binary on the host, installing the grant Paradigm4 issued for your volume, and making sure the host can reach the bucket.

Before you begin, check the Requirements. You need:

  • Linux 6.1 or newer, with ublk_drv loadable, and root.
  • A cache device: a local NVMe drive or partition.
  • A bucket and prefix in object storage, the prefix empty.
  • Your grant file, signed by Paradigm4, naming both.
  1. Install the binary

    Paradigm4 delivers flexblock as a statically linked executable for x86_64 and aarch64. Copy the one for your architecture into the path, load the ublk module, and confirm the binary runs.

    Terminal window
    sudo install -m 0755 flexblock /usr/local/bin/flexblock
    sudo modprobe ublk_drv
    flexblock --version
    flexblock --help

    To load ublk_drv at every boot, list it in a modules-load file. The systemd unit also loads it before each start; see Running Under systemd.

    Terminal window
    echo ublk_drv | sudo tee /etc/modules-load.d/flexblock.conf
  2. Install the license grant

    Your grant is a small JSON file signed by Paradigm4. It is specific to one bucket and prefix, and every flexblock command on every host that will serve the volume needs a copy. Install it where flexblock looks by default:

    Terminal window
    sudo install -D -m 0644 grant.json /etc/flexblock/grant.json

    Or keep it elsewhere and point at it with the global --grant-file flag. The grant contains no secrets and no object-storage credentials; it identifies the volume and the terms under which it may be served. See Licensing.

  3. Configure credentials

    Configure your object storage credentials as usual, for example an instance role or principal, a credentials file, or environment variables. FlexBlock never takes credentials on the command line. See Credentials.

  4. Verify the grant and credentials

    Check that the grant and your credentials agree before touching any device:

    Terminal window
    sudo -E flexblock show --remote

    show --remote uses only read and list. init, attach and start also check write, overwrite and delete before they change anything.

A permission problem surfaces as a permanent storage error naming the provider, the operation and the HTTP status, for example gcs LIST flexblock/acme-0001/ [403], and the command exits with code 14.

  • Container image. FlexBlock can also run from its runtime container image. See Container Image.
  • Without NVMe or a cloud bucket. For a trial, a regular file can stand in for the cache device and a local emulator for the bucket. See Evaluating Without Hardware.