LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Virtualization and Cloud
User Name
Password
Linux - Virtualization and Cloud This forum is for the discussion of all topics relating to Linux Virtualization and Linux Cloud platforms. Xen, KVM, OpenVZ, VirtualBox, VMware, Linux-VServer and all other Linux Virtualization platforms are welcome. OpenStack, CloudStack, ownCloud, Cloud Foundry, Eucalyptus, Nimbus, OpenNebula and all other Linux Cloud platforms are welcome. Note that questions relating solely to non-Linux OS's should be asked in the General forum.

Notices


Reply
  Search this Thread
Old 03-07-2017, 08:39 PM   #1
tshikose
Member
 
Registered: Apr 2010
Location: Kinshasa, Democratic Republic of Congo
Distribution: RHEL, Fedora, CentOS
Posts: 525

Rep: Reputation: 95
Question Does it make sense to have a load balancer with two nodes in virtual environment


Hi,

While discussing an architecture for a network service that should have high availability, I have been proposed to build a redundant system with two nodes and a load balancer in front (all three machines being run from the virtualization environment).
The purpose here is to ensure that the end users are almost always able to get served.

My feeling is that in an virtual environment that is useless. I mean, normally the redundancy and the high availability are provided by the hosts sustaining the virtual environment.
For the network service, one virtual machine allowed to run is enough to ensure the end users the same availability.

I am curious to hear from other users and LQ how they are handling similar cases.
 
Old 03-08-2017, 11:44 AM   #2
Ginola
Member
 
Registered: Sep 2012
Location: London
Distribution: CentOS, RHEL, Ubuntu
Posts: 73

Rep: Reputation: Disabled
Quote:
While discussing an architecture for a network service that should have high availability, I have been proposed to build a redundant system with two nodes and a load balancer in front (all three machines being run from the virtualization environment).
Assuming you are talking about vmware/hyperv/xen... with a single machine acting as a load balancer, you still have a single point of failure.

Quote:
My feeling is that in an virtual environment that is useless. I mean, normally the redundancy and the high availability are provided by the hosts sustaining the virtual environment.
For the network service, one virtual machine allowed to run is enough to ensure the end users the same availability.
Not necessarily. Hardware still fails, and software still has bugs... I run several websphere portal servers as two node clusters. Each node is front ended with IHS (think Apache with the IBM brush). We used keepalived, with amazing results.

Provided the servers are on different host blades, we are pretty well protected. Also, during certain circumstances, we can to live patching, but failing over to each node.

footnote:
We actually use keepalived for loads of different apps, I just chose the first that sprang to mind.

HTH.
 
Old 03-09-2017, 12:56 PM   #3
lazydog
Senior Member
 
Registered: Dec 2003
Location: The Key Stone State
Distribution: CentOS Sabayon and now Gentoo
Posts: 1,249
Blog Entries: 3

Rep: Reputation: 194Reputation: 194
Quote:
Originally Posted by Ginola View Post
Provided the servers are on different host blades, we are pretty well protected.
If those blade are in the same chassis then you still have a single point of failure. It really comes down to how comfortable you are with your configuration.
 
Old 03-09-2017, 02:49 PM   #4
tshikose
Member
 
Registered: Apr 2010
Location: Kinshasa, Democratic Republic of Congo
Distribution: RHEL, Fedora, CentOS
Posts: 525

Original Poster
Rep: Reputation: 95
Hi,

I thank you for your replies.

Let's break it in software and hardware. For software the two nodes will have similar if not identical sotfware and configuration. If there is bug or a misconfiguration it will be replicated on both nodes. So if one fails, chances are high that the other will fail on the same conditions. I am not really concerned about this. Also patching should not be a big concern justifying two nodes.

It is for hardware failure that are more concerned. But then I will prefer to totally rely on multiples hosts to minimise hardware failure of any of them.

So at this stage, I still think it will be a waste of resource to have load balancer and two nodes, for just one very important and high available network service.
 
Old 03-10-2017, 06:19 AM   #5
Ginola
Member
 
Registered: Sep 2012
Location: London
Distribution: CentOS, RHEL, Ubuntu
Posts: 73

Rep: Reputation: Disabled
Quote:
Originally Posted by lazydog View Post
If those blade are in the same chassis then you still have a single point of failure. It really comes down to how comfortable you are with your configuration.
Agreed, but the chance of total chassis failure are _very_ small. Here, we run each datacenters off two HP C7000s, so don't have to worry too much on that front. You could get the same redundancy from to separate rack mounted servers.
 
Old 03-10-2017, 06:49 AM   #6
TenTenths
Senior Member
 
