Guide to setup cPanel + CentOS 6.7 with RAID on HP Proliant Server ML310e

HP Proliant ML310e server comes with Intelligent Provisioning built in as well as SMART array controller. A quick overview of what we’ll cover in this post:

  • Configuration of HP Proliant ML310e
  • Configuration of RAID-1
  • Installation of CentOS
  • Installation of HP Dynamic Smart Array Controller B320i
  • Setup of Networking
  • Installation of cPanel

Configuration of HP Proliant ML310e
The server I was working with was 16GB RAM with 2 hard drives, each of 1TB and HP Dynamic Smart Array Controller B320i. The boot up was pretty straight forward, connecting it to a monitor, keyboard and mouse.

Configuration of RAID-1
As the server I was working with had two hard drives, this can allow for RAID-1 configuration which means mirroring. All data is written to both drives at the same time, such that in the event of a hard drive failure, the machine can boot up using the second drive.

During the boot, press F5 when the system recognizes HP Dynamic Smart Array Controller to open up the configuration screen . Use this interface to create a virtual / logical volume such as RAID-1 and include both the hard drives to it. The logical volume would be 1TB of usable space.

Installation of CentOS 6.7
HP Proliant ML310e Server comes with a tool called Intelligent Provisioning. It’s a nifty tool which completes the installation of an operating system in a few easy steps. One caveat is that it does not support CentOS 6.7. The intelligent provisioning tool can be used to install Windows, Red Hat, and a couple of other operating systems.

In order to install CentOS 6.7, we’ll have to go the manual way. Insert Disk 1 into the drive and reboot the server. The server will boot from disk, and take you to the installation screen.

If you’ve done a CentOS installation before, you’d be happy to reach a familiar screen and everything from here should be straight forward, right? When you reach to the screen where you’ve to pick your boot drive, you’d be surprised to see two hard drives instead of the logical volume RAID 1 we created previously.

This means that the operating system is not able to read HP Dynamic Smart Array Controller B320i and a driver for CentOS will be required to proceed forward.

Installation of HP Dynamic Smart Array Controller B320i driver on CentOS 6.7
HP support & drivers website does not provide you with CentOS driver. Luckily, CentOS is built on Red Hat Linux and we can use that driver for our server.

  1. Go to HP Drivers & Software site and search for B320i.
  2. Choose the operating system, I picked Red Hat Enterprise Linux 6 Server (x86-64).
  3. Expand Software – Driver Update
  4. Look for the version 6u7 from the list: hpvsa-1.2.14-103.rhel6u7.x86_64.dd.gz
  5. Download it to your computer

Note: if you are using browser like Safari or Chrome, make sure it does not auto-extract the downloads.

Once you have your file, follow the instructions below to create a flash drive for the driver. The instructions below are for creating the drive in Mac OS X. Open up the terminal using ⌘ + Space, type Terminal, and hit enter and follow the commands below: (all the lines starting with # are comments)

# Assuming the file is in your Downloads folder
cd ~/Downloads

# Extract the file using gunzip command
gunzip hpvsa-1.2.14-103.rhel6u7.x86_64.dd.gz

# Plug in your empty FAT32 flash disk, make sure it is unmounted.
# Use the command below to create the drive
# Make sure your flash disk drive path is correct
# In my case, the disk was available in /dev/disk2
sudo dd if=hpvsa-1.2.14-103.rhel6u7.x86_64.dd of=/dev/disk2

Give it a couple of minutes at most, and your flash drive will be ready. Let’s get back to the CentOS installation, you’ll need to reboot the server.

centos_67_01After you reach the initialisation of CentOS installation screen (as seen on the right), follow these instructions:

  • Press ESC key to reach the boot prompt.
  • Plug in your USB flash drive which contains the driver
  • Type in “linux dd blacklist=ahci” and press ENTER
  • A few moments later, it will ask you if you have a driver disk. Choose yes.
  • Select your disk and browse the disk image: “dd.img” and choose OK
  • Once the driver is installed, it will prompt you whether or not you have more driver disks to install.
  • Choose No and continue with the installation and you’ll now be able to see HP’s Logical Disk you created earlier.

Setup of Networking
Once the operating system is setup, you’d think you’re all set right? Not quite. By default, networking is disabled on CentOS installations so you’ll need to enable it first before you can connect it to the internet.

There are two files responsible for network configuration.

# Amend the first file by opening it using vi editor
vi /etc/sysconfig/network
# Hit “a” key on your keyboard to make edits
# Go to the line NETWORKING and change the setting from no to yes
# Add a line for GATEWAY=
# Save your changes by pressing “CTRL + c”, typing “:wq” and pressing ENTER key

# Type in the following command to open the second file.
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# You’ll see the contents of this file on your screen. Press “a” key to amend the contents of this file
# Find the line ONBOOT and change it from no to yes
# At the bottom of the file, add the following lines
# To save the changes, press CTRL + c; type “:wq” and press ENTER key

# Setup DNS resolvers
vi /etc/resolv.conf
# This file should be empty
# Populate with the following two lines, press “a” key on your keyboard and type in the below two:
# Press CTRL+c; type “:wq” and press ENTER key

# Reboot the server using the command below
shutdown -r now

Your server will reboot with networking configured with the IP: on your network. You can try ping it from another machine on the network.

Installation of cPanel
cPanel requires that your server must be visible on the internet. You’ll need to make sure you’ve a public IP address from your ISP, and configure it accordingly on the server.

For the purpose of this post, I’ll assume you have a public IP address assigned by your ISP on your internet router/modem. You’ll setup a DMZ zone on your router to point to your internal IP address. Check your router manual for more information.

Once you’ve done this, the installation is pretty straight forward and the best guide for it is available in cPanel documentation.

Before you follow the installation, you’ll need to install wget and curl utility. You can quickly do so by typing in the below command:

yum install curl wget

Once installed, type in the command below to download & install cPanel. Depending on your internet connection, this can take anywhere between 30 minutes to a few hours.

cd /home && curl -o latest -L && sh latest

If all goes well, you should be able to access cPanel/WHM via browser and complete the cPanel setup.

All the best! If you get stuck, shout out at me on twitter @mohsinsumar and I’ll try help you out.