Commit d3681850 authored by Victor Kotlyar's avatar Victor Kotlyar
Browse files

Improves instructions for CC7 EOS installation. Added a few

notes about EOS workflows.
parent 8b89f5ec
No preview for this file type
......@@ -475,77 +475,46 @@ For the EOS rpms create the \texttt{/etc/yum.repos.d/eos.repo} file with the
following contents.
\begin{verbatim}
[eos-citrine]
name=EOS 4.0 Version
baseurl=http://dss-ci-repo.web.cern.ch/dss-ci-repo/eos/citrine/tag/el-6/x86_64/
name=EOS 4.1 Version
baseurl=http://dss-ci-repo.web.cern.ch/dss-ci-repo/eos/citrine/tag/el-7/x86_64/
gpgcheck=0
enabled=1
[eos-citrine-depend]
name=EOS 4.1 Version
baseurl=http://dss-ci-repo.web.cern.ch/dss-ci-repo/eos/citrine-depend/el-7-x86_64/
gpgcheck=0
enabled=1
\end{verbatim}
For the xroot rpms create the \texttt{/etc/yum.repos.d/epel.repo} file with the
following contents.
following contents or run \texttt{yum install epel-release}
\begin{verbatim}
[epel]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
baseurl=http://linuxsoft.cern.ch/epel/6/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch
enabled=1
protect=0
\end{verbatim}
\begin{verbatim}
[epel-debug]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
- debug RPMs
baseurl=http://linuxsoft.cern.ch/epel/6/$basearch/debug/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
\end{verbatim}
\begin{verbatim}
[epel-source]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
- source RPMs
baseurl=http://linuxsoft.cern.ch/epel/6/SRPMS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://linuxsoft.cern.ch/epel/7/$basearch/debug
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
enabled=0
protect=0
\end{verbatim}
\begin{verbatim}
[epel-testing]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
- testing
baseurl=http://linuxsoft.cern.ch/epel/testing/6/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
enabled=0
protect=0
\end{verbatim}
\begin{verbatim}
[epel-testing-debug]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
- testing debug RPMs
baseurl=http://linuxsoft.cern.ch/epel/testing/6/$basearch/debug/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://linuxsoft.cern.ch/epel/7/SRPMS
enabled=0
protect=0
\end{verbatim}
\begin{verbatim}
[epel-testing-source]
name=UNSUPPORTED: Extra Packages for Enterprise Linux add-ons, no formal support from CERN
- testing source RPMs
baseurl=http://linuxsoft.cern.ch/epel/testing/6/SRPMS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
enabled=0
protect=0
\end{verbatim}
\subsection{Install the EOS and \texttt{xrootd} rpms}
......@@ -558,17 +527,21 @@ Install the rpms using yum.
Here is an example list of succesfully installed EOS and \texttt{xrootd} rpms.
\begin{verbatim}
rpm -qa | egrep 'eos|xrootd' | sort
eos-client-4.0.4-citrine.slc6.x86_64
eos-server-4.0.4-citrine.slc6.x86_64
xrootd-4.2.3-1.el6.x86_64
xrootd-client-4.2.3-1.el6.x86_64
xrootd-client-libs-4.2.3-1.el6.x86_64
xrootd-debuginfo-4.1.1-1.slc6.x86_64
xrootd-libs-4.2.3-1.el6.x86_64
xrootd-python-4.2.3-1.el6.x86_64
xrootd-selinux-4.2.3-1.el6.noarch
xrootd-server-4.2.3-1.el6.x86_64
xrootd-server-libs-4.2.3-1.el6.x86_64
eos-client-4.1.3-1.el7.x86_64
eos-server-4.1.3-1.el7.x86_64
libmicrohttpd-0.9.38-eos.wves.el7.cern.x86_64
xrootd-4.4.0-1.el7.x86_64
xrootd-client-4.4.0-1.el7.x86_64
xrootd-client-devel-4.4.0-1.el7.x86_64
xrootd-client-libs-4.4.0-1.el7.x86_64
xrootd-debuginfo-4.4.0-1.el7.x86_64
xrootd-devel-4.4.0-1.el7.x86_64
xrootd-libs-4.4.0-1.el7.x86_64
xrootd-private-devel-4.4.0-1.el7.noarch
xrootd-selinux-4.4.0-1.el7.noarch
xrootd-server-4.4.0-1.el7.x86_64
xrootd-server-devel-4.4.0-1.el7.x86_64
xrootd-server-libs-4.4.0-1.el7.x86_64
\end{verbatim}
\subsection{Setup the EOS \texttt{sysconfig} file}
......@@ -643,18 +616,18 @@ slot KVNO Principal
1 14 devbox$@CERN.CH
2 14 devbox$@CERN.CH
3 14 devbox$@CERN.CH
4 14 eos/devbox.cern.ch@CERN.CH
5 14 eos/devbox.cern.ch@CERN.CH
6 14 eos/devbox.cern.ch@CERN.CH
4 14 eoscta/devbox.cern.ch@CERN.CH
5 14 eoscta/devbox.cern.ch@CERN.CH
6 14 eoscta/devbox.cern.ch@CERN.CH
ktutil: delent 1
ktutil: delent 1
ktutil: delent 1
ktutil: l
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 14 eos/devbox.cern.ch@CERN.CH
2 14 eos/devbox.cern.ch@CERN.CH
3 14 eos/devbox.cern.ch@CERN.CH
1 14 eoscta/devbox.cern.ch@CERN.CH
2 14 eoscta/devbox.cern.ch@CERN.CH
3 14 eoscta/devbox.cern.ch@CERN.CH
ktutil: wkt /etc/krb5.keytab.eos
ktutil: q
[root@devbox ~]# chown daemon.daemon /etc/krb5.keytab.eos
......@@ -714,6 +687,10 @@ loaded in.
#-------------------------------------------------------------------------------
mgmofs.nslib /usr/lib64/libEosNsInMemory.so
\end{verbatim}
Make sure to fix \texttt{mgmofs.instance name}
\begin{verbatim}
mgmofs.instance eoscta
\end{verbatim}
\subsection{Setup the /etc/xrd.cf.fst configuration file}
......@@ -777,6 +754,14 @@ Create the \texttt{/eos} directory within the EOS namespace, map it to the EOS
\begin{verbatim}
sudo eos attr -r set default=replica /eos
sudo eos attr -r set sys.forced.nstripes=1 /eos
sudo eos mkdir /eos/cta
sudo eos chmod 777 /eos/cta
\end{verbatim}
\subsection{Test the EOS installation}
\begin{verbatim}
sudo eos -b node ls
xrdcp /etc/group root://devbox.cern.ch//eos/cta/
\end{verbatim}
\section{Compile CTA}
......@@ -944,20 +929,6 @@ make
make
\end{verbatim}
\section{Create the mock nameserver base directory}
We can do this by running the executable:
\begin{verbatim}
$ <cta_build_dir>/nameserver/makeMockNameServerBasePath
\end{verbatim}
This command will return the newly created path to the mock nameserver base directory. Now we give it full permissions:
\begin{verbatim}
$ chmod -R 0777 <result_dir_of_previous_cmd>
\end{verbatim}
Now we need to add it as a configuration parameter in the \texttt{castor.conf}, as in the following example:
\begin{verbatim}
TapeServer MockNameServerPath /tmp/CTAMockNS9r236q
\end{verbatim}
\section{Set up the objectstore VFS backend}
First we create the new objectstore VFS backend using a simple executable:
\begin{verbatim}
......@@ -1267,8 +1238,8 @@ For a complete reference of the user commands see the next chapter.
The tape drives can now be indicated to tapeserverd through the \texttt{/etc/castor/TPCONFIG} file:
\begin{boxedverbatim}
VDSTK1 VLSTK /dev/nst0 smc@devbox,0
VDSTK2 VLSTK /dev/nst1 smc@devbox,1
VDSTK1 VLSTK /dev/nst0 smc0
VDSTK2 VLSTK /dev/nst1 smc1
\end{boxedverbatim}
The memory blocks size and number shall also be added in \texttt{/etc/castor/castor.conf}:
......@@ -1315,27 +1286,19 @@ MSG="Tape session finished"
\subsection{Tape labelling}
Tapes can be labelled with this command:
Tapes can be labelled with the following commands (depends on the tape library and the tape drive types):
\begin{verbatim}
$ castor-tape-label -u VDSTK1 -V V31001 -f
\end{verbatim}
This leads to this kind of logs:
$ echo "VOL1V31001 CASTOR 3">label.file
$ mtx -f /dev/smc load 1 0
$ dd if=label.file of=/dev/nst0 bs=80 count=1
$ mt -f /dev/nst0 rewind
$ mtx -f /dev/smc unload 1 0
\begin{boxedverbatim}
MSG="Label session mounted tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false" librarySlot="smc@devbox,0"
MSG="Label session loaded tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session rewinding tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session successfully rewound tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session is writing label to tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session has written label to tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session unloading tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session unloaded tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false"
MSG="Label session dismounting tape" uid="500" gid="500" TPVID="V31001" unitName="VDSTK1" logicalLibrary="VLSTK" force="false" librarySlot="smc@devbox,0"
\end{boxedverbatim}
\end{verbatim}
\subsection{Preparing the environment for migrations}
\subsection{Preparing the CTA environment for migrations}
The library and tapes need to be registered for the migrations:
\begin{boxedverbatim}
......@@ -1365,6 +1328,51 @@ $ ../CTA-build/cmdline/cta ssc /test storageclass0
$ ../CTA-build/cmdline/cta ar add -s storageclass0 -c 1 -t tapepool0 -m " "
\end{boxedverbatim}
\subsection{Preparing the EOS workflows }
The closew,retrive and deletearchive EOS workflows need to be registered to work with CTA. The following EOS command have to be applied for CTA directory:
\begin{boxedverbatim}
attr set "sys.workflow.closew.default=bash:shell:cta
'/opt/src/build/cmdline/cta archive
--user <eos::wfe::rusername>
--group <eos::wfe::rgroupname>
--diskid <eos::wfe::fid>
--instance eoscta
--srcurl root://devbox.cern.ch/<eos::wfe::path>
--size <eos::wfe::size>
--checksumtype <eos::wfe::checksumtype>
--checksumvalue <eos::wfe::checksum>
--storageclass <eos::wfe::cxattr:CTA_StorageClass>
--diskfilepath <eos::wfe::path>
--diskfileowner <eos::wfe::username>
--diskfilegroup <eos::wfe::groupname>
--recoveryblob:base64 <eos::wfe::base64:metadata>
--diskpool default --throughput 10000 1>&2'" .
attr set "sys.workflow.prepare.default=bash:shell:cta '/opt/src/build/cmdline/cta retrieve
--user <eos::wfe::rusername>
--group <eos::wfe::rgroupname>
--id <eos::wfe::fxattr:sys.archiveFileId>
--dsturl <eos::wfe::turl>
--diskfilepath <eos::wfe::path>
--diskfileowner <eos::wfe::username>
--diskfilegroup <eos::wfe::groupname>
--recoveryblob:base64 <eos::wfe::base64:metadata>
--diskpool default --throughput 10000 1>&2'" .
attr set "sys.workflow.delete.default=bash:shell:cta '/opt/src/build/cmdline/cta deletearchive
--user <eos::wfe::rusername>
--group <eos::wfe::rgroupname>
--id <eos::wfe::fxattr:sys.archiveFileId> 1>&2'" .
\end{boxedverbatim}
\subsection{Testing EOS with CTA }
To trigger manually EOS workflows just use the following eos commands:
\begin{verbatim}
file workflow <filename> default closew
file workflow <filename> default prepare
file workflow <filename> default delete
\end{verbatim}
\chapter{The Command Line Interface}
\section{Administrator commands}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment