LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] LVS nomenclature [was: LVS and OpenVZ]

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: [lvs-users] LVS nomenclature [was: LVS and OpenVZ]
Cc: Horms <horms@xxxxxxxxxxxx>, Graeme Fowler <graeme@xxxxxxxxxxx>
From: Joseph Mack NA3T <jmack@xxxxxxxx>
Date: Wed, 4 Jul 2007 13:17:14 -0700 (PDT)
On Wed, 4 Jul 2007, marc@xxxxxxxxx wrote:

> How about ... 'server' ? :)

Wensong started the project and he got to define the terms. 
Considering he wasn't a native speaker of English, I thought 
he did pretty well. When I talked to him about his 
nomenclature, he had sound technical reasons for his choice. 
I found the terms not helpful, but being unable to think of 
anything better, I just kept quiet.

The term persistence as used in LVS is really affinity. We 
should never have had "persistence".

I don't particularly like "virtual" either. Looking up a few 
web dictionaries eg

http://www.thefreedictionary.com/virtual

"Computer Science Created, simulated, or carried on by means 
of a computer or computer network: virtual conversations in 
a chatroom."

Since a Turing complete machine can do anything (eg make a 
virtual computer out of a real computer) then everything a 
computer does can be thought of as virtual, making "virtual" 
a NOP.

I'm happy to call a virtual image "virtual", but I don't 
think calling an LVS machine a virtual server is helpful to 
understanding what it does. Neither do I think any of the 
virtualisations attained through Xen, VMWare, OpenVZ etc 
have any more claim to being "virtual" than does LVS, but as 
Gerry points out, by sheer mass, these guys will wind up 
owning the term.

In the meantime we can now have an virtual server (LVS) of 
virtual realservers. How are you going to talk about that in 
a seminar and have anyone think you've got your head screwed 
on?

"realservers" wasn't the original term (which I forget). A 
while back a few of us (of who only Horms and I are on the 
mailing list now) agreed on "real servers". I unilaterally 
chose "realservers" for the HOWTO, since you aren't going to 
be able to search google for "real servers" without getting 
millions of false positives. "servers" isn't going to be 
useful to search google either. For editing the HOWTO I 
wasn't going to be able to search for "real servers" if it 
split across two lines. So the HOWTO is "realservers" while 
most posters (including Horms) use "real servers". The same 
string search problem occurs for any two word phrase for the 
realserver. If you use "backend server" for realservers what 
are you going to call the 3rd-tier database machines that 
the realservers talk to?

Volker's idea about just thinking just of the service 
running on the realserver has the problem that there is more 
than the service involved on the realserver. Your realserver 
needs an IP (LVS-NAT) or MAC address (LVS-DR). You need to 
configure the network (ARP problem for LVS-DR, default gw, 
and for security all packets must circulate in one direction 
for LVS-DR). So the realserver is pretty much a node, not 
just the service.

Another problem with the term "servers" is that the LVS 
appears to the outside world to be a server (we have to do 
some work to make sure that the client cannot tell that it's 
multiple machines). So the term "server" applies to both the 
realservers and the LVS.

The term "linux virtual server" takes up a lot of name 
space. Maddog Hall (the head of Linux International, a 
person who is good at publicising Linux) was not happy with 
the name when I talked to him at LVS quite a few years back. 
He said it should have been "Fred's Virtual Server" or 
"Wensong's Virtual Server", but not the "Linux Virtual 
Server". Any of Xen, QEMU... could also claim title to 
"Linux Virtual Server" if LVS didn't already have it. It 
would be better if no-one used the term "linux virtual 
server".

A complicating issue is that an LVS isn't just the director; 
the realservers have to be configured appropriately: it's a 
bunch of nodes. In the commercial world there is no 
equivalent of an LVS - all realservers have the requirement 
that nothing can be changed on them and the loadbalancer box 
which is put in front of the realservers must do the extra 
work at layer 4 to present the illusion of one machine. So 
the project couldn't be renamed "Fred's loadbalancer", since 
more than the director is involved.

A simple way of handling it would be to give LVS a straight 
out name with no implications of function, like "apache" or 
"squid".

I have no idea about a replacement for "realserver".

I'm happy to rename everything in LVS, as long as it's 
sensible. However you'll have to get it past Horms. As well 
there's a lot of name recognition in LVS (it's been going at 
least since 1999 and possibly 1998), and it's in the kernel 
- there'll be a lot of strings associated with the LVS 
project that would be left lying around forever, even if we 
changed all our terminology right now. You'd have people 
reading code for the foobar project, and see it talking to 
code from the LVS project.

Joe

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!


<Prev in Thread] Current Thread [Next in Thread>