Tuesday, February 16, 2016

HP ProLiant MicroServer Gen8 with Debian Jessie (Setup, Installation and Configuration)

So... I've got a HP ProLiant MicroServer Gen8 and I wanted to share with you the setup and my experience with it.


Server Hardware and Characteristics:


Product Name: ProLiant MicroServer Gen8
Product ID: 819185-421
iLO 4: Firmware Version 2.30

CPU: Intel(R) Celeron(R) CPU G1610T @ 2.30GHz

RAM: 6 GB (Thanks to one of my colleagues, who gave me extra 2GB RAM. @Rainer!)



Smart Array Controller:

The Server comes with a HP Dynamic Smart Array b120i RAID Controller which doesn't have support for Linux Distros, so I've bought a: HP Smart Array P410 Controller which is working really nice and smoothly.
I bought an Array Controller because I didn't want to deal with Software RAID and because on my experience, the HP Smart Array Controller does a really sweet job and the Arrays are easy to expand, manage, etc.



Hard Drives:
  • For the OS: SSD 128 GB (Here again, thanks to @Rainer! :))
  • For Data RAID: 2x4TB Western Digital as RAID 1



Software and Configurations:


OS

Debian Jessie 8.3 (Basic Installation + SSH Server)

Partitions


SSD Drive:


Device        Start       End   Sectors  Size Type
/dev/sdb1      2048      4095      2048    1M BIOS boot
/dev/sdb2      4096  29300735  29296640   14G Linux filesystem
/dev/sdb3  29300736  60551167  31250432 14.9G Linux swap
/dev/sdb4  60551168 250068991 189517824 90.4G Linux LVM

Where the Linux LVM Partition was configured as follow:

  VG     #PV #LV #SN Attr   VSize  VFree
  vgsys    1   6   4 wz--n- 90.37g 30.37g

  LV              VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvhome          vgsys  owi-aos--- 20.00g
  lvvar           vgsys  owi-aos--- 20.00g

Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/vgsys-lvhome   20G   45M   19G   1% /home
/dev/mapper/vgsys-lvvar    20G  469M   19G   3% /var 

Data Array:


Device     Start        End    Sectors  Size Type
/dev/sda1   2048 7813971598 7813969551  3.7T Linux filesystem

For now, I didn't use the entire partition for the LV, but as it'S an LVM partition, I can extend it at anytime when needed.

  VG     #PV #LV #SN Attr   VSize  VFree
  vgdata   1   3   2 wz--n-  3.64t  1.59t

  LV              VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvdata          vgdata owi-aos---  2.00t

Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vgdata-lvdata  2.0T  296G  1.6T  16% /data

Both drives have also configured LVM Snapshots Backups (more on that later on)

Extra Software:


HP Tools


For now, I just installed the following HP Software:
ii  hp-health                        10.0.0.1.3-4.               amd64        hp System Health Application and Command line Utility Package
ii  hponcfg                          4.4.0.8-2.                  amd64        RILOE II/iLo online configuration utility
ii  hpssacli                         2.10-14.0                   amd64        HP Command Line Smart Storage Administration Utility

More Info on how to Configure the Oficial HP Repositories and installed the HP Tools can be found here: HOWTO HP Tools


solaar


I'm the owner of a Logitech Illuminated Living-Room Keyboard k830, so I installed solaar to make it work. It's easy as a pie and it work wonders.

Just install solaar, connect your keyboard and magic happens :P

apt-get install solaar

To check if your keyboard was paired, just type the following:

root@ragnar:~# solaar-cli show
Unifying Receiver [/dev/hidraw0:003B91DE] with 1 devices
1: Illuminated Living-Room Keyboard K830 [K830:94EEE1AD]

Cool, innit'? ;)

Desktop Environment


At the beginning I was thinking to don't install any Desktop Environment, but for the other person living on the same roof, it was easier as the command line, so here it's:

LXDE + lightDM

apt-get install lxde-core
apt-get install lightdm


Networking


  • iLO Port: 
iLO Homepage -> Network -> iLO Dedicated Network Port -> IPv4 Tab ->
Disable DHCP and add the respective values on the following fields:
    • IPv4 Address
    • Subnet Mask
    • Gateway IPv4 Address

Save and then Reset iLO


  • 1 Port for OS with bonding:

This is how my /etc/network/interfaces looks like:

# The primary network interface
auto bond0
iface bond0 inet static
    address 192.168.2.xxx
    netmask 255.255.255.0
    network 192.168.2.0
    gateway 192.168.2.1
    broadcast 192.168.2.255
    slaves eth0 eth1
    bond_mode active-backup
    bond_miimon 100
    bond_downdelay 200
    bond_updelay 200

For now the Second Port does not have a link, but even though, the bond is configured.

To know what I'm talking about, here is an overview of the ip a l command output:

2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether b0:5a:da:87:ee:d0 brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc mq master bond0 state DOWN group default qlen 1000
    link/ether b0:5a:da:87:ee:d0 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether b0:5a:da:87:ee:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.xxx/24 brd 192.168.2.255 scope global bond0
       valid_lft forever preferred_lft forever

Backups


LVM-Snapshots


So, LVM Snapshots where configured with a Script to run every day and have 2 Snapshots (1 per day)

As I don't have time to explain in detail how this works (and I'm sorry about it), here is some useful HOWTO from the people of "HowtoForge": Back Up (And Restore) LVM Partitions With LVM Snapshots

Rsnapshot


Useful and nice Backup choice. As I said before, no time to explain in detail, but here is the official site on github: Rsnapshot

For my Server, I configured to backup the following Directories:

###############################
### BACKUP POINTS / SCRIPTS ###
###############################

# LOCALHOST
backup /home/ ragnar/
backup /etc/ ragnar/
backup /opt/ ragnar/

with the following retention:

# BACKUP INTERVALS #
retain hourly 6
retain daily 7
retain weekly 4
retain monthly 12


Kernel Tunning


swappiness


I've set the vm.swappiness to 10. Here you can find more info about how swappiness does work and why I choosed 10 as a value for my Server: vm.swappiness




So this is all for now, if you have any questions, please post them on the Comments sections and I'll be happy to answer as soon as I get the time :)


Notes: IPTables, Dynamic DNS and more coming soon...