Skip to content
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)
Clone this wiki locally