Appendix: Creating Local Repositories without InternetΒΆ
When scyld-install
(and its underlying use of the yum
command)
do not have access to repositories that are accessible via the Internet,
then repositories must be set up on local storage.
First ensure that the appropriate base distribution repositories (i.e., Red Hat RHEL or CentOS) are also accessible locally without requiring Internet access. An initial install of Scyld ClusterWare has dependencies on various base distribution packages, and a subsequent ClusterWare update may have dependencies on new or updated base distribution packages.
Next you need a ClusterWare ISO file that contains the desired software.
Either contact Penguin Computing to obtain the ISO,
or build the ISO on a local server that has access to the Internet.
To build the ISO locally, you need a clusterware.repo
file that contains
a valid customer authentication token that allows access to Penguin Computing's
ClusterWare yum repo, then:
# Download the ClusterWare `make-iso` script:
curl -O https://updates.penguincomputing.com/clusterware/11/installer/make-iso
# Execute the `make-iso` script to create either an ISO named "clusterware.iso":
./make-iso --yum-repo ./clusterware.repo
# Or to create an arbitrarily named ISO:
sudo ./make-iso --yum-repo ./clusterware.repo clusterware-11.1.0.iso
# Note: `./make-iso --from-yum` is equivalent to
# `./make-iso --yum-repo /etc/yum.repos.d/clusterware.repo`
Suppose the ISO file clusterware-11.1.0.iso
contains ClusterWare
release 11.1.0:
# Mount the ClusterWare ISO, if not already mounted:
sudo mount -o loop clusterware-11.1.0.iso /mnt/cw11.1.0
For an initial install,
use a cluster configuration file (e.g., named cluster-conf
)
that is described in Initial Installation of Scyld ClusterWare,
and execute the scyld-install
script that is embedded in the ISO
to performs the basic first install of ClusterWare and create
/etc/yum.repos.d/clusterware.repo
,
which points at the software in the ISO:
/mnt/cw11.1.0/scyld-install --config cluster-conf
Once the head node software has been installed, then subsequent ClusterWare commands need to find a base distribution defined repo and distro. See Appendix: Creating Arbitrary CentOS Images (or Appendix: Creating Arbitrary RHEL Images) for examples.
Suppose the base distribution ISO is accessible at http://<baseOSserver>/<baseOSiso>:
scyld-clusterctl repos create name=<baseOSrepo> iso=@</path/to/baseOSiso>
scyld-clusterctl distros create name=<baseOSdistro> repos=<baseOSrepo>
Now finish the setup. The following expects to find a single distro and one or more repo repositories:
scyld-add-boot-config --make-defaults
For a software update of an existing Scyld ClusterWare install,
rename the current /etc/yum.repos.d/clusterware.repo
,
then execute the script
(which recreates clusterware.repo
with the appropriate values):
(cd /etc/yum.repos.d; sudo mv -f clusterware.repo clusterware.repo.bak)
/mnt/cw11.1.0/scyld-install
Important
If the local repo has been created in a manner other than
what is described above,
then it is possible that /etc/yum.repos.d/clusterware.repo
uses
baseurl of the form file:///
(e.g., baseurl=file:///var/www/html/cw11.1.0
).
This may cause future problems when attempting to create an image,
so the administrator should edit this to a functionally equivalent
form http:// (e.g., baseurl=http://localhost/cw11.1.0
).