Administrator’s Command Line Guide

Table Of Contents
Chapter 3. Accessing Storage Clusters via S3 Protocol
a free/dirty bit mask. The region’s data is stored in the same file with an object’s B-tree. It provides atomicity
during the block’s allocation and deallocation. Every block in the region contains a header and object’s data.
The header stores the ID of an object to which the data belong. The ID is required for a pool-level
defragmentation algorithm that does not have an access to the object’s B-tree. A pool to store an object is
chosen depending on object size.
For example, a 30KB object will be placed into the pool for 32KB objects and will occupy a single 32KB object.
A 129KB object will be split into one 128KB part and one 1KB part. The former will be placed in the pool for
128KB objects while the latter will go to the pool for 4KB objects. The overhead may seem significant in case
of small objects as even a 1-byte object will occupy a 4KB block. In addition, about 4KB of metadata per
object will be stored on NS. However, this approach allows achieving the maximum performance, eliminates
free space fragmentation, and offers guaranteed object insert performance. Moreover, the larger the object,
the less noticeable the overhead. Finally, when an object is deleted, its pool block is marked free and can be
used to store new objects.
Multi-part objects are stored as parts (each part being itself an object) that may be stored on different object
servers.
3.1.3.4 S3 Management Tools
Object storage has two tools:
ostor for configuring storage components, and
s3-ostor-admin for user management, an application that allows to create, edit, and delete S3 user
accounts as well as manage account access keys (create and delete paired S3 access key IDs and S3
secret access keys).
3.1.3.5 Service Bucket
The service bucket stores service and temporary information necessary for the S3 storage. This bucket is
only accessible by the S3 admin (while the system admin would need access keys created with the
s3-ostor-admin tool). The information corresponds to the following names in the object storage:
Names with a /u/ prefix. Correspond to user data (user identifier, e-mail, access key ID, and secret
access key).
Names with an /m/ prefix. Correspond to temporary information on current multipart uploads and their
parts.
20