Updates for 8.1.9

This commit is contained in:
Deon George 2020-03-17 17:33:06 +11:00
parent 02726ae498
commit f2518311e5
No known key found for this signature in database
GPG Key ID: 7670E8DC27415254
5 changed files with 37 additions and 27 deletions

View File

@ -3,7 +3,7 @@
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"hexo": { "hexo": {
"version": "3.6.0" "version": "3.7.1"
}, },
"dependencies": { "dependencies": {
"hexo": "^3.6.0", "hexo": "^3.6.0",

View File

@ -12,8 +12,8 @@ related:
# First deployment of a Spectrum Protect Server (in a container) # First deployment of a Spectrum Protect Server (in a container)
> **NOTES**: > **NOTES**:
> * The following instructions are for a Spectrum Protect 8.1.8 instance. I used the same procedure described [here](/server) to build the Docker Image. The only difference is that I performed a new install using the installation media from the IBM public website. (Thus it was just an install, not an 8.1.0 install and followed by a 8.1.8 upgrade). > * The following instructions are for a Spectrum Protect 8.1.9 instance. I used the same procedure described [here](/server) to build the Docker Image. The only difference is that I performed a new install using the installation media from the IBM public website. (Thus it was just an install, not an 8.1.0 install and followed by a 8.1.9 upgrade).
> * Make sure you follow the guidelines for space required as presented in the [Knowledge Center](https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.8/srv.install/t_srv_plan_capacity-linux.html). > * Make sure you follow the guidelines for space required as presented in the [Knowledge Center](https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.9/srv.install/t_srv_plan_capacity-linux.html).
Our Docker Image will have the SP database in `/database`, the instance user in `/tsm` and storage pools in `/data`. Ultimately these will be volumes provisioned from the host and using host storage, or your preferred Docker persistent volume storage technology. Our Docker Image will have the SP database in `/database`, the instance user in `/tsm` and storage pools in `/data`. Ultimately these will be volumes provisioned from the host and using host storage, or your preferred Docker persistent volume storage technology.
> * The storage used in the example below is from the host file systems, passed to the container with Docker's `-v` option. > * The storage used in the example below is from the host file systems, passed to the container with Docker's `-v` option.
> * This implementation is using DISK or CLOUD storage pool storage. While accessing tape should be possible, I haven't explored what is required for that to work. > * This implementation is using DISK or CLOUD storage pool storage. While accessing tape should be possible, I haven't explored what is required for that to work.
@ -25,14 +25,14 @@ Our configuration will use these defaults
SP_DB=/srv/sp/database SP_DB=/srv/sp/database
SP_USER=/srv/sp/user SP_USER=/srv/sp/user
SP_DATA=/srv/sp/data SP_DATA=/srv/sp/data
SP_IMAGE=ibm/spectrumprotect:8.1.8 SP_IMAGE=ibm/spectrumprotect:8.1.9
``` ```
* **SP_DB** is where the TSM Database will be stored on the Docker Host, and will be passed to the container with `-v ${SP_DB}:/database` * **SP_DB** is where the TSM Database will be stored on the Docker Host, and will be passed to the container with `-v ${SP_DB}:/database`
* **SP_USER** is where the TSM Instance user's home directory is on the Docker Host, and will be passed to the container with `-v ${SP_USER}:/tsm` * **SP_USER** is where the TSM Instance user's home directory is on the Docker Host, and will be passed to the container with `-v ${SP_USER}:/tsm`
* **SP_DATA** is where the TSM Disk based storage pools are stored on the Docker Host, and will be passed to the container with `-v ${SP_DATA}:/data` * **SP_DATA** is where the TSM Disk based storage pools are stored on the Docker Host, and will be passed to the container with `-v ${SP_DATA}:/data`
If data is stored in a cloud pool, then this would be where the acceleration pool is holding data before it gets sent to the cloud. Make sure that this directory is owned by your SP instance user ID that you used in the [DockerFile](/server/#Spectrum-Protect-Post-Installation) when you built the container. If data is stored in a cloud pool, then this would be where the acceleration pool is holding data before it gets sent to the cloud. Make sure that this directory is owned by your SP instance user ID that you used in the [DockerFile](/server/#Spectrum-Protect-Post-Installation) when you built the container.
* **SP_IMAGE** is the name of your docker image (if you followed the instructions on this site it is `ibm/spectrumprotect:8.1.8` * **SP_IMAGE** is the name of your docker image (if you followed the instructions on this site it is `ibm/spectrumprotect:8.1.9`
## First Run Init #1 ## First Run Init #1
@ -82,6 +82,6 @@ ANR1912I Stopping the activity log because of a server shutdown.
ANR0369I Stopping the database manager because of a server shutdown. ANR0369I Stopping the database manager because of a server shutdown.
``` ```
<small>**NOTE**: With 8.1.8 I noticed a lot of `DBI1306N` messages floating up the screen. That doesn't appear to be an actual problem.</small> <small>**NOTE**: With 8.1.9 I noticed a lot of `DBI1306N` messages floating up the screen. That doesn't appear to be an actual problem.</small>
The "init" steps will only need to be run the once for any "new" instance of SP. Thereafter, you'll start SP using the Normal steps documented [here](normalrun.html). The "init" steps will only need to be run the once for any "new" instance of SP. Thereafter, you'll start SP using the Normal steps documented [here](normalrun.html).

View File

@ -11,9 +11,9 @@ related:
- { page: "runoc", title: "Running OC in a container" } - { page: "runoc", title: "Running OC in a container" }
- { page: "/client/index", title: "Admin Client in a container" } - { page: "/client/index", title: "Admin Client in a container" }
--- ---
# Putting Spectrum Protect into a Container <span class="badge btn-danger" style="background-color: #ac2925">Updated</span> # Putting Spectrum Protect into a Container <span class="badge btn-danger" style="background-color: #ac2925">Updated for 8.1.9</span>
*Tested with Spectrum Protect 8.1.8!* *Tested with Spectrum Protect 8.1.9!*
<small>Just replace any reference to 8.1.7 with 8.1.8!</small> <small>Just replace any reference to 8.1.7 with 8.1.9!</small>
(These instructions as based on Spectrum Protect 8.1.7. References to *SP* means Spectrum Protect.) (These instructions as based on Spectrum Protect 8.1.7. References to *SP* means Spectrum Protect.)
@ -50,6 +50,8 @@ RUN yum -y install http://yum.leenooks.net/CentOS/7/base/redhat-release-7-6.el7.
### Spectrum Protect Installation ### Spectrum Protect Installation
Since the source image for Spectrum Protect is quite large, we'll perform the install by "downloading" the source image during the build process (instead of copying it into the image during build). Since it is quite large, it would be a good idea to download it somewhere locally, and be able to serve it via a webserver locally. (Details on how to do that are not covered here.)
Now copy in our silent install configuration files. These files are based on the silent install XML files that come on the installation media. Some details on these files are also in the [Knowledge Center](https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.7/srv.install/t_srv_inst_silently-linux.html) Now copy in our silent install configuration files. These files are based on the silent install XML files that come on the installation media. Some details on these files are also in the [Knowledge Center](https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.7/srv.install/t_srv_inst_silently-linux.html)
```Dockerfile ```Dockerfile
@ -79,6 +81,7 @@ RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \
``` ```
> **NOTE**: Some information on what is occurring here. > **NOTE**: Some information on what is occurring here.
> * Change *YOUR_SITE_URL_HERE* to a valid web URL (ideally something local).
> * This is an "new install" (lines 1-5) then followed by an "upgrade" (lines 6-8). The reason for the new install first, is that the Spectrum Protect license files and license libraries are not available in upgrades (from Fix Central). So you'll need to install from your downloaded media from Passport Advantage, and then upgrade it to the latest release from Fix Central. > * This is an "new install" (lines 1-5) then followed by an "upgrade" (lines 6-8). The reason for the new install first, is that the Spectrum Protect license files and license libraries are not available in upgrades (from Fix Central). So you'll need to install from your downloaded media from Passport Advantage, and then upgrade it to the latest release from Fix Central.
> If you sourced your installation media from Passport Advantage, then the license files and libraries are probably in that installation media, you can exclude lines 6-8. > If you sourced your installation media from Passport Advantage, then the license files and libraries are probably in that installation media, you can exclude lines 6-8.
> * To avoid the resulting Docker Image being too large, we download the installation media from a web server (Line 3) and then delete it after it has been expanded. We also do the same for up upgrade package (line 7). > * To avoid the resulting Docker Image being too large, we download the installation media from a web server (Line 3) and then delete it after it has been expanded. We also do the same for up upgrade package (line 7).
@ -160,7 +163,7 @@ RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
## Build your Image ## Build your Image
A complete Dockerfile is available [here](http://dev.leenooks.net/deon/spdocker/blob/master/Dockerfile) if you need one as a starting point. Once you have your images loaded on a web server, and the supporting build files run `docker build -t ibm/spectrumprotect:8.1.x .` A complete Dockerfile is available [here](http://dev.leenooks.net/deon/spdocker/blob/master/Dockerfile) if you need one as a starting point (including supporting config and macro files). Once you have your images loaded on a web server, and the supporting build files run `docker build -t ibm/spectrumprotect:8.1.x` (replacing `x` for the SP version number).
If your final build is successful, you should see a Docker Image that is about 3GB. If your final build is successful, you should see a Docker Image that is about 3GB.

View File

@ -9,8 +9,7 @@ related:
- { page: "upgrade", title: "Upgrading SP" } - { page: "upgrade", title: "Upgrading SP" }
- { page: "recover", title: "Recovering the SP Database" } - { page: "recover", title: "Recovering the SP Database" }
--- ---
# Normal Run of a Spectrum Protect Server (in a container) # Normal Run of a Spectrum Protect Server (in a container) <span class="badge btn-danger" style="background-color: #ac2925">Updated for 8.1.9</span>
*Updated for Spectrum Protect 8.1.8!*
> **NOTES**: > **NOTES**:
> * The storage used in the example below is from the host file systems, passed to the container with Docker's `-v` option. > * The storage used in the example below is from the host file systems, passed to the container with Docker's `-v` option.
@ -24,20 +23,20 @@ Our configuration will use these defaults
SP_DB=/srv/sp/database SP_DB=/srv/sp/database
SP_USER=/srv/sp/user SP_USER=/srv/sp/user
SP_DATA=/srv/sp/data SP_DATA=/srv/sp/data
SP_IMAGE=ibm/spectrumprotect:8.1.8 SP_IMAGE=ibm/spectrumprotect:8.1.9
``` ```
* **SP_DB** is where the TSM Database will be stored on the Docker Host, and will be passed to the container with `-v ${SP_DB}:/database` * **SP_DB** is where the TSM Database will be stored on the Docker Host, and will be passed to the container with `-v ${SP_DB}:/database`
* **SP_USER** is where the TSM Instance user's home directory is on the Docker Host, and will be passed to the container with `-v ${SP_USER}:/tsm` * **SP_USER** is where the TSM Instance user's home directory is on the Docker Host, and will be passed to the container with `-v ${SP_USER}:/tsm`
* **SP_DATA** is where the TSM Disk based storage pools are stored on the Docker Host, and will be passed to the container with `-v ${SP_DATA}:/data` * **SP_DATA** is where the TSM Disk based storage pools are stored on the Docker Host, and will be passed to the container with `-v ${SP_DATA}:/data`
If data is stored in a cloud pool, then this would be where the acceleration pool is holding data before it gets sent to the cloud. Make sure that this directory is owned by your SP instance user ID that you used in the [DockerFile](/server/#Spectrum-Protect-Post-Installation) when you built the container. If data is stored in a cloud pool, then this would be where the acceleration pool is holding data before it gets sent to the cloud. Make sure that this directory is owned by your SP instance user ID that you used in the [DockerFile](/server/#Spectrum-Protect-Post-Installation) when you built the container.
* **SP_IMAGE** is the name of your docker image (if you followed the instructions on this site it is `ibm/spectrumprotect:8.1.8` * **SP_IMAGE** is the name of your docker image (if you followed the instructions on this site it is `ibm/spectrumprotect:8.1.9`
# Normal Run # Normal Run
Starting SP for normal operations. Starting SP for normal operations.
`docker run --detach=true --hostname=tsm --interactive=false -v ${SP_USER}:/tsm -v ${SP_DB}:/database -v ${SP_DATA}:/data --memory=16g -p 1500:1500 -p 1543:1543 --privileged=true --rm=false --restart=no --tty=false --stop-timeout=300 --name=spectrumprotect ${SP_IMAGE}` `docker run --detach=true --hostname=tsm --interactive=false -v ${SP_USER}:/tsm -v ${SP_DB}:/database -v ${SP_DATA}:/data --memory=16g --ipc=host -p 1500:1500 -p 1543:1543 --privileged=true --rm=false --restart=no --tty=false --stop-timeout=300 --name=spectrumprotect ${SP_IMAGE}`
```tsm Expected Startup, viewable by doing docker log -f spectrumprotect ```tsm Expected Startup, viewable by doing docker log -f spectrumprotect
ANR7800I DSMSERV generated at 00:18:30 on Feb 5 2019. ANR7800I DSMSERV generated at 00:18:30 on Feb 5 2019.
@ -67,6 +66,14 @@ You should now be able to connect with the Admin Client.
> * You should be able to run many SP instances on the same host (or swarm) even at different version levels. In container, they can all respond to port 1500, and outside the container, they'll need to have unique ports EG: `-p 1501:1500`, `-p 1502:1500`, etc. (Just remember to think about resource requirements and potential resource contention.) > * You should be able to run many SP instances on the same host (or swarm) even at different version levels. In container, they can all respond to port 1500, and outside the container, they'll need to have unique ports EG: `-p 1501:1500`, `-p 1502:1500`, etc. (Just remember to think about resource requirements and potential resource contention.)
> * Use the same `--hostname=` setting that you used when running the *init* steps above. DB2 is sensitive to hostname changes. > * Use the same `--hostname=` setting that you used when running the *init* steps above. DB2 is sensitive to hostname changes.
> * Spectrum Scale makes a great persistent storage file system for Docker containers, and gives you great options for Spectrum Protect. For example, you could move SP to different hosts very easily (stop on hosta, start on hostb - if both hosts see the same Spectrum Scale file system and your database/data are on it). > * Spectrum Scale makes a great persistent storage file system for Docker containers, and gives you great options for Spectrum Protect. For example, you could move SP to different hosts very easily (stop on hosta, start on hostb - if both hosts see the same Spectrum Scale file system and your database/data are on it).
> * Starting with 8.1.8 - Spectrum Protect needs some kernel tuning with regards to semaphores, etc. So, I use `--ipc=host` so that the container uses the hosts semaphore configuration, and I use the following configuration:
> ```kernel.msgmax = 65536
kernel.msgmnb = 65536
kernel.msgmni = 131072
kernel.sem = 250 1024000 32 4096
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 32768```
# Shutting down Spectrum Protect # Shutting down Spectrum Protect

View File

@ -6,12 +6,12 @@ related:
- { page: "firstrun", title: "Initial Container Setup" } - { page: "firstrun", title: "Initial Container Setup" }
- { page: "normalrun", title: "Normal Run of Container" } - { page: "normalrun", title: "Normal Run of Container" }
--- ---
# Spectrum Protect Server <span class="badge btn-danger" style="background-color: #ac2925">Updated to 8.1.8</span> # Spectrum Protect Server <span class="badge btn-danger" style="background-color: #ac2925">Updated for 8.1.9</span>
```Dockerfile Server Dockerfile ```Dockerfile Server Dockerfile
# NAME deon/spdocker/server # NAME deon/spdocker/server
# VERSION 8.1.8 # VERSION 8.1.9
# BUILD docker build -t="deon/spdocker/server:8.1.8" . # BUILD docker build -t="deon/spdocker/server:8.1.9" .
# Since SP is supported on RHEL and its not available in docker, we'll use CentOS. # Since SP is supported on RHEL and its not available in docker, we'll use CentOS.
FROM centos:7 FROM centos:7
@ -22,10 +22,10 @@ RUN yum -y install http://yum.leenooks.net/CentOS/7/base/redhat-release-7-6.el7.
# Installation # Installation
COPY install.xml install-fp.xml /tmp/ COPY install.xml install-fp.xml /tmp/
# Download http://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/server/v8r1/Linux/8.1.8.000/x86_64/8.1.8.000-IBM-SPSRV-Linuxx86_64.bin to a local server (otherwise it will be slow). # Download http://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/server/v8r1/Linux/8.1.9.000/x86_64/8.1.9.000-IBM-SPSRV-Linuxx86_64.bin to a local server (otherwise it will be slow).
RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \ RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \
mkdir -p /tmp/build && cd /tmp/build && \ mkdir -p /tmp/build && cd /tmp/build && \
curl -SL ${SOURCE_URL}/8.1.8.000-IBM-SPSRV-Linuxx86_64.bin > tsm && chmod +x tsm && ./tsm && rm -f tsm && \ curl -SL ${SOURCE_URL}/8.1.9.000-IBM-SPSRV-Linuxx86_64.bin > tsm && chmod +x tsm && ./tsm && rm -f tsm && \
./install.sh -s -input /tmp/install-fp.xml -acceptLicense && \ ./install.sh -s -input /tmp/install-fp.xml -acceptLicense && \
rm -rf /tmp/build /tmp/install*xml rm -rf /tmp/build /tmp/install*xml
@ -66,7 +66,7 @@ RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
> **NOTES**: > **NOTES**:
> * I use the install-fp.xml which doesnt install the license libraries - since they are not available in the public download. > * 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.8` to get it - feel free to try it. > * You'll find this image in my registery, you can `docker pull registry.leenooks.net/deon/spdocker/server:8.1.9` to get it - feel free to try it.
> * The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/master) > * The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/master)
> * *And Importantly* Dont forget that the first time you use this image, you need to initialise SP - details are [here](firstrun.html) > * *And Importantly* Dont forget that the first time you use this image, you need to initialise SP - details are [here](firstrun.html)
@ -74,8 +74,8 @@ RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime
```Dockerfile Operations Center Dockerfile ```Dockerfile Operations Center Dockerfile
# NAME deon/spdocker/oc # NAME deon/spdocker/oc
# VERSION 8.1.8 # VERSION 8.1.9
# BUILD docker build -t="deon/spdocker/oc:8.1.8" . # BUILD docker build -t="deon/spdocker/oc:8.1.9" .
# Since SP is supported on RHEL and its not available in docker, we'll use CentOS. # Since SP is supported on RHEL and its not available in docker, we'll use CentOS.
FROM centos:7 FROM centos:7
@ -86,10 +86,10 @@ RUN yum -y install http://yum.leenooks.net/CentOS/7/base/redhat-release-7-6.el7.
COPY install-oc.xml /tmp/ COPY install-oc.xml /tmp/
# Installation # Installation
# Download http://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/server/v8r1/Linux/8.1.8.000/x86_64/8.1.8.000-IBM-SPSRV-Linuxx86_64.bin to a local server (otherwise it will be slow). # Download http://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/server/v8r1/Linux/8.1.9.000/x86_64/8.1.9.000-IBM-SPSRV-Linuxx86_64.bin to a local server (otherwise it will be slow).
RUN SOURCE_URL=http://SOURCE_URL && \ RUN SOURCE_URL=http://SOURCE_URL && \
mkdir -p /tmp/build && cd /tmp/build && \ mkdir -p /tmp/build && cd /tmp/build && \
curl -SL ${SOURCE_URL}/8.1.8.000-IBM-SPSRV-Linuxx86_64.bin > tsm && chmod +x tsm && ./tsm && rm -f tsm && \ curl -SL ${SOURCE_URL}/8.1.9.000-IBM-SPSRV-Linuxx86_64.bin > tsm && chmod +x tsm && ./tsm && rm -f tsm && \
./install.sh -s -input /tmp/install-oc.xml -acceptLicense && \ ./install.sh -s -input /tmp/install-oc.xml -acceptLicense && \
rm -rf /tmp/build /tmp/install*xml rm -rf /tmp/build /tmp/install*xml
@ -105,5 +105,5 @@ RUN sed -i 's#^installPath=#installPath=/opt/tivoli/tsm/ui#' /opt/tivoli/tsm/ui/
``` ```
> **NOTES**: > **NOTES**:
> * You'll find this image in my registery, you can `docker pull registry.leenooks.net/deon/spdocker/oc:8.1.8` to get it - feel free to try it. > * You'll find this image in my registery, you can `docker pull registry.leenooks.net/deon/spdocker/oc:8.1.9` to get it - feel free to try it.
> * The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/oc) > * The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/oc)