diff --git a/source/client/index.md b/source/client/index.md index e1b2b37..687766a 100644 --- a/source/client/index.md +++ b/source/client/index.md @@ -46,6 +46,12 @@ RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \ Next obtain the SSL certificate from the server package. The file is called `cert256.arm`. + +> **NOTE**: +> If you use your own SSL certificates, then you will need to get your SP servers CA certifcate. +> If you call it something other than `cert256.arm`, then you'll need to modify the `RUN` command below. + + Also pre-create your `dsm.sys` and `dsm.opt` files for your environment. ```Dockerfile @@ -71,7 +77,7 @@ RUN ln -sf /usr/share/zoneinfo/Australia/Melbourne /etc/localtime ``` -**NOTE**: This will set your timezone to Melbourne, Australia - naturally, choose the appropriate Country/City for your timezone. +**NOTE**: This will set your timezone to Melbourne, Australia - naturally, choose the appropriate Country/City for your timezone. ## Build your Image @@ -92,9 +98,8 @@ Using the image is simple `docker run -it --rm --name=ba --hostname=${HOSTNAME:-$(hostname)} -v [host path]:/etc/adsm $IMAGE [dsmc|dsmadmc] ...` -**NOTES**: - -* There is no reason to keep the container after it has been created - but removing the `--rm` will leave it around. It might make it a bit quicker to start by leaving it. -* `--name=` is option, but it gives your container a useful name -* `--hostname=` gives your running a container a friendlier hostname - this is recommended if you are running the client (dsmc). -* `-v` maps the /etc/adsm path (inside the container) to something on the host that is running the container. This is recommended, especially if you want auto login. \ No newline at end of file +> **NOTES**: +> * There is no reason to keep the container after it has been created - but removing the `--rm` will leave it around. It might make it a bit quicker to start next time by leaving it. +> * `--name=` is optional, but it gives your container a useful name +> * `--hostname=` gives your running a container a friendlier hostname - this is recommended if you are running the client (dsmc). +> * `-v` maps the /etc/adsm path (inside the container) to something on the host outside the container. This is recommended, especially if you want auto login. diff --git a/source/server/index.md b/source/server/index.md index ca6f93e..63f6432 100644 --- a/source/server/index.md +++ b/source/server/index.md @@ -78,12 +78,12 @@ RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \ rm -rf /tmp/build /tmp/install*xml ``` -**NOTE**: Some information on what is occurring here. -* 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. -* 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). -* Lines 4 and 8 are silent installation methods for install SP and applying updates. -* Lines 5 and 9 delete any installation files to reduce the size of the resulting Docker Image. +> **NOTE**: Some information on what is occurring here. +> * 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. +> * 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). +> * Lines 4 and 8 are silent installation methods for install SP and applying updates. +> * Lines 5 and 9 delete any installation files to reduce the size of the resulting Docker Image. ### Spectrum Protect Post-Installation @@ -169,8 +169,7 @@ REPOSITORY TAG IMAGE ID CREATED SIZE ibm/spectrumprotect 8.1.7 b56baf7faab5 2 minutes ago 3.24GB ``` -**NOTES** -* Make sure you have enough space in your `/var/lib/docker` directory - the build will use about 9 GB's. +**NOTE**: 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). diff --git a/source/server/normalrun.md b/source/server/normalrun.md index c861985..8426495 100644 --- a/source/server/normalrun.md +++ b/source/server/normalrun.md @@ -59,14 +59,14 @@ IBM Spectrum Protect:SERVER1> You should now be able to connect with the Admin Client. -**NOTES**: -* For Spectrum Protect you need to use `--privileged=true`. From what I have worked out, DB2 needs this. I did find some notes on DB2 in docker [here](https://www.ibm.com/developerworks/data/library/techarticle/dm-1602-db2-docker-trs/index.html), and tried these options without using `--privileged=true` but DB2 still reported some errors. - I don't think it is an issue running SP in privileged mode, but if you do find a solution to have it run without full privileges, I would be interested ;) +> **NOTES**: +> * For Spectrum Protect you need to use `--privileged=true`. From what I have worked out, DB2 needs this. I did find some notes on DB2 in docker [here](https://www.ibm.com/developerworks/data/library/techarticle/dm-1602-db2-docker-trs/index.html), and tried these options without using `--privileged=true` but DB2 still reported some errors. +> I don't think it is an issue running SP in privileged mode, but if you do find a solution to have it run without full privileges, I would be interested ;) The link above has some important tips regarding DB2 memory and the `--memory=` setting. -* When defining your DISK based storage pools (or STGPOOLDIR for your cloud pools), remember the path to your "data" is `/data` inside the container. If you use another path, you will loose that data when the container is destroyed. -* 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. -* 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). +> * When defining your DISK based storage pools (or STGPOOLDIR for your cloud pools), remember the path to your "data" is `/data` inside the container. If you use another path, you will loose that data when the container is destroyed. +> * 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. +> * 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). # Shutting down Spectrum Protect diff --git a/source/server/registry.md b/source/server/registry.md index 0118943..48c5b8e 100644 --- a/source/server/registry.md +++ b/source/server/registry.md @@ -64,11 +64,11 @@ CMD [ "start" ] 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.8` to get it - feel free to try it. -* 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) +> **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.8` to get it - feel free to try it. +> * 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) # Spectrum Protect Operations Center @@ -104,6 +104,6 @@ CMD [ "start" ] 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.8` to get it - feel free to try it. -* The supporting files are in my [gitlab](http://dev.leenooks.net/deon/spdocker/tree/oc) +> **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. +> * 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 b16ab00..8cbc022 100644 --- a/source/server/runoc.md +++ b/source/server/runoc.md @@ -55,10 +55,10 @@ RUN SOURCE_URL=http://YOUR_SITE_URL_HERE && \ rm -rf /tmp/build /tmp/install*xml ``` -**NOTE**: Some information on what is occurring here. -* 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. -* Line 4 is the silent installation method for installing SP components. -* Line 5 deletes any installation files to reduce the size of the resulting Docker Image. +> **NOTE**: Some information on what is occurring here. +> * 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. +> * Line 4 is the silent installation method for installing SP components. +> * Line 5 deletes any installation files to reduce the size of the resulting Docker Image. And our final Docker Image settings for when our container starts. @@ -84,6 +84,6 @@ Now that your container is built, starting OC is simple `docker run --detach=true --interactive=false --link=spectrumprotect -v /serverConnection.properties:/opt/tivoli/tsm/ui/Liberty/usr/servers/guiServer/serverConnection.properties --memory=1g -p 11443:11443 --privileged=false --rm=false --restart=no --tty=false --name=spectrumprotectoc ibm/spectrumprotect-oc:8.1.7` -***NOTES***: -* The OC container needs to connect to your SP server(s). If your SP server is running in a container, you can use the `--link=` to link to the container name of your server (not necessarily required). If you are running your container in a cluster (EG: Docker Swarm), then you'll need to use the appropriate configuration for your cluster to do container-to-container networking. -* The `-v /serverConnection.properties:../serverConnection.properties` will saving you having to do a "setup" of OC if the container is ever stopped and destroy (this will happen in cluster environments). Make sure the file reference in the `-v` option is available on your cluster persistent storage. +> **NOTES**: +> * The OC container needs to connect to your SP server(s). If your SP server is running in a container, you can use the `--link=` to link to the container name of your server (not necessarily required). If you are running your container in a cluster (EG: Docker Swarm), then you'll need to use the appropriate configuration for your cluster to do container-to-container networking. +> * The `-v /serverConnection.properties:../serverConnection.properties` will saving you having to do a "setup" of OC if the container is ever stopped and destroy (this will happen in cluster environments). Make sure the file reference in the `-v` option is available on your cluster persistent storage. diff --git a/source/server/upgrade.md b/source/server/upgrade.md index 79d65b9..c836900 100644 --- a/source/server/upgrade.md +++ b/source/server/upgrade.md @@ -82,9 +82,9 @@ ANS8002I Highest return code was 0. [root@host]# ``` -**NOTE**: Don't use `docker stop` to stop your SP server. - By default docker sends a SIGTERM signal to the containers process 1 and then waits 10 seconds for it to die. If it hasn't died, it will then send it a SIGKILL. - While you can control the timeout between the SIGTERM and SIGKILL signal and you can even control which kill signal is sent, Spectrum Protect does correctly handle SIGTERM and will start to shutdown, so if you do want to use `docker stop` to shutdown Specturm Protect, make sure you start it with the appropriate `--stop-timeout`, since 10s is likely not enough time. As a recommendation, I always use SP `HALT` command to stop an SP server. +> **NOTE**: Don't use `docker stop` to stop your SP server. +> By default docker sends a SIGTERM signal to the containers process 1 and then waits 10 seconds for it to die. If it hasn't died, it will then send it a SIGKILL. +> While you can control the timeout between the SIGTERM and SIGKILL signal and you can even control which kill signal is sent, during the upgrade, you want to make sure Spectrum Protect shuts down cleanly. Jump on an admin client and issue `HALT` ## If you can, snapshot your persistent storage. If you can snapshot your persistent storage that you provide to the SP Docker Container, that will save you doing a "restore db" if something goes pair shaped.