Zhenghui.Xie at Sun.COM ??: > Hi, All > > Several days ago, I sent out an email > (http://mail.opensolaris.org/pipermail/ilb-dev/2009-February/000116.html) > to resolve the remaining open issues in health check design. After > reading the feedback from Peter and discussing with iteam people, here > is a writeup that proposes some solution. > > 1. health check probes: > ilb will provide three build-in health check probes, ping, tcp and udp. > 1a) For ping, use /usr/sbin/ping (ping(1M)) to send ICMP request to > host(s). > 1b) For tcp, ilb delivers /usr/lib/ilb/tcp_query_probe, check whether > open socket on the destination/port will success. > 1c) For udp, ilb defaultly just ping the destination (unless somebody > can suggest good approach to send udp probe). If user wants more > specific tests, user needs to provide their own test script. > > 2. show health check results: > ilbadm list-servergroup will show the health of each server. a sample > output of "ilbadm list-servergroup" will look like: > ------------------- sample -------------------------------------- > #ilbadm list-servergroup > SG-NAME RULE-NAME SERVER-IP PORT SERVER-STATE FLAGS > sg-123 rule-abc 1.1.1.1 80 alive xxxx > sg-123 rule-abc 1.1.1.2 80 dead xxxx > sg-123 rule-abc 1.1.1.3 80 disabled xxxx > sg-456 rule-def 2.1.1.1 21 alive xxxx > sg-456 rule-def 2.1.1.2 21 alive xxxx > ---------------- end of sample --------------------------------- > > list-servergroup provides "-v" to output more detailed server health > information, sample output: > -----------------sample------------------------------------------ > SG-NAME: sg-123 > RULE-NAME: rule-abc > SERVER-IP PORT STATE METHOD LAST-RESULT LAST-TEST-TIME NEXT-TEST-TIME > 1.1.1.1 80 alive TCP 3/5* 11:34:30 11:39:30 > 1.1.1.2 80 dead TCP 0/5 11:34:31 11:39:31 > 1.1.1.3 80 disabled TCP 0/0** 0:0:0 0:0:0 > ----------------- end of sample > * this means 3 out of 5 probes succeeded. The server will only be > declared as dead when all probes fail. > ** no hc on disabled server. > > 3. does one rule need more than one health check? > For phase 1, we just deliver one health check per rule. It will work > like the following: What will the output of 'list-servergroup'|'list-servergroup -v' be when there is no health check?
Thanks, - Grace > if user didn't specify any hc when create the rule, no health check > will be performed. > if user specify "ping" as the hc method, ping will be performed. > Server will be declared dead if ping failed. > if user specify "tcp" "udp" or provide their own test script, first > perform a default ping. If ping failed, no further try, server will be > declared as dead. If ping succeed, next try tcp probe or user test > script, server will be declared dead if test failed. > > "create-healthcheck" provides a '-n' option to turn off the default > ping probe, allow user to specify "thank you but don't perform the > default ping for me" > > Any suggestions, objections, rotten tomatoes/fresh eggs? Please send > your comments, if any, by end of this week. > > -Jan > _______________________________________________ > ilb-dev mailing list > ilb-dev at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/ilb-dev
