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!
|