Registered: Aug 2011
Location: Dublin
Distribution: Centos 5 / 6 / 7
Posts: 3,475

Rep: Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553
In the past I've used multiple 2U servers (HP DL360's) each with Citrix XenServer with (usually) 4 guest VMs

The N "app" servers were front-ended by two (light) VMs running keepalived and haproxy with these two instances lb001 and lb002 running on different physical boxes.

Web servers were handled similarly in terms of VMs for the actual servers but had Citrix Netscaler virtual appliances in front doing the balancing.

So to answer the question "Does it make sense to have a load balancer with two nodes in virtual environment?" then yes, it does, assuming you've mitigated other single points of failure.

However, from what you've described it seems you're looking for HA rather than LB, so you could just use keepalived to use a single IP that'll automatically fail-over between the two nodes.
 
1 members found this post helpful.
Old 03-10-2017, 06:59 AM   #7
tshikose
Member
 
Registered: Apr 2010
Location: Kinshasa, Democratic Republic of Congo
Distribution: RHEL, Fedora, CentOS
Posts: 525

Original Poster
Rep: Reputation: 95
Quote:
The N "app" servers were front-ended by two (light) VMs running keepalived and haproxy with these two instances lb001 and lb002 running on different physical boxes.
Let's say you are load balancing a load among 2 VM nodes with 4 GB of RAM each.
Why not just use one VM with 8 GB of RAM?
 
Old 03-10-2017, 07:07 AM   #8
TenTenths
Senior Member
 
Registered: Aug 2011
Location: Dublin
Distribution: Centos 5 / 6 / 7
Posts: 3,475

Rep: Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553Reputation: 1553
Quote:
Originally Posted by tshikose View Post
Let's say you are load balancing a load among 2 VM nodes with 4 GB of RAM each.
Why not just use one VM with 8 GB of RAM?
Because it's seldom about just resources such as RAM and threads.

Go read up on the advantages/disadvantages of vertical and horizontal scaling.
 
Old 03-10-2017, 03:05 PM   #9
lazydog
Senior Member
 
Registered: Dec 2003
Location: The Key Stone State
Distribution: CentOS Sabayon and now Gentoo
Posts: 1,249
Blog Entries: 3

Rep: Reputation: 194Reputation: 194
Quote:
Originally Posted by tshikose View Post
So at this stage, I still think it will be a waste of resource to have load balancer and two nodes, for just one very important and high available network service.
Am I reading this correctly? You think it is a waste for something that is very important and high available network service? This is exactly what this is meant for.

Anything that is of importance should be load balanced or at the least fail-over ready.
 
Old 03-10-2017, 11:49 PM   #10
tshikose
Member
 
Registered: Apr 2010
Location: Kinshasa, Democratic Republic of Congo
Distribution: RHEL, Fedora, CentOS
Posts: 525

Original Poster
Rep: Reputation: 95
Quote:
Originally Posted by lazydog View Post
Am I reading this correctly? You think it is a waste for something that is very important and high available network service? This is exactly what this is meant for.

Anything that is of importance should be load balanced or at the least fail-over ready.
Yes, you did.
The high availability will be provided by the virtualization hosts.
Their intention is to give me a load balancer and two nodes, all hosted on the same virtualized environment.
 
Old 03-15-2017, 07:54 AM   #11
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
I suggest that you forget about the word, "virtualized," and consider this to be a simple question of horizontal vs. vertical vs. combined scaling.

Consider the real hardware: virtualization is just an illusion. If the box breaks, it will take down every VM that's on it. (Usually, of course, it's a disk drive that actually breaks, so solid-state drives are probably a good idea, etc.) The presence or absence of virtualization has no impact on the physical devices that might break down, but it does give flexibility at an acceptable performance cost.

Some devices, like the load balancer itself, are unlikely to break.

Last edited by sundialsvcs; 03-15-2017 at 07:56 AM.
 
  


Reply

Tags
availability, load balancer, redundancy, virtualization



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] C++: Does it make sense to *define* the pure virtual functions in the *abstract base* class itself? Aquarius_Girl Programming 14 11-21-2011 06:51 PM
pb setting up load balancer with Linux Virtual Server poiuytrez Linux - Networking 3 05-25-2009 11:01 PM
Virtual IP in Load Balancer is not accessible dhanju Linux - Networking 1 06-12-2008 08:23 AM
Load Balancer shane200_ Linux - Networking 1 09-16-2005 02:17 PM
Would load balancing make sense for this? kleptophobiac Linux - Networking 13 05-07-2004 04:38 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Virtualization and Cloud

All times are GMT -5. The time now is 05:48 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration