-
Notifications
You must be signed in to change notification settings - Fork 48
export.conf.5
adrenaline edited this page Jan 6, 2014
·
17 revisions
EXPORT.CONF(5) User Manuals EXPORT.CONF(5)
NAME
export.conf - rozofs export daemon configuration file
DESCRIPTION
export.conf is manage throw libconfig <http://www.hyperrealm.com/libconfig/> and
thus complies to the libconfig grammar.
layout
It's the transform layout used by rozofs. Each file data will be transform
in *forward* chunks, only *inverse* of them will be need to reconstruct
data (read data), and they will be distributed over *safe* storages.
Valid layouts are :
- 0 (inverse = 2, forward = 3, safe = 4);
- 1 (inverse = 4, forward = 6, safe = 8);
- 2 (inverse = 8, forward = 12, safe = 16);
volumes
It's a list of volume. Each volume is identified by its vid and may contain
a list of one or more clusters (cids). Each clusters is identified by its
cid and may contain at least a list of *safe* storages of the same
capacity (sids).
vid: (volume identifier)
- must be an integer.
- must be unique for each volume managed by this exportd.
cid: (cluster identifier)
- must be an integer.
- must be unique for each cluster managed by this exportd.
sid: (storage identifier)
- must be an integer (between 1 and 255).
- must be unique within a cluster.
host: (IP or hostname of the physical node that contains the storage)
- must be a valid IPv4 address or a valid hostname.
WARNING:
- Use a new cluster when scaling with storage of different capacity.
- Modifying or removing sid of storage can (will) lead to DATA LOSS !!!
- Modifying or removing cid can (will) lead to DATA LOSS !!!
exports
It's the list of rozo file system exported by the exportd daemon. Each
exported file system is identified by its eid. root is the directory path
where the metadata for this file system are stored. md5 is a 22 characters
md5 crypt of the password required to mount the exported filesystem.
squota is the number of data blocks that can be stored on a file system
before being notified. hquota is the number maximum of data blocks that can
be stored on a file system. vid is the volume where the file data for this
exported filesystem will be stored.
eid: (export identifier)
- must be an integer.
- must be unique for each exported filesystem managed by this
exportd.
root: (directory path where metadata for this filesystem will be stored)
- must be an existing directory.
- must be unique for each filesystem managed by this exportd.
md5: (22 characters md5 crypt of the password)
- it could be generated with: md5 utility (see md5pass (1))
the salt used should be: rozofs. Only the last 22 characters
should be used (omitting newline).
Example:
for password "mypass":
md5 is: md5pass mypass rozofs | cut -c 11-
that is: AyBvjVmNoKAkLQwNa2c4b0
- For no authentication use empty md5.
squota: (soft quota)
- squota stands for soft quota which are non blocking quotas
i.e write operations will succeeded but exceeded quotas will
be notified in /var/run/exportd/export_[eid] monitoring file.
- for no soft quota use empty squota.
hquota: (hard quota)
- hquota stands for blocking quotas which are blocking quotas
i.e every attempt to write beyond hquota will fail (EDQUOT).
- for no hard quota use empty hquota.
for squota and hquota:
- quotas are express in nb. of blocks (no suffix), Kilo, Mega or
Giga Bytes accordind to suffix K, M or G. Only the first
letter of suffix is used that is: 128G is equivalent to
128Giga wich in turn can be 128GigaBytes etc...
- warning: any other suffix leads to quota express in blocks.
vid: (volume identifier used to store file data for this filesystem)
- must be an integer.
- should exist in volume list.
- several filesystem can use the same volume.
EXAMPLE
# sample /etc/rozofs/export.conf file
layout = 0;
volumes = # List of volumes
(
{
# First volume
vid = 1; # Volume identifier = 1
cids= # List of clusters for the volume 1
(
{
# First cluster of volume 1
cid = 1; # Cluster identifier = 1
sids = # List of storages for the cluster 1
(
{sid = 01; host = "storage-node-1-1";},
{sid = 02; host = "storage-node-1-2";},
{sid = 03; host = "storage-node-1-3";},
{sid = 04; host = "storage-node-1-4";}
# ...
);
},
{
# Second cluster of volume 1
cid = 2; # Cluster identifier = 2
sids = # List of storages for the cluster 2
(
{sid = 01; host = "storage-node-2-1";},
{sid = 02; host = "storage-node-2-2";},
{sid = 03; host = "storage-node-2-3";},
{sid = 04; host = "storage-node-2-4";}
# ...
);
}
);
},
{
# Second volume
vid = 2; # Volume identifier = 2
cids = # List of clusters for the volume 2
(
{
# First cluster of volume 2
cid = 3; # Cluster identifier = 3
sids = # List of storages for the cluster 3
(
{sid = 01; host = "storage-node-3-1";},
{sid = 02; host = "storage-node-3-2";},
{sid = 03; host = "storage-node-3-3";},
{sid = 04; host = "storage-node-3-4";}
# ...
);
}
);
}
)
;
exports = ( # List of exported filesystem
# First filesystem exported
{eid = 1; root = "/path/to/foo"; md5="AyBvjVmNoKAkLQwNa2c4b0";
squota="128G"; hquota="256G"; vid=1;},
# Second filesystem exported
{eid = 2; root = "/path/to/bar"; md5="";
squota=""; hquota = ""; vid=2;}
# ...
);
FILES
/etc/rozofs/export.conf (/usr/local/etc/rozofs/export.conf)
The system wide configuration file.
AUTHOR
Fizians <http://www.fizians.com>
SEE ALSO
rozofs(7), exportd(8)
Rozofs MAY 2013 EXPORT.CONF(5)