From b14a440f72950929b84d71888568bc8401e24f98 Mon Sep 17 00:00:00 2001 From: Deon George Date: Tue, 3 Apr 2018 12:17:10 +1000 Subject: [PATCH] Added No Licensed container image --- source/server/firstrun.md | 4 ++ source/server/index.md | 4 ++ source/server/registry.md | 107 ++++++++++++++++++++++++++++++++++++++ source/server/runoc.md | 1 - 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 source/server/registry.md diff --git a/source/server/firstrun.md b/source/server/firstrun.md index 0ed3623..ef4357a 100644 --- a/source/server/firstrun.md +++ b/source/server/firstrun.md @@ -67,6 +67,10 @@ Version 8, Release 1, Level 4.000 Licensed Materials - Property of IBM ... +ANR0152I Database manager successfully started. +ANR2976I Offline DB backup for database TSMDB1 started. +ANR2974I Offline DB backup for database TSMDB1 completed successfully. +... ANR0916I IBM Spectrum Protect distributed by International Business Machines is now ready for use. ANR2068I Administrator ADMIN registered. diff --git a/source/server/index.md b/source/server/index.md index 34038cb..ec5def6 100644 --- a/source/server/index.md +++ b/source/server/index.md @@ -157,3 +157,7 @@ ibm/spectrumprotect 8.1.1 14aba816e231 2 minutes ago 2.96GB * Make sure you have enough space in your `/var/lib/docker` directory - the build will use about 9 GB's. Now that your container is built, you'll want to start it a specific way, depending on whether you are starting a clean new instance of SP, or an existing instance. Those details are [here](firstrun.html). + +# Trying out a container image + +If you are interested, the SP server (without license files) is available on the IBM FTP site. I've put together the instructions on how to build this server image (v8.1.5) or use my already made image. Those details are [here](/server/registry.html). diff --git a/source/server/registry.md b/source/server/registry.md new file mode 100644 index 0000000..51bc0f0 --- /dev/null +++ b/source/server/registry.md @@ -0,0 +1,107 @@ +--- +header-img: img/header_img/server.jpg +date: 2018-03-07 09:50:12 +description: Ready to run images +related: +- { page: "firstrun", title: "Initial Container Setup" } +- { page: "normalrun", title: "Normal Run of Container" } +--- +# Spectrum Protect Server + +```Dockerfile Server Dockerfile +# NAME deon/spdocker/server +# VERSION 8.1.5 +# BUILD docker build -t="deon/spdocker/server:8.1.5" . + +# Since SP is supported on RHEL and its not available in docker, we'll use CentOS. +FROM centos:7 + +# OS Installation Prerequisites +RUN yum -y install http://yum.leenooks.net/CentOS/7/base/redhat-release-7-6.el7.centos.12.2.x86_64.rpm libaio ksh compat-libstdc++-33 numactl && yum clean all && rm -rf /var/tmp/* + +# Installation +COPY install.xml install-fp.xml /tmp/ + +# Download ftp://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/server/v8r1/Linux/8.1.5.000/x86_64/8.1.5.000-IBM-SPSRV-Linuxx86_64.bin to a local server. +RUN SOURCE_URL=http://SOURCE_URL && \ + mkdir -p /tmp/build && cd /tmp/build && \ + curl -SL ${SOURCE_URL}/8.1.5.000-IBM-SPSRV-Linuxx86_64.bin > tsm && chmod +x tsm && ./tsm && rm -f tsm && \ + ./install.sh -s -input /tmp/install-fp.xml -acceptLicense && \ + rm -rf /tmp/build /tmp/install*xml + +# Dont forget to change the user in the init file too +ENV USER=tsm USERDIR=/tsm USERID=201 GROUPID=201 + +# Setup User +RUN groupadd servers -g ${GROUPID} && useradd -d ${USERDIR} -u ${USERID} -g ${GROUPID} -s /bin/bash ${USER} + +# Server options file in place +COPY dsmserv.opt tsmdbmgr.opt ${USERDIR}/ +COPY dsm.sys /opt/tivoli/tsm/server/bin/dbbkapi/ +RUN chmod a+r /opt/tivoli/tsm/server/bin/dbbkapi/dsm.sys + +# Create TSM Instance +# Change the default directory for the database to be the same as the instance directory for the server. +RUN /opt/tivoli/tsm/db2/instance/db2icrt -a server -s ese -u ${USER} ${USER} && \ + mkdir -m 750 /database && chown ${USER}:servers /database /tsm/dsmserv.opt /tsm/tsmdbmgr.opt && \ + su ${USER} -lc "db2 update dbm cfg using dftdbpath ${USERDIR} && db2set -i ${USER} DB2NOEXITLIST=ON" + +# Setup sqllib/userprofile +RUN su ${USER} -lc "echo setenv LD_LIBRARY_PATH /opt/tivoli/tsm/server/bin/dbbkapi:/usr/local/ibm/gsk8_64/lib64:\\\$LD_LIBRARY_PATH >> sqllib/usercshrc && echo export LD_LIBRARY_PATH=/opt/tivoli/tsm/server/bin/dbbkapi:/usr/local/ibm/gsk8_64/lib64:\\\$LD_LIBRARY_PATH >> sqllib/userprofile && echo export DSMI_CONFIG=${USERDIR}/tsmdbmgr.opt >> sqllib/userprofile && echo export DSMI_DIR=/opt/tivoli/tsm/server/bin/dbbkapi >> sqllib/userprofile && echo export DSMI_LOG=${USERDIR} >> sqllib/userprofile" + +# An admin macro to create the admin user +COPY admin.macro /tsm/ +# init is how we start our container, it supports a "setup" mode for new installs +COPY init /sbin/ + +# Our final docker parameters +EXPOSE 1500 1543 +VOLUME [ "${USERDIR}","/database","/data" ] +ENTRYPOINT [ "/sbin/init" ] +CMD [ "start" ] + +# Set out local time +RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime +``` + +**NOTES**: +* I use the install-fp.xml which doesnt install the license libraries - since they are not available in the public download. +* You'll find this image in my registery, you can `docker pull registry.leenooks.net/deon/spdocker/server:8.1.5` to get it - feel free to try it. +* The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/master) + +# Spectrum Protect Operations Center + +```Dockerfile Operations Center Dockerfile +# NAME deon/spdocker/oc +# VERSION 8.1.5 +# BUILD docker build -t="deon/spdocker/oc:8.1.5" . + +FROM centos:7 + +# OS Installation Prerequisites +RUN yum -y install http://yum.leenooks.net/CentOS/7/base/redhat-release-7-6.el7.centos.12.2.x86_64.rpm libaio ksh compat-libstdc++-33 numactl && yum clean all && rm -rf /var/tmp/* + +COPY install-oc.xml /tmp/ + +# Installation +RUN SOURCE_URL=http://SOURCE_URL && \ + mkdir -p /tmp/build && cd /tmp/build && \ + curl -SL ${SOURCE_URL}/8.1.5-nl > tsm && \ + chmod +x tsm && ./tsm && rm -f tsm && \ + ./install.sh -s -input /tmp/install-oc.xml -acceptLicense && \ + rm -rf /tmp/build /tmp/install*xml + +COPY init /sbin/ + +# Our final docker parameters +EXPOSE 11443 +ENTRYPOINT [ "/sbin/init" ] +CMD [ "start" ] + +## For some reason the silent install is not setting installPath correctly. +RUN sed -i 's#^installPath=#installPath=/opt/tivoli/tsm/ui#' /opt/tivoli/tsm/ui/Liberty/bin/opscenter.rc +``` + +**NOTES**: +* You'll find this image in my registery, you can `docker pull registry.leenooks.net/deon/spdocker/oc:8.1.5` to get it - feel free to try it. +* The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/oc) diff --git a/source/server/runoc.md b/source/server/runoc.md index dfb28df..d99fa44 100644 --- a/source/server/runoc.md +++ b/source/server/runoc.md @@ -5,7 +5,6 @@ date: 2018-03-07 09:50:12 description: Operations Centre in a Docker Container related: - { page: "index", title: "Containerising SP" } -- { page: "runoc", title: "Running OC in a container" } --- > **NOTES** > * Operations Centre is a good fit for a container - especially in a cluster (EG: Swarm), it requires no persistent storage (other than the initial config).