Skip to content

comp-dev-cms-ita/compose-xrootd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What will be installed:

  • xrootd proxy-cache server
  • X509 proxy renewer to allow a valid proxy to be always available to read data from AAA

Requirements

  • ❗ port 30443 of the host open toward the clients that will use the cache
  • at least 16GB of RAM, but 32 is a recommended minimum
  • O(10TB) of disk space for data caching
  • 10Gbps connectivity
  • docker
    • most commonly you will only need the following:
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
  • docker-compose
    • on linux, usually this is done via:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  • ❗ User or robot x509 certificates into certs folder named as usercert.pem and usercert.key
    git clone https://github.com/comp-dev-cms-ita/compose-xrootd
    cd compose-xrootd
    mkdir -p certs
    echo "MYUSER CERTIFICATE" > ./certs/usercert.pem
    echo "MYUSER CERTIFICATE KEY" > ./certs/usercert.key
    chmod 600 ./certs/usercert.key
  • a valid telegraf token to be able to push metrics to the central InfluxDB
    • please contact diego.ciangottinipg.infn.it to obtain one
    • then insert it in telegraf-config/telegraf.conf where you find token = "CHANGEME"
  • put your site name in place if the tag SITENAME HERE in the telegraf-config/telegraf.conf file
  • allow telegraf to monitor the docker metrics with the following command: echo "GID=$(stat -c '%g' /var/run/docker.sock)" >> .env

Preparation

First of all create all the needed directories:

mkdir -p logs
mkdir -p proxy
mkdir -p data
mkdir -p metadata

N.B. if you want to provide an external volume to store data, you can simply mount it as ./data folder.

In .env file you can find the main knobs to tweak the cache configuration. Among the others you should adjust the CACHE_RAM_GB to be between one third and an half of your total machine memory (e.g. for a machine with a total of 4GB of RAM, you could put CACHE_RAM_GB=2)

Deploy

Now everything should be ready to go. Bring up the system with:

docker-compose up -d

and monitor the status via a simple docker ps command. When everything is in status healthy (that can take several minutes), you should be able to find the logs of the xrootd daemon on ./logs folder.

Configure WNs to select the cache instance by default

Please follow the WN deployment instructions