File System Creation

A S3QL file system is created with the mkfs.s3ql command. It has the following syntax:

mkfs.s3ql [options] <storage url>

This command accepts the following options:

--authfile <path>

Read authentication credentials from this file (default: /home/nikratio/.s3ql/authinfo2).

--cachedir <path>

Store cached data in this directory (default: /home/nikratio/.s3ql).

--backend-options <options>

Backend specific options (separate by commas). See backend documentation for available options.

-L, --label <name>

Filesystem label

--data-block-size <size>

Block size (in KiB) to use for storing file contents. Files larger than this size will be stored in multiple backend objects. Backend object size may be smaller than this due to compression. [default: 1024]

--metadata-block-size <size>

Block size (in KiB) to use for storing filesystem metadata. Backend object size may be smaller than this due to compression. [default: 64]

--plain

Create unencrypted file system.

--max-connections <no>

Maximum number of concurrent backend I/O operations (default: 32). This is independent of –max-threads, which governs compression.

--max-threads <no>

Number of parallel compression/encryption threads to use (default: auto). This bounds CPU parallelism only and is independent of –max-connections.

--debug

Activate debugging output from all S3QL modules. Debug messages are written to the destination given by –log.

--debug-modules <module>

Activate debugging output from the named module. May be given multiple times; use ‘all’ for everything. Debug messages are written to the destination given by –log.

--quiet

be really quiet

--install-completion

Install completion for the current shell.

--show-completion

Show completion for the current shell, to copy it or customize the installation.

--help

Show this message and exit.

Unless you have specified the --plain option, mkfs.s3ql will ask you to enter an encryption password. This password will not be read from an authentication file specified with the --authfile option to prevent accidental creation of an encrypted file system.

Note that:

  • All data that is stored under the given storage url is assumed to managed exclusively by S3QL. Trying to manually save additional objects (or remove or manipulate existing objects) will lead to file system corruption, and fsck.s3ql may delete objects that do not belong to the file system.

  • With most storage backends, slashes in the storage url prefix do not have special meaning. For example, the storage urls s3://mybucket/myprefix/ and s3://mybucket/myprefix are distinct. In the first case, the prefix is myprefix/, while in the second it is myprefix.

  • S3QL file systems can not be “stacked”, i.e. you cannot have one file system stored at s3://bucketname/outerprefix and a second one at s3://bucketname/outerprefix/innerprefix.