Rabu, 31 Januari 2024

ORACLE-pfile dan spfile

 pada mulanya, oracle mengunakan pfile tapi versi selanjutnya oracle memperkenalkan spfile yaitu versi binary dari pfile.jadi untuk konfigurasi init parameter ada 2 pilihan yaitu pfile atau spfile , default oracle akan membaca spfile terlebih dahulu.

lokasi spfile terdapat di $ORACLE_HOME/dbs untuk linux dan %ORACLE_HOME%\database untuk windows. Nama pfile : initNAMAINSTANCE.ora dan nama spfile : spfileNAMAINSTANCE.ora cat. Secara default oracle generate spfile

default oracle create spfile, pfile bisa digunakan untuk backup sebuah spfile sbb :

SQL > create pfile from spfile;

Jika suatu saat spfile bermasalah bisa up db mengunakan pfile,setelah up create spfile lagi agar pfile hanya menjadi backup saja sbb

SQL > create spfile from pfile;

parameter instance ada 2 tipe dinamic dan static berikut cara melihat parameter termasuk dinamik atau static :

SQL> select NAME, ISSES_MODIFIABLE, ISSYS_MODIFIABLE from v$parameter where name=’pga_aggregate_target’;

SQL> select NAME, ISSES_MODIFIABLE, ISSYS_MODIFIABLE from v$parameter where name=’control_file’;

Jika dynamic dengan ciri immediate pada issys_modifiable maka

SQL > alter system set pga_aggregate_target=100m scope=both

Jika static dengan ciri false false maka

SQL> alter system set control_file=2 scope=spfile;
SQL> shutdown immediate
SQL> startup

Asumsi diatas adalah database oracle mengunakan spfile karena saya lebih suka mengunakan spfile daripada pfile. Mungkin lain kali akan saya bahas jika ingin ubah parameter dan db mengunakan pfile sebagai parameter file startup

ORACLE-spfile

 

Memindahkan Oracle DB File

Salah satu komponen dari Oracle Database adalah “datafile”. Pengertian sederhana dari datafile adalah kumpulan berkas tempat menyimpan semua database object. Contoh database object antara lain adalah tablesindexesconstraintspackagessequences, dsb. Ada juga yang menyebut datafile sebagai “DB File”. Datafile umumnya menggunakan file extension *.dbf, seperti contoh berikut ini :

[oracle@svn ~]$ ls -tlr /oracle/database/oradata/SVN/*dbf
-rw-r----- 1 oracle oinstall  30416896 Oct 12 02:05 /oracle/database/oradata/SVN/temp01.dbf
-rw-r----- 1 oracle oinstall   5251072 Oct 12 02:06 /oracle/database/oradata/SVN/users01.dbf
-rw-r----- 1 oracle oinstall 104865792 Oct 12 02:06 /oracle/database/oradata/SVN/example01.dbf
-rw-r----- 1 oracle oinstall 713039872 Oct 12 02:07 /oracle/database/oradata/SVN/system01.dbf
-rw-r----- 1 oracle oinstall 104865792 Oct 12 02:07 /oracle/database/oradata/SVN/undotbs01.dbf
-rw-r----- 1 oracle oinstall 524296192 Oct 12 02:07 /oracle/database/oradata/SVN/sysaux01.dbf
[oracle@svn ~]$ 

Meskipun demikian Oracle Database tidak serta merta menulis data ke dalam datafile. Semua datafile tersebut disusun secara logical dalam bentuk tablespace. Sebuah tablespace dapat tersusun dari beberapa datafile sekaligus. Bila tablespace sudah kehabisan ruang kosong, kita bisa menambahkan datafile yang baru untuk memperluas tablespace. Di dalam tablespace inilah semua database object disimpan. Komponen Oracle Database lainnya adalah controlfile. Kalau datafile digunakan untuk menyimpan data, controlfile bertugas menyimpan informasi struktur fisik database. Misalnya database name, lokasi datafile, lokasi dari redolog, dsb.

Selain datafile & controlfile, Oracle Database memiliki komponen penting lainnya yaitu initialization parameters file. Saat pertama kali dihidupkan, Oracle Database akan membaca parameter-parameter yang disimpan oleh initialization parameters file tersebut. Salah satu parameter yang dibaca adalah lokasi tempat controlfile berada. Oracle Database memiliki 2 jenis initialization parameters file : SPFILE atau PFILE. PFILE adalah berkas teks biasa yang bisa dimodifikasi dengan editor teks seperti vi atau Notepad (di Windows). Sementara SPFILE adalah berkas binary yang hanya bisa dimodifikasi oleh Oracle Database melalui perintah SQL. Baik SPFILE maupun PFILE biasanya disimpan dalam direktori $ORACLE_HOME/dbs.

Relasi antara initialization parameters filedatafile, dan controlfile gampangnya seperti ini :

  • Oracle DB membaca SID (System ID) dari environment variable.
  • Oracle DB mencari PFILE/SPFILE yang bersesuaian dengan SID tadi. Biasanya nama berkas PFILE & SPFILE adalah init<SID>.ora atau spfile<SID>.ora (contoh : misalnya SID = ORCL, maka PFILE akan menggunakan nama initORCL.ora).
  • Oracle DB membaca PFILE (atau SPFILE) tersebut untuk mengetahui lokasi controlfile.
  • Oracle DB lalu membaca controlfile untuk mengetahui datafile mana saja yang menyusun database.
  • Barulah Oracle DB bisa mengakses semua datafile dan menyiapkan semua database object.

Berikut ini adalah catatan pribadi saya tentang cara memindahkan datafile & controlfile ke lokasi yang baru :

  1. Pertama saya mencari tahu dulu di mana datafile & controlfile yang digunakan oleh database. Cara paling mudah adalah dengan melihat tabel v$controlfile & v$datafile seperti contoh berikut ini :
    [oracle@svn ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 12 02:08:23 2014
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> COLUMN NAME FORMAT A60
    SQL> SELECT NAME FROM V$CONTROLFILE;
    
    NAME
    ------------------------------------------------------------
    /oracle/database/oradata/SVN/control01.ctl
    /oracle/database/flash_recovery_area/SVN/control02.ctl
    
    SQL> SELECT NAME FROM V$DATAFILE;
    
    NAME
    ------------------------------------------------------------
    /oracle/database/oradata/SVN/system01.dbf
    /oracle/database/oradata/SVN/sysaux01.dbf
    /oracle/database/oradata/SVN/undotbs01.dbf
    /oracle/database/oradata/SVN/users01.dbf
    /oracle/database/oradata/SVN/example01.dbf
    
    SQL> 
    

    Dari hasil perintah SQL tersebut saya paham ada beberapa berkas pada 3 direktori yang perlu dipindahkan :

    • /oracle/database/oradata/SVN : berisi controlfile #1.
    • /oracle/database/flash_recovery_area/SVN : berisi controlfile #2.
    • /oracle/database/oradata/SVN/ : berisi datafile.
  2. Untuk memeriksa initialization parameters file yang sedang digunakan oleh Oracle Database saya bisa menggunakan perintah berikut ini :
    SQL> SHOW PARAMETER SPFILE
    
    NAME                     TYPE    VALUE
    ------------------------------------ ----------- ------------------------------
    spfile                   string  /oracle/database/11.2.0/server
                             /dbs/spfileSVN.ora
    SQL> 
    

    Dalam contoh ini database saya menggunakan berkas /oracle/database/11.2.0/server/dbs/spfileSVN.ora sebagai initialization file-nya.

  3. Sebelum mulai memindahkan datafile & controlfile saya siapkan dulu direktori baru untuk menyimpan berkas-berkas tadi. Misalnya saya ingin pindahkan semua datafile dan controlfile ke dalam direktori /oracle/database/oradata_NEW/SVN :
    [oracle@svn ~]$ cd /oracle/database
    [oracle@svn ~]$ mkdir -p oradata_NEW/SVN
    [oracle@svn ~]$ chown -R oracle:oinstall oradata_NEW
    [oracle@svn ~]$ 
    
  4. Berikutnya saya perlu mengatur ulang database untuk memindahkan controlfile. Karena database-nya menggunakan SPFILE, saya perlu memodifikasi berkas SPFILE dengan perintah ALTER SYSTEM seperti berikut ini :
    SQL> ALTER SYSTEM SET CONTROL_FILES='/oracle/database/oradata_NEW/SVN/control01.ctl','/oracle/database/oradata_NEW/SVN/control02.ctl' SCOPE=SPFILE;
    
    System altered.
    
    SQL> 
    

    Hal tersebut berbeda bila database menggunakan PFILE. Bila database menggunakan PFILE & kita mencoba mengubah lokasi controlfile dengan perintah di atas akan muncul error seperti ini :

    SQL> ALTER SYSTEM SET CONTROL_FILES='/oracle/database/oradata_NEW/SVN/control01.ctl','/oracle/database/oradata_NEW/SVN/control02.ctl';
    ALTER SYSTEM SET CONTROL_FILES='/oracle/database/oradata_NEW/SVN/control01.ctl','/oracle/database/oradata_NEW/SVN/control02.ctl'
                     *
    ERROR at line 1:
    ORA-02095: specified initialization parameter cannot be modified
    
    
    SQL> 
    

    Bila database kita menggunakan PFILE, maka cukup edit berkas init.ora untuk memodifikasi parameter control_files seperti contoh berikut ini :

    [oracle@svn dbs]$ grep -i control initSVN.ora
    *.control_files='/oracle/database/oradata_NEW/SVN/control01.ctl','/oracle/database/oradata_NEW/SVN/control02.ctl'
    [oracle@svn dbs]$ 
    
  5. Setelah itu saya perlu mematikan database terlebih dulu :
    SQL> SHUTDOWN IMMEDIATE;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> 
    
  6. Pada tahap ini saya bisa memindahkan semua berkas datafile & controlfile :
    [oracle@svn ~]$ mv /oracle/database/oradata/SVN/control01.ctl /oracle/database/oradata_NEW/SVN/
    [oracle@svn ~]$ mv /oracle/database/flash_recovery_area/SVN/control02.ctl /oracle/database/oradata_NEW/SVN/
    [oracle@svn ~]$ mv /oracle/database/oradata/SVN/*dbf  /oracle/database/oradata_NEW/SVN/
    [oracle@svn ~]$     
    
  7. Setelah semua berkas sukses dipindahkan, berikutnya saya bisa menyalakan kembali database. Pada tahap ini saya harus menyalakan database dengan mode mount saja.
    [oracle@svn ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 12 02:19:03 2014
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> STARTUP MOUNT;
    ORACLE instance started.
    
    Total System Global Area 1653518336 bytes
    Fixed Size          2213896 bytes
    Variable Size         973080568 bytes
    Database Buffers      671088640 bytes
    Redo Buffers            7135232 bytes
    Database mounted.
    SQL> 
    
  8. Setelah database sudah dalam status mounted, sekarang saya perlu mengatur ulang database untuk mengganti nama setiap datafile dengan perintah “ALTER DATABASE RENAME FILE” seperti contoh berikut ini :
    SQL> ALTER DATABASE RENAME FILE '/oracle/database/oradata/SVN/system01.dbf' TO '/oracle/database/oradata_NEW/SVN/system01.dbf';
    
    Database altered.
    
    SQL> ALTER DATABASE RENAME FILE '/oracle/database/oradata/SVN/sysaux01.dbf' TO '/oracle/database/oradata_NEW/SVN/sysaux01.dbf';
    
    Database altered.
    
    SQL> ALTER DATABASE RENAME FILE '/oracle/database/oradata/SVN/undotbs01.dbf' TO '/oracle/database/oradata_NEW/SVN/undotbs01.dbf';
    
    Database altered.
    
    SQL> ALTER DATABASE RENAME FILE '/oracle/database/oradata/SVN/users01.dbf' TO '/oracle/database/oradata_NEW/SVN/users01.dbf';
    
    Database altered.
    
    SQL> ALTER DATABASE RENAME FILE '/oracle/database/oradata/SVN/example01.dbf' TO '/oracle/database/oradata_NEW/SVN/example01.dbf';
    
    Database altered.
    
    SQL> 
    

    Untuk memastikan semua controlfile & datafile pada lokasi yang baru, saya bisa memeriksanya dengan perintah berikut ini :

    SQL> SELECT NAME FROM V$CONTROLFILE;
    
    NAME
    --------------------------------------------------------------------------------
    /oracle/database/oradata_NEW/SVN/control01.ctl
    /oracle/database/oradata_NEW/SVN/control02.ctl
    
    SQL> SELECT NAME FROM V$DATAFILE;
    
    NAME
    --------------------------------------------------------------------------------
    /oracle/database/oradata_NEW/SVN/system01.dbf
    /oracle/database/oradata_NEW/SVN/sysaux01.dbf
    /oracle/database/oradata_NEW/SVN/undotbs01.dbf
    /oracle/database/oradata_NEW/SVN/users01.dbf
    /oracle/database/oradata_NEW/SVN/example01.dbf
    
    SQL> 
    
  9. Setelah itu barulah kita bisa mengganti mode database ke mode open (mode open maksudnya semua isi datafile bisa diakses kembali oleh user). Untuk memindahkan mode database dari mode mount ke open saya gunakan perintah berikut ini ;
    SQL> ALTER DATABASE OPEN;
    
    Database altered.
    
    SQL> 
    

Begitu kira-kira langkah yang saya gunakan untuk memindahkan datafile dan controlfile Oracle Database. Saya menggunakan Oracle Database 11g (Enterprise Edition Release 11.2.0.1.0) untuk membuat contoh langkah-langkah di atas. Oracle Database tersebut terpasang pada Oracle Linux 6.5. Semoga bermanfaat.

PSQL-replikasi

 

Step By Step – How To Setup Replication Manager(Repmgr) in PostgreSQL

 Step 1 - Make sure the replication configuration is setup correctly.


Step 2 – Install repmgr on primary and standby servers.

Make sure we install the same version of repmgr which is of our postgreSQL version. Since I am running postgreSQL version 13, I will be installing repmgr-13.

Note - We have to install it as a root user.

On Primary Server -

#yum -y install repmgr13*


On Standby Server -

#yum -y install repmgr13*


Step 3  – Configure postgresql.conf on Master and Standby nodes.

Since we have already configured replication, most of the parameters are already set. But just check on the below parameters and set whichever is missing.

shared_preload_libraries = 'repmgr'

max_wal_senders = 5

max_replication_slots = 10

wal_level = replica

hot_standby = on

archive_mode = on

archive_command = 'cp %p /home/postgres/arch_dir/%  - We can have the different archive locations.

Listen_address=’*’

Step 4 – Create a replication manager user as repmgr.

Psql$ create user repmgr;

Psql$ create database repmgr owner repmgr;

Psql$alter user repmgr with superuser;



Step 5 – Create repmgr.conf on Primary node.
Now we have to create repmgr.conf on Primary node. We can create it on any location but I have created under data directory only. My data directory is -


Create repmgr.conf with below parameters -

[postgres@Master master]$ cat repmgr.conf

cluster='failovertesting'

node_id=1

node_name=Master

conninfo='user=repmgr password=welcome host=192.168.204.133 dbname=repmgr port=5448 connect_timeout=2'

data_directory='/home/postgres/master/'

failover=automatic

promote_command='/usr/pgsql-13/bin/repmgr standby promote -f /home/postgres/master/repmgr.conf --log-to-file'

follow_command='/usr/pgsql-13/bin/repmgr standby follow -f /home/postgres/master/repmgr.conf --log-to-file --upstream-node-id=%n'


Parameter understanding –

failover='automatic'

The failover parameter is one of the mandatory parameters for the repmgr daemon. This parameter tells the daemon if it should initiate an automatic failover when a failover situation is detected. It can have either of two values: “manual” or “automatic”. We will set this to automatic in each node.

promote_command

promote_command= '/usr/pgsql-13/bin/repmgr standby promote  -f /home/postgres/master/repmgr.conf  --log-to-file'

This is another mandatory parameter for the repmgr daemon. This parameter tells the repmgr daemon what command it should run to promote a standby. The value of this parameter will be typically the “repmgr standby promote” command, or the path to a shell script that calls the command. For our use case, we set this to the following in each node:

follow_command

follow_command= '/usr/pgsql-13/bin/repmgr standby follow  -f  /home/postgres/master/repmgr.conf   --log-to-file  --upstream-node-id=%n'

This is the third mandatory parameter for the repmgr daemon. This parameter tells a standby node to follow the new primary. The repmgr daemon replaces the %n placeholder with the node ID of the new primary at run time.

priority

The priority parameter adds weight to a node’s eligibility to become a primary. Setting this parameter to a higher value gives a node greater eligibility to become the primary node. Also, setting this value to zero for a node will ensure the node is never promoted as primary.

Suppose we have two standbys: replica1  and replica2 and we want to promote replica2 as the new primary when master node goes offline, and replica2 to follow replica1 as its new primary. We set the parameter to the following values in the two standby nodes:

Node Name       Parameter Setting

replica1              priority=60

replica2              priority=40

monitor_interval_secs

This parameter tells the repmgr daemon how often (default is seconds) it should check the availability of the upstream node. In our case, there is only one upstream node i.e the master node. The default value is 2 seconds, but we will explicitly set this anyhow in each node like below

monitor_interval_secs=2

connection_check_type

 This parameter dictates the protocol repmgr daemon will use to reach out to the upstream node. This parameter can take three values:

ping: repmgr uses the PQPing() method.

connection: repmgr tries to create a new connection to the upstream node

query: repmgr tries to run a SQL query on the upstream node using the existing connection

Again, we will set this parameter to the default value of ping in each node:

connection_check_type='ping'

reconnect_attempts and reconnect_interval

When the primary becomes unavailable, the repmgr daemon in the standby nodes will try to reconnect to the primary for reconnect_attempts times. The default value for this parameter is 6. Between each reconnect attempt, it will wait for reconnect_interval seconds, which has a default value of 10.

For demonstration purposes, we will use a short interval and fewer reconnect attempts. We set this parameter in every node:

reconnect_attempts=4

reconnect_interval=8

primary_visibility_consensus

When the primary becomes unavailable in a multi-node cluster, the standbys can consult each other to build a quorum about a failover. This is done by asking each standby about the time it last saw the primary. If a node’s last communication was very recent and later than the time the local node saw the primary, the local node assumes the primary is still available, and does not go ahead with a failover decision.

To enable this consensus model, the primary_visibility_consensus parameter needs to be set to “true” in each node – including the witness:

primary_visibility_consensus=true

standby_disconnect_on_failover

When the standby_disconnect_on_failover parameter is set to “true” in a standby node, the repmgr daemon will ensure its WAL receiver is disconnected from the primary and not receiving any WAL segments. It will also wait for the WAL receivers of other standby nodes to stop before making a failover decision. This parameter should be set to the same value in each node. We are setting this to “true”.

standby_disconnect_on_failover=true

Setting this parameter to true means every standby node has stopped receiving data from the primary as the failover happens. The process will have a delay of 5 seconds plus the time it takes the WAL receiver to stop before a failover decision is made. By default, the repmgr daemon will wait for 30 seconds to confirm all sibling nodes have stopped receiving WAL segments before the failover happens.

 Step 6 – Register Primary database cluster in the repmgr configuration

Since we have created the repmgr.conf file with the minimum required parameters. Now we have to register our primary database cluster in repmgr configuration.

[postgres@Master master]$ /usr/pgsql-13/bin/repmgr  -f  /home/postgres/master/repmgr.conf  primary register


We can see primary node is registered successfully using below command –

[postgres@Master master]$ /usr/pgsql-13/bin/repmgr  -f  /home/postgres/master/repmgr.conf  cluster show


Step 7 – Create repmgr.conf file on standby node.

We can create it in any location but I have created in the data directory only. My data directory is –


[postgres@Replica1 replica1]$ cat repmgr.conf

cluster='failovertesting'

node_id=2

node_name=Replica1

conninfo='host=192.168.204.134 user=repmgr password=welcome dbname=repmgr port=5448 connect_timeout=2'

data_directory='/home/postgres/replica1/'

failover=automatic

promote_command='/usr/pgsql-13/bin/repmgr  standby promote  -f /home/postgres/replica1/repmgr.conf --log-to-file'

follow_command='/usr/pgsql-13/bin/repmgr standby follow -f  /home/postgres/replica1/repmgr.conf --log-to-file  --upstream-node-id=%n'


Step 8 – Register Standby Database Cluster

Now we have to register our standby database cluster in the repmgr configuration.

[postgres@Replica1 replica1]$ /usr/pgsql-13/bin/repmgr  -f  /home/postgres/replica1/repmgr.conf  standby  register

Getting below error –


Then I had to force register it like below –

[postgres@Replica1 replica1]$ /usr/pgsql-13/bin/repmgr  -f  /home/postgres/replica1/repmgr.conf  standby  register –force


But when I was showing cluster status on primary it was giving below warning –

[postgres@Master ~]$ /usr/pgsql-13/bin/repmgr -f /home/postgres/master/repmgr.conf  cluster  show



So I had to run below command on standby database.

[postgres@Replica1 ~]$ /usr/pgsql-13/bin/repmgr -f /home/postgres/replica1/repmgr.conf  standby  follow


After than when I checked the cluster status on primary it is running without any error –


I checked both the nodes and it is running fine –

/usr/pgsql-13/bin/repmgr -f /home/postgres/master/repmgr.conf  node  check



$/usr/pgsql-13/bin/repmgr  –f  /home/postgres/master/repmgr.conf  cluster  crosscheck



 Step 9 – Start repmgrd process on master and standby

[postgres@Master ~]$ /usr/pgsql-13/bin/repmgrd  -f  /home/postgres/master/repmgr.conf


[postgres@Replica1 ~]$ /usr/pgsql-13/bin/repmgrd -f /home/postgres/replica1/repmgr.conf


We can see the series of events using cluster events commands –


When it starts monitoring then we will see the below details –



Repmgr Command Options –


                          ====================The End=====

Selasa, 30 Januari 2024

CLUSTERCONTROL-desktop

 

Desktop GUI Installation Instructions for ClusterControl

The ClusterControl GUI Installer is a cross-platform desktop web application for Linux, MacOS and Windows. It uses the electron framework to create a native ClusterControl Installer application. The installer provides an easy to use graphical user interface for the bash script. Download the installer to to your desktop and launch the application to get started.

Download the installer package for your desktop operating system of choice.

https://severalnines.com/clustercontrol/download?qr=5zGIyeO9je7HcBC8MMLrrg==


Linux Distributions: Ubuntu 18.04|20.04, Debian 10|11, Redhat 8, RockyLinux 8, AlmaLinux 8

# download
wget https://severalnines.com/downloads/cmon/clustercontrol-installer-linux-x64-v2.0.2.tar.gz
# unpack with
tar -zxvf clustercontrol-installer-linux-x64-v2.0.2.tar.gz

MacOS 11+

# download
wget https://severalnines.com/downloads/cmon/clustercontrol-installer-darwin-x64-v2.0.2.zip
# Double-click the .zip file. The unzipped item appears in the same folder as the .zip file

Windows 10+

# download
wget https://severalnines.com/downloads/cmon/clustercontrol-installer-win32-x64-v2.0.2.zip
# Open File Explorer and find the zipped folder.
# To unzip the entire folder, right-click to select Extract All, and then follow the instructions.
# To unzip a single file or folder, double-click the zipped folder to open it. Then, drag or copy the item from the zipped folder to a new location

Start GUI Installer

Open the ClusterControl Installer by double clicking the application.

ClusterControl will be installed on a host using a SSH connection from the Installer application. This requires that you have SSH credentials to connect from the Installer host to the ClusterControl server where it will be installed. The ClusterControl server requires internet connectivity and If you use a non-root user, then that user must be in the sudoers on the host. Check the full requirements here before you start.

SSH Configuration

You can use password authentication however we recommend using a password-less connection with a SSH key.

  • ClusterControl Server
    This is the server hostname / IP address where ClusterControl will be installed on.
  • SSH Port
    Default port 22.
  • SSH User
    Use the ‘root’ user or a user that has sudo privileges on the server.
  • SSH Password
    Enter a password if you have a password based login to the server. We recommend that you use password-less login with an SSH key and then leave this field empty.
  • SSH Private Key
    The SSH key to use with password-less login to the server.

If you have issues connecting to the ClusterControl server then enable the ‘Debug Mode’ checkbox at the end of the form to capture more detailed logs.

ClusterControl Configuration

  • Email Address
    Enter the email address of the Admin user which will be created at first login.
  • MySQL CMON Password
    ClusterControl requires a database user, ‘cmon’ by default and this sets the password for the ‘cmon’ database user.
  • MySQL Root Password
    The password for the ‘root’ user of the MySQL database server.
  • MySQL Port 3306
    Default local MySQL server port
  • MySQL InnoDB Buffer Pool Size (MB)
    This setting depends on the ClusterControl server’s available memory. 256-512 MB is a good starting point with servers that has 2-4GB of memory. You can try to later change this to 60-80% of the available memory on the server if you experience performance issues with the web application.

Log Installation Information

By default, we capture and send some data (such as os, memory and install success) during the installation to help with troubleshooting and improve our installation script. None of the collected data identifies you personally. You can opt-out of this by disabling ‘Send the installation diagnostic information’.

ClusterControl v2 – Next Generation Web Application

The next generation of the ClusterControl web application is in active development and you can opt to install it with the current version of the ClusterControl (v1) web application. Opt-out by disabling ‘Do you want to install CCv2’.

Next, click on ‘Install’ after you have filled in the SSH and ClusterControl configuration settings to start the installation process.

After the installation script has successfully completed, click on the ClusterControl (v1) web application’s URL – http://143.110.154.121/clustercontrol to finish setting up the installation by creating the first Admin user. You can also use the HTTPS endpoint – https://143.110.154.121/clustercontrol however since we by default generate a temporary self-signed certificate, you will need to make a certificate exception if you want to continue.

Note: For now, you cannot start by opening the ClusterControl (v2) web application for this initial Admin user creation. It needs to be done from the ClusterControl (v1) web application until it’s supported with upcoming releases. 

Create the initial Admin User

Open the ClusterControl (v1) web application, enter a new password for your Admin user and click ‘Register’ to get started with ClusterControl!

Please check the requirements for password-less setup before you start to deploy databases – Passwordless SSH .