In the begining there was nothing but few baremetal. After a while someone delivers a whole bunch of baremetal on your doorstep and say : “I need them installed by tomorrow”. Same configuration … With the harddisks in raid and ubuntu on all of them . What do you do ?
It’s a big problem. Like most big problems you split it in lots of little problems that can be managed easier.
What you need to do for one baremetal:
- Update the ILO firmware and Bios (if necessary) . This will come handy: https://play.google.com/store/apps/details?id=com.hp.essn.iss.ilo.iec.spa&feature=search_result . I’m not going into details about it in this post
- Create the disk arrays
- Install the operating system on it
- Configure it and deploy it.
For one server let’s say you can do it in few hours , few beers and some pizza’s. But … wait a minute .. There are a LOT of baremetals to be installed. One option is to call some friends and do that while you watch a movie.
OR you can be smart and automate the tasks. How ? What i need ?
You need a baremetal installer server or a laptop or a virtual something (virtual box / vmware / you choose ) image that will do the job for you while you sit back and relax.
The ideea is simple:
- Baremetal will boot from network
- tftp server will deliver the boot image, boot it , get an ip addres from the dhcp server and register the new server into the baremetal installer and will fill the hardware configuration there.
- Then you can ( using ansible ) to actually do the raid configuration , bios updates , firmware updates, and operating system install.
- Add the necessary configurations.
- Once complete the system will boot from raid and you have a system up and and running ready to be deployed.
Now … Back to the post subject .
How you can configure HP raid from inside ubuntu ? In order to have in the network bootable image the proper tools to do actually do the configurations…
First we install hpacucli :
sudo echo "deb http://downloads.linux.hp.com/SDR/downloads/MCP/ubuntu precise/current non-free" >>/etc/apt/sources.list
wget http://downloads.linux.hp.com/SDR/downloads/MCP/GPG-KEY-mcp
sudo apt-key add GPG-KEY-mcp
sudo apt-get update
apt-get install cpqacuxe hp-ams hp-health hpacucli hponcfg
service hpsmhd stop
update-rc.d hpsmhd disable
hpasmcli -s "show server"
Then when we boot the new baremetal to be installed we can gather the informations about the raids:
hpacucli ctrl all show config
That will produce an output like ( in this case i already configured the raid:
Smart Array E200i in Slot 0 (Embedded) (sn: VX9AMP1927 )
array A (SAS, Unused Space: 0 MB)
logicaldrive 1 (136.7 GB, RAID 1, OK)
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 146 GB, OK)
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 146 GB, OK)
At this point you can create some scripts that will create the partitions in the way that the shareholder wants them.
for example:
hpacucli ctrl slot=9 create type=logicaldrive drives=1I:1:3,1I:1:4 raid=1