Administrator’s Command Line Guide

Table Of Contents
3.1. About Object Storage
Names with a /tmp/ prefix. Correspond to information on operations that consist of several atomic
alterations of objects in the storage. These names are necessary in case the operation fails.
3.1.4 Data Interchange
In object storage, every service has a 64-bit unique identifier. At the same time, every object has a unique
name. The directory part of an object’s name determines a name server to store it, and the full object’s
name—an object server to store the object’s data. Name and object server lists are stored in a vstorage
cluster directory intended for object storage data and available to anyone with a cluster access. This
directory includes subdirectories that correspond to services hosted on name and object servers. The names
of subdirectories match hexadecimal representations of the service’s ID. In each service’s subdirectory, there
is a file containing an ID of a host that runs the service. Thus, with the help of a gateway, a system
component with a cluster access can discover an ID of a service, detect its host, and send a request to it.
S3 gateway handles data interchange with the following components:
Clients via a web server. Gateway receives S3 requests from users and responds to them.
Name servers. Gateway creates, deletes, changes the names that correspond to S3 buckets or objects,
checks their existence, and requests name sets of bucket lists.
Object servers in the storage. Gateway sends data altering requests to object and name servers.
3.1.4.1 Data Caching
To enable efficient data use in object storage, all gateways, name servers, and object servers cache the data
they store. Name and object servers both cache B-trees.
Gateways store and cache the following data received from name services:
Lists of paired user IDs and e-mails.
Data necessary for user authentication: access key IDs and secret access keys. For more information on
their semantics, consult the Amazon S3 documentation.
Metadata and bucket’s ACLs. The metadata contains its epoch, current version identifier and transmits
it to NS to check if the gateway has the latest version of the metadata.
21