> What does LVSM offer?
>
> - Level 4 switching with LVS
> - High Availabity with heartbeat
> - Service Level monitoring with mon
> - Web based gui
> - On the fly configuration
> - Cluster Statistics reporting
>
> The LVSM homepage is at http://lvsm.theory.org
Cool, yet another cluster manager software :)
> Please send any questions / feedback / complaints to the
> lvsm mailing list at lvsm@xxxxxxxxxxx
Ok, I just downloaded the code, extracted it and had a 15 minute look
at it (random stuff I would complain about):
o It's very difficult to understand the code:
- indentation is only 2 chars
- c++ , just kidding :) [very advanced c++ for me!]
- some prototype definitions are missing or should go into *.h files
e.g, Select.cc is ugly as it gets :))
o Why do you use the ``ipchains -L -vnx --line-numbers'' approach to get the
statistics? [ipchains_stats.cc]:
if(use_chains)
ipch = popen("/sbin/ipchains -L -vnx --line-numbers", "r");
else
ipch = popen("/sbin/iptables -L -vnx --line-numbers", "r");
fgets(buf, 4096, ipch);
keep_going = true;
char * ptr = NULL;
int c = 0;
while(keep_going) {
if(strstr(buf, "Chain ")==buf && strstr(buf, chain) - buf == 6) {
fgets(buf, 4096, ipch);
fgets(buf, 4096, ipch);
while(strstr(buf, "Chain")!=buf) {
if(num_rules == c) {
if(use_chains) {
ptr = strchr(buf, '-');
if(!ptr) {
l->log(LL_WARN, "couldn't find str '-' in buf '%s'\n", buf);
}
} else {
ptr = buf; // aye aye aye.. /\d+[^\d+]\d+[^\d+]\d+\s+/
while(isdigit(*ptr)) ptr++;
while(!isdigit(*ptr)) ptr++;
while(isdigit(*ptr)) ptr++;
while(!isdigit(*ptr)) ptr++;
while(isdigit(*ptr)) ptr++;
while(isspace(*ptr)) ptr++;
}
break;
}
c++;
o very interesting code, but very CPU intensive! I have 15000 iptables rules,
and all together 5000 concurrent connections -> iptables -L -vnx is a pain
in the ass, that's why we have /proc/net/ip_masq/vs_stats.
o you plvsd daemon is not really portable to other architectures or at least
it takes quite some time: You seem to use the pthreads in a way Plan9 or
HP/UX would not support them. You assume, everybody is running Linux as
real servers.
o not everybody has the pidof(8) installed on the system, but everybody for
sure has ps. Generally, make sure you use basic Unix tools and not for
example distro-specific tools.
just my 2 dimes,
Roberto Nibali, ratz
--
mailto: `echo NrOatSz@xxxxxxxxx | sed 's/[NOSPAM]//g'`
|