Thursday, October 10, 2013

DRBD with heartbeat

Sad to say we were not able to finish setting up and configuring DRBD with heartbeat to work due to heartbeat acting up. However if it did work the steps we would have likely done and followed would be based from our previous exercises

The same prerequisites should be done here like the previous exercise in setting up DRBD and heartbeat
check

http://zeroliken.blogspot.com/2013/09/drbd.html
http://zeroliken.blogspot.com/2013/08/server-backup-using-heartbeat-and-apache.html

Next step would be to setup the two computer that will act as a database for access then configure MySQL

If we were to be able to do this exercise then we can only have one computer to act as a database while the others can try to access it



DRBD Investigation

Today we learn about DRBD and how to use them (to start with)

The best resource to learn about it is from their main website http://www.drbd.org/

DRBD (Distributed Replicated Block Device) is a scheme for distributed replicated storage for the GNU/Linux platform. It is implemented as several userspace management applications and some shell scripts and is normally used on high availability (HA) clusters.

DRBD® refers to block devices designed as a building block to form high availability (HA) clusters. This is done by mirroring a whole block device via an assigned network. DRBD can be understood as network based raid-1.

A DRBD is essentially workload agnostic. A DRBD can be used as the basis of:
  • A conventional file system,
  • a shared disk file system such as GFS2 or OCFS2,
  • another logical block device (as used in LVM, for example),
  • any application requiring direct access to a block device
in our exercise we setup and install the following:
  •  apache2
  •  php5
  •  mysql
  •  php5-mysql

We open a terminal and type in the following commands toinstall them
apt-get install apache2
apt-get install php5
apt-get install mysql-server mysql-client mysql-common
apt-get install php5-mysql


To install DRBD we open a terminal and type the command:

sudo apt-get install drbd8-utils 

Then we configured DRBD by editing drbd.conf in the etc folder. This file should be the same on the servers.

In order to setup the DRBD then you must have installed Gparted to create a new partition. Usually Gparted is already installed on most linux based distros, if not then we open a terminal and use the command 
sudo apt-get install gparted



References:
http://www.drbd.org/
http://www.drbd.org/users-guide/ch-ocfs2.html

Wednesday, October 9, 2013

Investigation on Webserver (Apache) and High Availability

Research on the following topics:

1. Apache
A web server application that is developed and maintained by an open community of developers under the supervision of the Apache Software Foundation. Apache became became the dominant web Server by 2009

In order to install Apache on Ubuntu open a terminal then use the following command
sudo apt-get install apache2

Some notable Apache files used for configuration are:
  • apache2.conf: the main Apache2 configuration file. Contains settings that are global to Apache2.
  • conf.d: contains configuration files which apply globally to Apache2. Other packages that use Apache2 to serve content may add files, or symlinks, to this directory.
  • httpd.conf: historically the main Apache2 configuration file, named after the httpd daemon. The file can be used for user specific configuration options that globally effect Apache2.
To test if Apache is installed and running correctly, open a browser and enter the URL http://localhost
which should show the following


2. High availability
high availability refers to a system that is continuously operational for a desirably long length of time or a system that can be continuously be used over a long period of time.

One example is the service provided by websites needs to have high availability for clients to continuously use the services offered from the website they are currently using. This can be achieved by multiple servers where a working server will take on the role of a failed server.



Heartbeat is a daemon that provides cluster infrastructure services to its clients. This allows clients to know whether the peer processes on other machines are working or not and easily exchange messages with them.      

Installing and Configuring Heartbeat
To install Heartbeat in Ubuntu open a terminal and type
sudo apt-get install heartbeat-2

Heartbeat config files are stored in /etc/heartbeat/

Configuration Files
  • ha.cf - tells Heartbeat what types of media paths to use and how to configure them
  • haresources - list of resources that moves to machine to machine as nodes and come up in the cluster. This file must be the same on both nodes.
  • authkeys - contains an auth directive with an associated method ID number, and there is a line that has the authentication method and the key that go with the ID number of the auth directive. Must be owned by root and be chmod 600.
Explaining Heartbeat to a 3 year old Child:
Imagine having a set of different beverages (e.g. milk, chocolate, orange): if one drink is unavailable to use you can use the other beverages to satisfy your thirst in place of the unavailable one

References:
http://www.apache.org/
http://searchdatacenter.techtarget.com/definition/high-availability
http://i.technet.microsoft.com/dynimg/IC166357.gif
https://help.ubuntu.com/10.04/serverguide/httpd.html
http://linux-ha.org/wiki/Heartbeat