Welcome to my blog with some of my work in progress. You can read some of the chapters below.
Upgrading Self Hosted Stalwart Mail Experience
Steps
-
Get the current version of Stalwart Mail.
- current version: v0.8.0
-
Check the documentation for the latest version.
- upgrading documentation: https://github.com/stalwartlabs/stalwart/blob/main/UPGRADING.md
-
Upgrade to the next major version incrementally
- next major version: v0.9.x
- next major version: v0.10.x
- next major version: v0.11.x
- next major version: v0.12.x
-
Fix issues that arise during the upgrade process.
-
issue: failed to start when using v0.11.0 root causes:
- https://github.com/stalwartlabs/stalwart/issues/1057
- https://github.com/stalwartlabs/stalwart/issues/1104
resolution: use v0.11.3 when upgrading from v0.10 to v0.11
-
By Prasetiyo Hadi Purwoko
read moreUpgrade OpenStack Mitaka to OpenStack Newton using RDO
My OpenStack development environment is build using RDO’s packstack utility and consists of three nodes: one controller, network, and compute node, and two compute nodes. RDO website offers two scenario for upgrading OpenStack Mitaka to OpenStack Newton. The first scenario involves taking down all of the OpenStack services at once and will not bring them back up until the upgrade process is completed. The second scenario upgrades each OpenStack service one by one to avoid downtime by performing rolling upgrades of the compute hosts, taking advantage of the fact that nova-compute from Mitaka can communicate with a Newton control plane.
By Prasetiyo Hadi Purwoko
read moreUsing ProxySQL to Access and Manage Percona XtraDB Cluster
We will use ProxySQL as a gateway to access our Percona XtraDB Cluster. ProxySQL is a high-performance SQL proxy. ProxySQL runs as a daemon watched by a monitoring process. The process monitors the daemon and restarts it in case of a crash to minimize downtime. The daemon accepts incoming traffic from MySQL clients and forwards it to backend MySQL servers.
Installing ProxySQL
Node configuration
| Node | Host | IP |
|---|---|---|
| Node 1 | db1 | 192.168.50.31 |
| Node 2 | db2 | 192.168.50.32 |
| Node 3 | db3 | 192.168.50.33 |
| Node 4 | proxysql | 192.168.50.34 |
Prerequisites
-
Install CentOS 7
By Prasetiyo Hadi Purwoko
read moreBuild Percona XtraDB Cluster using Ansible
Percona XtraDB Cluster is a database clustering solution for MySQL. It ensures high availability, prevents downtime and data loss, and provides linear scalability for a growing environment. Here we will try to install Percona XtraDB Cluster on a three nodes cluster configuration with the help from Ansible configuration management.
Installing Percona XtraDB Cluster on Red Hat Enterprise Linux and CentOS 7
Node configuration
| Node | Host | IP |
|---|---|---|
| Node 1 | db1 | 192.168.50.31 |
| Node 2 | db2 | 192.168.50.32 |
| Node 3 | db3 | 192.168.50.33 |
Prerequisites
- Install CentOS 7
- Update CentOS 7
- Open firewall for TCP ports 3306, 4444, 4567, 4568:
ansible -i hosts -bkKv db-cluster -m firewalld -a 'port=3306/tcp permanent=true
state=enabled immediate=yes'
ansible -i hosts -bkKv db-cluster -m firewalld -a 'port=4444/tcp permanent=true
state=enabled immediate=yes'
ansible -i hosts -bkKv db-cluster -m firewalld -a 'port=4567/tcp permanent=true
state=enabled immediate=yes'
ansible -i hosts -bkKv db-cluster -m firewalld -a 'port=4568/tcp permanent=true
state=enabled immediate=yes'
-
Disable or set SELinux to Permissive, set option below in /etc/selinux/config and /etc/sysconfig/selinux:
By Prasetiyo Hadi Purwoko
read moreBuilding Linux Cluster for HPC using Ansible and SLURM
What is a Linux Cluster?
Linux cluster is a group of computers running Linux which is interconnected in a local network so they can communicate with each other. Linux cluster is often used in high performance computing to do complex calculation of scientific problems because they can share the calculation load across all computers in the cluster. One example of the technology used to share the calculation load to all computers in the cluster is MPI or Message Passing Interface. There are many implementations of MPI, for example OpenMPI, MPICH, and Intel MPI.
By Prasetiyo Hadi Purwoko
read more