All,
you may have seen (part of) the discussion concerning IPv6 addresses and
kstats. This lead to a more fundamental question, and this is an effort to
recap various elements of this discussion: (we also solve the kstats
question btw)
What is the "unit of currency" as far as individual servers are concerned?
(ie, how do admins of ILB talk about back-end servers, and how does the
system display information about them?)
Using IP addresses may be feasible for IPv4, but with IPv6 this gets
unwieldy; therefore an abstraction is desired by which a (set of) server(s)
can be identified and manipulated. Postulating the use of regular hostnames
turns out not to be a valid option, as it requires name services to be
maintained in the data center, something we're told cannot be relied on.
Consensus was reached that we want to provide the capability of assigning
names to servers; to avoid confusion with traditional hostnames, we call
this a "server ID".
This can be done in several ways; we selected to extend the "ilbadm
create-servergroup" subcommand thus:
ilbadm create-servergroup ... [-n serverID=foo ] ..
if the servernID option is not used, the ID defaults to the servergroup
name. this name is then applied to every server specified, thus: In
addition to the id specified, an index is appended to the name of every
individual server. eg:
ilbadm create-servergroup -s server=192.168.1.1,192.168.1.2 group1
will cause the servers to be named "group1.1" and "group1.2". (this is also
done if only one server is used)
In order to be able to associate different names with indivdual servers,
"ilbadm add-server" will be extended to also a '-n serverID=' option.
In all cases where a single server is specified, it will still be able to
use a "traditional" hostname instead of the IP address; an option will be
provided to use this hostname as the server ID (this name will remain, even
if the naming DB changes after this server ID is created)
"ilbadm remove-server", "enable-server" and "disable-server" will be
modified to accept names instead of IP addresses; an option will be
provided to indicate that either hostnames or IP addresses are used as
arguments.
this id will also be used as the name in per-server kstats (this is the
"solving the IPv6 issue" part), both kstat(1M) and "ilbadm
show-statistics", once implemented, will display this id for servers.
Michael
--
Michael Schuster http://blogs.sun.com/recursion
Recursion, n.: see 'Recursion'