Friday, 28 February 2014

PowerPath vs Multipath - which one to use

Hm....
It all depend. They are doing the same thing but why use powerpath and not multipath or why use multipath and not powerpath?

In case that you don't know what they are, they are managing redundant paths from Linux OS to storage. It means that you have multiple paths to same LUN on storage and these software are responsible for that.

From functionality point I personally think that PowerPath has more options to manipulate with paths and LUN's. Of course this is my opinion and it's not objective one. From my working experience, I had much less trouble using PowerPath than multipath. By using I think of scanning paths, adding new LUNs, removing LUNs, displaying options, etc.
Probably someone will disagree with me.

From vendor point of view PowerPath is EMC property and if you want support for it you have to licence it. You can downloaded it, installed it, use it, but if something happens and you need support, you will have to pay licence for it.
On other hand multipath is part of Linux and support for it comes with support for your distro. So from financial point of view, if you are already paying for support for your Linux distro (RH, SLES) there is no need to buy PowerPath when you already have all functionality in multipath.

So if budget is not issue, then I would buy PowerPath but... that licence money could be redirected is some other licence for some product that is not already implemented in Linux OS or some new project.







Wednesday, 26 February 2014

Number of cores on HP DL 560 g8 on Linux explained!

Recently we both new HP servers! HP DL 560p gen8! Brilliant machine! Lots of RAM, lots of CPU power!

We installed SLES 11.3 x64 to give it a try!

I knew how many CPU sockets are they but I didn't know how many cores are there per socket so I run following command

 # cat /proc/cpuinfo

and saw that number of last cpu have number

processor       : 63

My thinking was this: Ok, so we have 64 cores, that is 64/4=16 cores per sockets!!!
Pretty impressive, don't you think?!?

I wanted to read more about CPU on Internet.

CPU is

model name      : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz

http://ark.intel.com/products/64603/Intel-Xeon-Processor-E5-4640-20M-Cache-2_40-GHz-8_00-GTs-Intel-QPI

But there was that this is 8 core CPU.

# of Cores 8

Hm..... something is not right here.

Think that maybe, just maybe Intel make mistake and that in fact this is 16 core CPU is highly unlikely so this must be Linux issue.

After some reading I realise this. In processor info there was this parameter

# of Threads 16

And 16*4=64.


Little explanation first:
 core vs thread

A thread is a single line of commands that are getting processed. A core is the physical hardware that works on the thread. In general a processor can only work on one thread per core, CPUs with hyper threading can work on up to two threads per core.
 
So this CPU has 16 treads for 8 cores and Linux kernel see this as number of cores, that is he see 16 cores instead of 8 cores. So Linux is reading number of threads!!!

How to get actual number of cores from CLI?

Number of sockets:
#cat /proc/cpuinfo |grep "physical id"|sort|uniq
physical id     : 0
physical id     : 1
physical id     : 2
physical id     : 3



Number of cores per socket
#cat /proc/cpuinfo |grep "cpu cores"|uniq
cpu cores       : 8

So 4 sockets with 8 cores per sockets equals 32 cores.