Adding a new pool

Often a site will acquire additional storage over the lifetime of a dCache instance. This may be to replace decomissioned or broken underlying storage hardware, or simply to increase the storage that is being made available.

There are two methods to include additional storage. Both are equivalent and achieve the same result.

[return to top]

Using dCacheConfigure.sh

The variable DCACHE_POOLS states which pools are available to dCache. The variable lists the pools as a space-separated list of information about each pool. To make a new pool, simply add the additional information.

The DCACHE_POOLS list items have the form hostname:size:abs-path, where hostname is the FQDN on which the pool will run, size is the size of the pool in Gigabytes and abs-path is the absolute path to the directory under which dCache will store all information about that pool.

As a specific example, add a third pool with the following values dcache-node.fzk.de:7:/pools/3. You will need to authorise dCacheConfigure.sh to make the necessary changes; this is done by setting the variable RESET_DCACHE_CONFIGURE to yes. After making the changes, your site-info.def file should look like:

DCACHE_POOLS="dcache-node.fzk.de:7:/pools/1 \
	dcache-node.fzk.de:7:/pools/2 \
	dcache-node.fzk.de:7:/pools/3"

Also remember to allow dCacheConfigure.sh to make changes
RESET_DCACHE_CONFIGURE="yes"

Once the site-info.def file is correct, re-run dCacheConfigure.sh to update the dCache configuration accordingly:

[root@dcache-node] # /opt/d-cache/bin/dCacheConfigure.sh -c config_sedcache -s /root/site-info.def
(many lines of output)

Once dCacheConfigure.sh has finished, be sure to adjust the site-info.def file so RESET_DCACHE_CONFIGURE is commented out.

You can verify that the extra pool is now running using the dcache script.

[root@dcache-node] # /opt/d-cache/bin/dcache pool ls
Pool        Domain          LFS          Size   Free Path
dcache-node_1 dcache-nodeDomain precious        7  37126 /pools/1/pool
dcache-node_2 dcache-nodeDomain precious        7  37126 /pools/2/pool
dcache-node_3 dcache-nodeDomain precious        7  37126 /pools/3/pool
Disk space is measured in GiB.

and by verifying the cellInfo page within the web interface: http://dcache-node.fzk.de:2288/cellInfo

[return to top]

The dcache command method

When adding an additional pool, an alternative approach is to use the dcache command directly. This involves three steps: first creating the various accounting and administrative files in the pool directory, then adding the pool to a dCache domain, the restarting that domain.

To create the necessary structure within an empty directory, use the command dcache pool create. The two required arguments are the pool's size and the directory.

[root@dcache-node] # mkdir -p /pools/4
[root@dcache-node] # /opt/d-cache/bin/dcache pool create 7G /pools/4/pool

Once the structure has been created, the new pool may be added using the pool add command:

[root@dcache-node] # /opt/d-cache/bin/dcache pool add dcache-node_4 /pools/4/pool

This adds the pool to the default dCache domain: dcache-nodeDomain. The new pool should be visable when listing the available pools:

[root@dcache-node] # /opt/d-cache/bin/dcache pool ls
Pool          Domain             LFS          Size   Free Path
dcache-node_1 dcache-nodeDomain precious        7  37126 /pools/1/pool
dcache-node_2 dcache-nodeDomain precious        7  37126 /pools/2/pool
dcache-node_3 dcache-nodeDomain precious        7  37126 /pools/3/pool
dcache-node_4 dcache-nodeDomain precious        7  37126 /pools/4/pool
Disk space is measured in GiB.

With the pool added to the dCache domain, the next time the domain starts, the additional pool will be included. So, the domain must be restarted for this to take effect:

[root@dcache-node] # /opt/d-cache/bin/dcache restart dcache-nodeDomain
Stopping dcache-nodeDomain (pid=3596) 0 Done
Starting dcache-nodeDomain  Done (pid=3749)