cvmfs-virgo server and client setup
Documentation
CmvFS technical report 2.1-4
Hardware
Server installation and setup
Download RPMs
# wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-2-4.el6.noarch.rpm
# rpm -ivh cvmfs-release-2-4.el6.noarch.rpm
# wget https://ecsft.cern.ch/dist/cvmfs/kernel/2.6.32-358.18.1.el6/kernel-firmware-2.6.32-358.18.1.el6.aufs21.x86_64.rpm --no-check-certificate
# wget https://ecsft.cern.ch/dist/cvmfs/kernel/2.6.32-358.18.1.el6/kernel-2.6.32-358.18.1.el6.aufs21.x86_64.rpm --no-check-certificate
# wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.1.15/cvmfs-server-2.1.15-1.el6.x86_64.rpm --no-check-certificate
# wget https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.1.15/cvmfs-2.1.15-1.el6.x86_64.rpm --no-check-certificate
# yum install -y awstats webalizer
Server installation
# yum localinstall kernel*.rpm
Increase ulimit adding
* - nofile 8192
in the file
/etc/security/limits.d/90-nproc.conf
# reboot
# ulimit -n
8192
# yum localinstall cvmfs*.rpm
Setup cvmfs repository
# /etc/init.d/httpd restart
# chkconfig httpd on
# adduser virgo
# cvmfs_server mkfs virgo.infn.it
Owner of virgo.infn.it [root]: virgo
Creating configuration files... done
Creating CernVM-FS master key for virgo.infn.it in /etc/cvmfs/keys/virgo.infn.it.pub... done
Creating self-signed certificate for virgo.infn.it in /etc/cvmfs/keys/virgo.infn.it.crt... done
Create CernVM-FS Storage... done
Create Initial Repository... done
Mounting CernVM-FS Storage... done
Initial commit... New CernVM-FS repository for virgo.infn.it
Before you can install anything, call `cvmfs_server transaction`
to enable write access on your repository. Then install your
software in /cvmfs/virgo.infn.it as user virgo.
Once you're happy, publish using `cvmfs_server publish`
For client configuration, have a look at 'cvmfs_server info'
If you go for production, backup you software signing keys in /etc/cvmfs/keys/!
# ls /cvmfs/
virgo.infn.it
Software installation
- As
root
type cvmfs_server transaction
- Install software in
/cvmfs/virgoinfn.it
as user virgo
# su - virgo
-bash-3.2$ ls
new_repository
-bash-3.2$ cat /cvmfs/virgo.infn.it/helloworld.sh
#!/bin/sh
echo "Welcome on cvmfs for virgo VO"
chmod +x /cvmfs/virgo.infn.it/helloworld.sh
- As
root
exec cvmfs_server publish
(but outside the directory /cvmfs/virgo.infn.it
)
# cvmfs_server publish
Processing changes...
[add] /cvmfs/virgo.infn.it/helloworld.sh
Waiting for upload of files before committing...
Committing file catalogs...
Exporting repository manifest
Signing /var/spool/cvmfs/virgo.infn.it/tmp/manifest
Remounting newly created repository revision
cron to update the signature of a repository
# cat /etc/cron.weekly/cvmfs-resign.cron
#!/bin/sh
date >>/var/log/cvmfs-resign.log
/usr/bin/cvmfs_server info|grep valid >>/var/log/cvmfs-resign.log
/usr/bin/cvmfs_server resign >>/var/log/cvmfs-resign.log
/usr/bin/cvmfs_server info|grep valid >>/var/log/cvmfs-resign.log
# chmod +x /etc/cron.weekly/cvmfs-resign.cron
cvmfs repository info
# cvmfs_server info
Repository name: virgo.infn.it
Created by CernVM-FS 2.1.10
Stratum1 Replication Allowed: no
Whitelist is valid for another 29 days
Client configuration:
Add virgo.infn.it to CVMFS_REPOSITORIES in /etc/cvmfs/default.local
Create /etc/cvmfs/config.d/virgo.infn.it.conf and set
CVMFS_SERVER_URL=http://localhost/cvmfs/virgo.infn.it
CVMFS_PUBLIC_KEY=/etc/cvmfs/keys/virgo.infn.it.pub
Copy /etc/cvmfs/keys/virgo.infn.it.pub to the client
Repository structure
TODO
Client setup
WN and UI
cvmfs repository
# SL5x/CentOS5x
wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-2-4.el5.noarch.rpm
rpm -ivh cvmfs-release-2-4.el5.noarch.rpm
# SL6x/CentOS6x
wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-2-4.el6.noarch.rpm
rpm -ivh cvmfs-release-2-4.el6.noarch.rpm
Client installation and setup
# yum install cvmfs-keys cvmfs cvmfs-init-scripts
# cvmfs_config setup
Starting CernVM-FS: [ OK ]
# cat /etc/cvmfs/default.local
CVMFS_REPOSITORIES=virgo.infn.it
# ll /etc/cvmfs/keys/
total 24
[...]
-r--r--r-- 1 root root 451 Sep 25 16:24 virgo.infn.it.pub
# cat /etc/cvmfs/config.d/virgo.infn.it.conf
CVMFS_SERVER_URL=http://cvmfs-virgo.cnaf.infn.it/cvmfs/virgo.infn.it
CVMFS_PUBLIC_KEY=/etc/cvmfs/keys/virgo.infn.it.pub
CVMFS_HTTP_PROXY="http://squid01.cnaf.infn.it:3128|http://squid02.cnaf.infn.it:3128"
Download the public key to (
/etc/cvmfs/keys/virgo.infn.it.pub
) from
HERE
# /etc/init.d/autofs restart
# chkconfig autofs on
Client test
cvmfs_config chksetup
# cvmfs_config chksetup
OK
cvmfs_config showconfig
# cvmfs_config showconfig virgo.infn.it
CVMFS_REPOSITORY_NAME=virgo.infn.it
CVMFS_USER=cvmfs # from /etc/cvmfs/default.conf
CVMFS_NFILES=65536 # from /etc/cvmfs/default.conf
CVMFS_CACHE_BASE=/var/lib/cvmfs # from /etc/cvmfs/default.conf
CVMFS_CACHE_DIR=/var/lib/cvmfs/shared # from
CVMFS_MOUNT_DIR=/cvmfs # from /etc/cvmfs/default.conf
CVMFS_QUOTA_LIMIT=4000 # from /etc/cvmfs/default.conf
CVMFS_SERVER_URL=http://cvmfs-virgo.cnaf.infn.it/cvmfsvirgo. # from /etc/cvmfs/config.d/virgo.infn.it.conf
CVMFS_DEBUGLOG=
CVMFS_HTTP_PROXY=http://squid01.cnaf.infn.it:3128|http://squid02.cnaf.infn.it:3128 # from /etc/cvmfs/config.d/virgo.infn.it.conf
CERNVM_GRID_UI_VERSION=
CVMFS_SYSLOG_LEVEL=
CVMFS_SYSLOG_FACILITY=
CVMFS_TRACEFILE=
CVMFS_TIMEOUT=5 # from /etc/cvmfs/default.conf
CVMFS_TIMEOUT_DIRECT=10 # from /etc/cvmfs/default.conf
CVMFS_PUBLIC_KEY=/etc/cvmfs/keys/virgo.infn.it.pub # from /etc/cvmfs/config.d/virgo.infn.it.conf
CVMFS_KEYS_DIR=/etc/cvmfs/keys # from /etc/cvmfs/default.conf
CVMFS_MAX_TTL=
CVMFS_RELOAD_SOCKETS=/var/run/cvmfs # from /etc/cvmfs/default.conf
CVMFS_DEFAULT_DOMAIN=
CVMFS_MEMCACHE_SIZE=
CVMFS_KCACHE_TIMEOUT=
CVMFS_ROOT_HASH=
CVMFS_REPOSITORIES=virgo.infn.it # from /etc/cvmfs/default.local
CVMFS_PROXY_RESET_AFTER=300 # from /etc/cvmfs/default.conf
CVMFS_MAX_RETRIES=1 # from /etc/cvmfs/default.conf
CVMFS_BACKOFF_INIT=2 # from /etc/cvmfs/default.conf
CVMFS_BACKOFF_MAX=10 # from /etc/cvmfs/default.conf
CVMFS_IGNORE_SIGNATURE=no # from /etc/cvmfs/default.conf
CVMFS_STRICT_MOUNT=no # from /etc/cvmfs/default.conf
CVMFS_SHARED_CACHE=yes # from /etc/cvmfs/default.conf
CVMFS_NFS_SOURCE=no # from /etc/cvmfs/default.conf
CVMFS_NFS_SHARED=
CVMFS_CHECK_PERMISSIONS=yes # from /etc/cvmfs/default.conf
CVMFS_AUTO_UPDATE=
CVMFS_MOUNT_RW=no # from /etc/cvmfs/default.conf
Software check
# /cvmfs/virgo.infn.it/helloworld.sh
Welcome on cvmfs for virgo VO
cvmfs_config stat
# cvmfs_config stat
Running /usr/bin/cvmfs_config statvirgo.infn.it:
VERSION PID UPTIME(M) MEM(K) REVISION EXPIRES(M) NOCATALOGS CACHEUSE(K) CACHEMAX(K) NOFDUSE NOFDMAX NOIOERR NOOPEN HITRATE(%) RX(K) SPEED(K/S) HOST PROXY ONLINE
2.1.14.0 7349 2 23024 2 57 1 28 4096001 0 65024 0 2 50 3 n/a http://cvmfs-virgo.cnaf.infn.it/cvmfs/virgo.infn.it http://squid02.cnaf.infn.it:3128 1
--
PaoloVeronesi - 2014-10-01