1. Home
  2. Docs
  3. ClusterControl
  4. Installation
  5. Offline Installation

Offline Installation

ClusterControl provides a helper script to install and configure ClusterControl packages in an Internetless environment, available at /var/www/clustercontrol/app/tools/setup-cc.sh.

Take note that the following ClusterControl features will not work without an Internet connection:

  • Backup → Create/Schedule Backup → Upload to Cloud – requires a connection to cloud providers.
  • Integrations → Cloud Providers – requires a connection to cloud providers.
  • Manage → Load Balancer – requires a connection to EPEL, ProxySQL, HAProxy, MariaDB repository.
  • Manage → Upgrades – requires a connection to the provider’s repository.
  • Deploy Database Cluster – requires a connection to the database provider’s repository.

Prior to the offline install, make sure you meet the following requirements for the ClusterControl node:

  • Ensure the offline repository is ready. We assume that you already configured an offline repository. Details on how to set up an offline repository are explained in the Setting up Offline Repository section.
  • Firewall, SELinux or AppArmor must be turned off. You can turn on the firewall once the installation has completed. Make sure to allow ports as defined in Firewall and Security Groups.
  • MySQL server must be installed and running on the ClusterControl host.

Setting up Offline Repository

The installer script requires an offline repository to satisfy the dependencies. In this documentation, we provide steps to configure offline repository on CentOS 7, Debian 7 and Ubuntu 16.04 LTS.

CentOS 7Debian 7Ubuntu 16.04

1. Insert the CentOS 7 installation disc into the DVD drive.

2. Mount the DVD installation disc into the default media location at /media/CentOS:

$ mkdir /media/CentOS
$ mount /dev/cdrom /media/CentOS

3. Disable the default repository by adding enabled=0 to base, updates and extras directives. You should have something like this inside /etc/yum.repos.d/CentOS-Base.repo:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0

4. Update the enabled value under the c6-media directive in /etc/yum.repos.d/CentOS-Media.repo, as shown below:

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

5. Get the list of available packages:

$ yum list

Make sure the last step does not produce any error.

1. Download the ISO images from the respective vendor site and upload them onto the ClusterControl host. You should have something like this on Debian 7.6:

$ ls -1 | grep debian
debian-7.6.0-amd64-DVD-1.iso
debian-7.6.0-amd64-DVD-2.iso
debian-7.6.0-amd64-DVD-3.iso

2. Create mount points and mount each of the ISO images accordingly:

$ mkdir /mnt/debian-dvd1 /mnt/debian-dvd2 /mnt/debian-dvd3
$ mount debian-7.6.0-amd64-DVD-1.iso /mnt/debian-dvd1
$ mount debian-7.6.0-amd64-DVD-2.iso /mnt/debian-dvd2
$ mount debian-7.6.0-amd64-DVD-3.iso /mnt/debian-dvd3

3. Add the following lines into /etc/apt/sources.list and comment the other lines:

deb file:/mnt/debian-dvd1/ wheezy main contrib
deb file:/mnt/debian-dvd2/ wheezy main contrib
deb file:/mnt/debian-dvd3/ wheezy main contrib

4. Retrieve the new list of packages:

$ apt-get update

Make sure the last step does not produce any error.

1. Insert Ubuntu 16.04 installation disc into the DVD drive.

2. Mount the disk as /media/cdrom:

$ sudo mkdir /media/cdrom
$ sudo mount /dev/cdrom /media/cdrom/

3. Uncomment the following line (the first line) inside /etc/apt/sources.list and comment on the other lines:

deb cdrom:[Ubuntu-Server 16.04.2 LTS _Xenial Xerus_ - Release amd64 (20170215.8)]/ xenial main restricted

4. Retrieve the new list of packages:

$ sudo apt-get update

Make sure the last step does not produce any errors.

Performing Offline Installation

Red Hat/CentOSDebian/Ubuntu

1. The offline installation script will need a running MySQL server on the host. Install MySQL server and client, enable it to start on boot and start the service:

$ yum install -y mariadb mariadb-server
$ systemctl enable mariadb
$ systemctl start mariadb

2. Configure MySQL root password for the newly installed MySQL server:

$ mysqladmin -uroot password yourR00tP4ssw0rd

3. Create the staging directory called s9s_tmp and download the latest version of ClusterControl related RPM packages from the Severalnines download site and Severalnines Repository. There are a number of packages you need to download as explained below:

4. Perform the package installation manually:

$ yum localinstall clustercontro*
$ yum localinstall s9s-tools*

5. Execute the post-installation script to configure ClusterControl components and follow the installation wizard accordingly:

$ /var/www/html/clustercontrol/app/tools/setup-cc.sh

6. Open the browser and navigate to https://ClusterControl_host/clustercontrol. Setup the super admin account by specifying a valid email address and password on the welcome page.

Note

You would see this error: “Sorry we are not able to retrieve your license information. Please register your license under Settings – Subscription”. This is expected because the demo license is automatically retrieved from our license server automatically via the Internet. Please contact our Sales or Support team to get a free 30-day demo license. Otherwise, you will be running ClusterControl as a community edition.

1. Install MySQL on the host and enable it on boot:

$ sudo apt-get install -y --force-yes mysql-client mysql-server
$ sudo systemctl enable mysql

2. Create the staging directory called s9s_tmp and download the latest version of ClusterControl related DEB packages from the Severalnines download site and Severalnines Repository. There are a number of packages you need to download as explained below:

3. Perform the package installation and ClusterControl dependencies manually:

$ sudo apt-get -f install ntp gnuplot
$ sudo dpkg -i clustercontrol*.deb
$ sudo dpkg -i libs9s0*.deb
$ sudo dpkg -i s9s-tools*.deb

4. Execute the post-installation script to configure ClusterControl components and follow the installation wizard accordingly:

$ sudo /var/www/clustercontrol/app/tools/setup-cc.sh

5. Open the browser and navigate to https://ClusterControl_host/clustercontrol. Setup the super admin account by specifying a valid email address and password on the welcome page.

Note
You would see this error: “Sorry we are not able to retrieve your license information. Please register your license under Settings – Subscription”. This is expected because ClusterControl was trying to pull and configure a demo license from the license server via the Internet. Please contact our Sales or Support team for a free 30-day demo license.

Post-installation

Once ClusterControl is up and running, you can import your existing cluster or deploy a new database cluster and start managing them from one place. Make sure passwordless SSH is configured from the ClusterControl node to your database nodes.

1. Generate an SSH key on the ClusterControl node:

$ ssh-keygen -t rsa # press Enter on all prompts

2. Setup passwordless SSH to ClusterControl and database nodes:

$ ssh-copy-id -i ~/.ssh/id_rsa {os_user}@{IP address/hostname}

Repeat step 2 for all database hosts that you are going to manage (including the ClusterControl node itself).

Was this article helpful to you? Yes No