From bef1d2632f98ad4f0907bdd2aede1b377dd3915d Mon Sep 17 00:00:00 2001 From: Shinya TAKEBAYASHI Date: Mon, 25 May 2009 09:22:58 +0900 Subject: [PATCH] Fixed install progress --- man/Makefile.am | 9 +- man/Makefile.in | 93 +++++++--- man/l7directord.8 | 507 +++++++++++++++++++++++++++++++++++++++++++++++++++ man/l7directord.8.gz | Bin 7734 -> 0 bytes man/l7vsadm.8 | 326 +++++++++++++++++++++++++++++++++ man/l7vsadm.8.gz | Bin 2971 -> 0 bytes man/l7vsd.8 | 41 +++++ man/l7vsd.8.gz | Bin 731 -> 0 bytes 8 files changed, 947 insertions(+), 29 deletions(-) create mode 100644 man/l7directord.8 delete mode 100644 man/l7directord.8.gz create mode 100644 man/l7vsadm.8 delete mode 100644 man/l7vsadm.8.gz create mode 100644 man/l7vsd.8 delete mode 100644 man/l7vsd.8.gz diff --git a/man/Makefile.am b/man/Makefile.am index 8f3917c..6232295 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -1,8 +1 @@ -MANDIR = @mandir@/man8 - -install: - $(INSTALL) -m 644 -D \ - ./l7vsd.8.gz \ - ./l7vsadm.8.gz \ - ./l7directord.8.gz \ - $(MANDIR) +dist_man_MANS = l7vsd.8 l7vsadm.8 l7directord.8 diff --git a/man/Makefile.in b/man/Makefile.in index 618a7cb..2700cac 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -36,7 +36,8 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = man -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -46,6 +47,10 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = +man8dir = $(mandir)/man8 +am__installdirs = "$(DESTDIR)$(man8dir)" +NROFF = nroff +MANS = $(dist_man_MANS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ @@ -92,7 +97,7 @@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ -MANDIR = @mandir@/man8 +MANDIR = @MANDIR@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ @@ -155,6 +160,7 @@ sharedstatedir = @sharedstatedir@ snmpagent_libs = @snmpagent_libs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +dist_man_MANS = l7vsd.8 l7vsadm.8 l7directord.8 all: all-am .SUFFIXES: @@ -167,9 +173,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign man/Makefile + $(AUTOMAKE) --gnu man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -197,6 +203,51 @@ clean-libtool: distclean-libtool: -rm -f libtool uninstall-info-am: +install-man8: $(man8_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \ + done +uninstall-man8: + @$(NORMAL_UNINSTALL) + @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.8*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 8*) ;; \ + *) ext='8' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man8dir)/$$inst"; \ + done tags: TAGS TAGS: @@ -233,8 +284,12 @@ distdir: $(DISTFILES) done check-am: all-am check: check-am -all-am: Makefile +all-am: Makefile $(MANS) installdirs: + for dir in "$(DESTDIR)$(man8dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -276,13 +331,13 @@ info: info-am info-am: -install-data-am: +install-data-am: install-man install-exec-am: install-info: install-info-am -install-man: +install-man: install-man8 installcheck-am: @@ -302,25 +357,21 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man8 .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am - - -install: - $(INSTALL) -m 644 -D \ - ./l7vsd.8.gz \ - ./l7vsadm.8.gz \ - ./l7directord.8.gz \ - $(MANDIR) + install-info install-info-am install-man install-man8 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man8 + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/man/l7directord.8 b/man/l7directord.8 new file mode 100644 index 0000000..2a36fa1 --- /dev/null +++ b/man/l7directord.8 @@ -0,0 +1,507 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "L7DIRECTORD 1" +.TH L7DIRECTORD 1 "2009-02-15" "perl v5.8.8" "User Contributed Perl Documentation" +.SH "NAME" +l7directord \- UltraMonkey\-L7 Director Daemon +.PP +Daemon to monitor remote services and control UltraMonkey\-L7 +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBl7directord\fR [\fB\-d\fR] [\fIconfiguration\fR] {\fBstart\fR|\fBstop\fR|\fBrestart\fR|\fBtry-restart\fR|\fBreload\fR|\fBstatus\fR|\fBconfigtest\fR} +.PP +\&\fBl7directord\fR \fB\-t\fR [\fIconfiguration\fR] +.PP +\&\fBl7directord\fR \fB\-h|\-\-help\fR +.PP +\&\fBl7directord\fR \fB\-v|\-\-version\fR +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBl7directord\fR is a daemon to monitor and administer real servers in a +cluster of load balanced virtual servers. \fBl7directord\fR is similar to \fBldirectord\fR +in terms of functionality except that it triggers \fBl7vsadm\fR. +\&\fBl7directord\fR typically is started from command line but can be included +to start from heartbeat. On startup \fBl7directord\fR reads the file +\&\fB/etc/ha.d/conf/\fR\fIconfiguration\fR. +After parsing the file, entries for virtual servers are created on the UltraMonkey\-L7. +Now at regular intervals the specified real servers are monitored and if +they are considered alive, added to a list for each virtual server. If a +real server fails, it is removed from that list. Only one instance of +\&\fBl7directord\fR can be started for each configuration, but more instances of +\&\fBl7directord\fR may be started for different configurations. This helps to +group clusters of services. This can be done by putting an entry inside +\&\fB/etc/ha.d/haresources\fR +.PP +\&\fInodename virtual-ip-address l7directord::configuration\fR +.PP +to start l7directord from heartbeat. +.SH "OPTIONS" +.IX Header "OPTIONS" +.IP "\fIconfiguration\fR:" 4 +.IX Item "configuration:" +This is the name for the configuration as specified in the file +\&\fB/etc/ha.d/conf/\fR\fIconfiguration\fR +.IP "\fB\-d\fR" 4 +.IX Item "-d" +Don't start as daemon. Useful for debugging. +.IP "\fB\-h\fR" 4 +.IX Item "-h" +Help. Print user manual of l7directord. +.IP "\fB\-v\fR" 4 +.IX Item "-v" +Version. Print version of l7directord. +.IP "\fB\-t\fR" 4 +.IX Item "-t" +Run syntax tests for configuration files only. The program immediately exits after these syntax parsing tests +with either a return code of 0 (Syntax \s-1OK\s0) or return code not equal to 0 (Syntax Error). +.IP "\fBstart\fR" 4 +.IX Item "start" +Start the daemon for the specified configuration. +.IP "\fBstop\fR" 4 +.IX Item "stop" +Stop the daemon for the specified configuration. This is the same as sending +a \s-1TERM\s0 signal to the running daemon. +.IP "\fBrestart\fR" 4 +.IX Item "restart" +Restart the daemon for the specified configuration. The same as stopping and starting. +.IP "\fBtry-restart\fR" 4 +.IX Item "try-restart" +Try to restart the daemon for the specified configuration. If l7directord is already running for the +specified configuration, then the same is stopped and started (Similar to restart). +However, if l7directord is not already running for the specified configuration, then an error message +is thrown and the program exits. +.IP "\fBreload\fR" 4 +.IX Item "reload" +Reload the configuration file. This is only useful for modifications +inside a virtual server entry. It will have no effect on adding or +removing a virtual server block. This is the same as sending a \s-1HUP\s0 signal to +the running daemon. +.IP "\fBstatus\fR" 4 +.IX Item "status" +Show status of the running daemon for the specified configuration. +.IP "\fBconfigtest\fR" 4 +.IX Item "configtest" +This is the same as \fB\-t\fR. +.SH "SYNTAX" +.IX Header "SYNTAX" +.Sh "Description how to write configuration files" +.IX Subsection "Description how to write configuration files" +.IP "\fBvirtual = \fR\fI(ip_address|hostname:portnumber|servicename)\fR" 4 +.IX Item "virtual = (ip_address|hostname:portnumber|servicename)" +Defines a virtual service by IP-address (or hostname) and port (or +servicename). All real services and flags for a virtual +service must follow this line immediately and be indented. +For ldirectord, Firewall-mark settings could be set. But for l7directord +Firewall-mark settings cannot be set. +.IP "\fBchecktimeout = \fR\fIn\fR" 4 +.IX Item "checktimeout = n" +Timeout in seconds for connect checks. If the timeout is exceeded then the +real server is declared dead. Default is 5 seconds. If defined in virtual +server section then the global value is overridden. +.IP "\fBnegotiatetimeout = \fR\fIn\fR" 4 +.IX Item "negotiatetimeout = n" +Timeout in seconds for negotiate checks. Default is 5 seconds. +If defined in virtual server section then the global value is overridden. +.IP "\fBcheckinterval = \fR\fIn\fR" 4 +.IX Item "checkinterval = n" +Defines the number of second between server checks. Default is 10 seconds. +If defined in virtual server section then the global value is overridden. +.IP "\fBretryinterval = \fR\fIn\fR" 4 +.IX Item "retryinterval = n" +Defines the number of second between server checks when server status is \s-1NG\s0. +Default is 10 seconds. If defined in virtual server section then the global +value is overridden. +.IP "\fBcheckcount = \fR\fIn\fR" 4 +.IX Item "checkcount = n" +The number of times a check will be attempted before it is considered +to have failed. Note that the checktimeout is additive, so if checkcount +is 3 and checktimeout is 2 seconds and retryinterval is 1 second, +then a total of 8 seconds (2 + 1 + 2 + 1 + 2) worth of timeout will occur +before the check fails. Default is 1. If defined in virtual server section +then the global value is overridden. +.IP "\fBconfiginterval = \fR\fIn\fR" 4 +.IX Item "configinterval = n" +Defines the number of second between configuration checks. +Default is 5 seconds. +.IP "\fBautoreload = \fR[\fByes\fR|\fBno\fR]" 4 +.IX Item "autoreload = [yes|no]" +Defines if should continuously check the configuration file +for modification each \fBconfiginterval\fR seconds. If this is set to \fByes\fR +and the configuration file changed on disk and its modification time (mtime) +is newer than the previous version, the configuration is automatically reloaded. +Default is \fBno\fR. +.ie n .IP "\fBcallback = ""\fR\fI/path/to/callback\fR\fB""\fR" 4 +.el .IP "\fBcallback = ``\fR\fI/path/to/callback\fR\fB''\fR" 4 +.IX Item "callback = ""/path/to/callback""" +If this directive is defined, \fBl7directord\fR automatically calls +the executable \fI/path/to/callback\fR after the configuration +file has changed on disk. This is useful to update the configuration +file through \fBscp\fR on the other heartbeated host. The first argument +to the callback is the name of the configuration. +.Sp +This directive might also be used to restart \fBl7directord\fR automatically +after the configuration file changed on disk. However, if \fBautoreload\fR +is set to \fByes\fR, the configuration is reloaded anyway. +.IP "\fBfallback = \fR\fIip_address|hostname[:portnumber|servicename]\fR [\fBmasq\fR]" 4 +.IX Item "fallback = ip_address|hostname[:portnumber|servicename] [masq]" +the server onto which a web service is redirected if all real +servers are down. Typically this would be 127.0.0.1 with +an emergency page. +.Sp +This directive may also appear within a virtual server, in which +case it will override the global fallback server, if set. +Only a value of \fBmasq\fR can be specified here. The default is \fImasq\fR. +.ie n .IP "\fBlogfile = ""\fR\fI/path/to/logfile\fR\fB""\fR|syslog_facility" 4 +.el .IP "\fBlogfile = ``\fR\fI/path/to/logfile\fR\fB''\fR|syslog_facility" 4 +.IX Item "logfile = ""/path/to/logfile""|syslog_facility" +An alternative logfile might be specified with this directive. If the logfile +does not have a leading '/', it is assumed to be a \fIsyslog\fR\|(3) facility name. +.Sp +The default is to log directly to the file \fI/var/log/l7vs/l7directord.log\fR. +.ie n .IP "\fBexecute = ""\fR\fIconfiguration\fR\fB""\fR" 4 +.el .IP "\fBexecute = ``\fR\fIconfiguration\fR\fB''\fR" 4 +.IX Item "execute = ""configuration""" +Use this directive to start an instance of l7directord for +the named \fIconfiguration\fR. +.IP "\fBsupervised\fR" 4 +.IX Item "supervised" +If this directive is specified, the daemon does not go into background mode. +All log-messages are redirected to stdout instead of a logfile. +This is useful to run \fBl7directord\fR supervised from daemontools. +See http://untroubled.org/rpms/daemontools/ or http://cr.yp.to/daemontools.html +for details. +.IP "\fBquiescent = \fR[\fByes\fR|\fBno\fR]" 4 +.IX Item "quiescent = [yes|no]" +If \fByes\fR, then when real or fallback servers are determined +to be down, they are not actually removed from the UltraMonkey\-L7, +but set weight to zero. +If \fBno\fR, then the real or fallback servers will be removed +from the UltraMonkey\-L7. The default is \fByes\fR. +.Sp +This directive may also appear within a virtual server, in which +case it will override the global fallback server, if set. +.Sh "Section virtual" +.IX Subsection "Section virtual" +The following commands must follow a \fBvirtual\fR entry and must be indented +with a minimum of 4 spaces or one tab. +.ie n .IP "\fBreal =\fR \fIip_address|hostname[\->ip_address|hostname][:portnumber|servicename\fR] [\fBmasq\fR] [\fIn\fR] [\fB""\fR\fIrequest\fR\fB"", ""\fR\fIreceive\fR\fB""\fR]" 4 +.el .IP "\fBreal =\fR \fIip_address|hostname[\->ip_address|hostname][:portnumber|servicename\fR] [\fBmasq\fR] [\fIn\fR] [\fB``\fR\fIrequest\fR\fB'', ``\fR\fIreceive\fR\fB''\fR]" 4 +.IX Item "real = ip_address|hostname[->ip_address|hostname][:portnumber|servicename] [masq] [n] [""request, receive""]" +Defines a real service by IP-address (or hostname) and port (or +servicename). If the port is omitted then a 0 will be used. +Optionally a range of \s-1IP\s0 addresses (or two hostnames) may be +given, in which case each \s-1IP\s0 address in the range will be treated as a real +server using the given port. The second argument defines the forwarding +method, it must be \fBmasq\fR only. The third argument defines the weight of +each real service. This argument is optional. Default is 1. The last two +arguments are optional too. They define a request-receive pair to be used to +check if a server is alive. They override the request-receive pair in the +virtual server section. These two strings must be quoted. If the request +string starts with \fIhttp://...\fR the IP-address and port of the real server +is overridden, otherwise the IP-address and port of the real server is used. +.IP "\fBmodule =\fR \fIproto-module module-args [opt\-module\-args]\fR" 4 +.IX Item "module = proto-module module-args [opt-module-args]" +Indicates the module parameter of \fBl7directord\fR. Here \fBproto-module\fR +denotes the protocol module name (For example, pfilter). \fBmodule-args\fR denotes the +arguments for the protocol module (For example, \-\-pattern\-match '*.html*'). +\&\fBmodule-args\fR is optional only when set \fBsessionless\fR, \fBip\fR and \fBsslid\fR module to \fBproto-module\fR. +The last argument is optional (For example, \-\-reschedule). +.Sh "More than one of these entries may be inside a virtual section:" +.IX Subsection "More than one of these entries may be inside a virtual section:" +.IP "\fBmaxconn =\fR \fIn\fR" 4 +.IX Item "maxconn = n" +Defines the maximum connection that the virtual service can handle. If the number of +requests cross the maxconn limit, the requests would be redirected to the +sorry server. +.IP "\fBqosup =\fR \fIn\fR[\fBK\fR|\fBM\fR|\fBG\fR]" 4 +.IX Item "qosup = n[K|M|G]" +Defines the bandwidth quota size in bps for up stream. If the number of the +bandwidth is over the qosup limit, a packet to the virtual service will be delayed +until the number of bandwidth become below the qosup limit. +\&\fBK\fR(kilo), \fBM\fR(mega) and \fBG\fR(giga) unit are available. +.IP "\fBqosdown =\fR \fIn\fR[\fBK\fR|\fBM\fR|\fBG\fR]" 4 +.IX Item "qosdown = n[K|M|G]" +Defines the bandwidth quota size in bps for down stream. If the number of the +bandwidth is over the qosdown limit, a packet to the client will be delayed +until the number of bandwidth become below the qosdown limit. +\&\fBK\fR(kilo), \fBM\fR(mega) and \fBG\fR(giga) unit are available. +.IP "\fBsorryserver =\fR\fIip_address|hostname[:portnumber|servicename]\fR" 4 +.IX Item "sorryserver =ip_address|hostname[:portnumber|servicename]" +Defines a sorry server by IP-address (or hostname) and port (or +servicename). Firewall-mark settings cannot be set. +If the number of requests to the virtual service cross the maxconn limit, the requests would be +redirected to the sorry server. +.IP "\fBchecktype = negotiate\fR|\fBconnect\fR|\fIN\fR|\fBping\fR|\fBcustom\fR|\fBoff\fR|\fBon\fR" 4 +.IX Item "checktype = negotiate|connect|N|ping|custom|off|on" +Type of check to perform. Negotiate sends a request and matches a receive +string. Connect only attempts to make a \s-1TCP/IP\s0 connection, thus the +request and receive strings may be omitted. If checktype is a number then +negotiate and connect is combined so that after each N connect attempts one +negotiate attempt is performed. This is useful to check often if a service +answers and in much longer intervals a negotiating check is done. Ping +means that \s-1ICMP\s0 ping will be used to test the availability of real servers. +Ping is also used as the connect check for \s-1UDP\s0 services. Custom means that +custom command will be used to test the availability of real servers. +Off means no checking will take place and no real or fallback servers will +be activated. On means no checking will take place and real servers will +always be activated. Default is \fInegotiate\fR. +.IP "\fBservice = ftp\fR|\fBsmtp\fR|\fBhttp\fR|\fBpop\fR|\fBnntp\fR|\fBimap\fR|\fBldap\fR|\fBhttps\fR|\fBdns\fR|\fBmysql\fR|\fBpgsql\fR|\fBsip\fR|\fBnone\fR" 4 +.IX Item "service = ftp|smtp|http|pop|nntp|imap|ldap|https|dns|mysql|pgsql|sip|none" +The type of service to monitor when using checktype=negotiate. None denotes +a service that will not be monitored. If the port specified for the virtual +server is 21, 25, 53, 80, 110, 119, 143, 389, 443, 3306, 5432 or 5060 then +the default is \fBftp\fR, \fBsmtp\fR, \fBdns\fR, \fBhttp\fR, \fBpop\fR, \fBnntp\fR, \fBimap\fR, +\&\fBldap\fR, \fBhttps\fR, \fBmysql\fR, \fBpgsql\fR or \fBsip\fR respectively. Otherwise the +default service is \fBnone\fR. +.IP "\fBcheckport = \fR\fIn\fR" 4 +.IX Item "checkport = n" +Number of port to monitor. Sometimes check port differs from service port. +Default is port specified for the real server. +.ie n .IP "\fBrequest = ""\fR\fIuri to requested object\fR\fB""\fR" 4 +.el .IP "\fBrequest = ``\fR\fIuri to requested object\fR\fB''\fR" 4 +.IX Item "request = ""uri to requested object""" +This object will be requested each checkinterval seconds on each real +server. The string must be inside quotes. Note that this string may be +overridden by an optional per real-server based request\-string. +.Sp +For a \s-1DNS\s0 check this should the name of an A record, or the address +of a \s-1PTR\s0 record to look up. +.Sp +For a MySQL or PostgreSQL checks, this should be a \s-1SQL\s0 query. +The data returned is not checked, only that the +answer is one or more rows. This is a required setting. +.ie n .IP "\fBreceive = ""\fR\fIregexp to compare\fR\fB""\fR" 4 +.el .IP "\fBreceive = ``\fR\fIregexp to compare\fR\fB''\fR" 4 +.IX Item "receive = ""regexp to compare""" +If the requested result contains this \fIregexp to compare\fR, the real server +is declared alive. The regexp must be inside quotes. Keep in mind that +regexps are not plain strings and that you need to escape the special +characters if they should as literals. Note that this regexp may be +overridden by an optional per real-server based receive regexp. +.Sp +For a \s-1DNS\s0 check this should be any one the A record's addresses or +any one of the \s-1PTR\s0 record's names. +.Sp +For a MySQL check, the receive setting is not used. +.IP "\fBhttpmethod = \s-1GET\s0\fR|\fB\s-1HEAD\s0\fR" 4 +.IX Item "httpmethod = GET|HEAD" +Sets the \s-1HTTP\s0 method, which should be used to fetch the \s-1URI\s0 specified in +the request\-string. \s-1GET\s0 is the method used by default if the parameter is +not set. If \s-1HEAD\s0 is used, the receive-string should be unset. +.ie n .IP "\fBvirtualhost = ""\fR\fIhostname\fR\fB""\fR" 4 +.el .IP "\fBvirtualhost = ``\fR\fIhostname\fR\fB''\fR" 4 +.IX Item "virtualhost = ""hostname""" +Used when using a negotiate check with \s-1HTTP\s0 or \s-1HTTPS\s0. Sets the host header +used in the \s-1HTTP\s0 request. In the case of \s-1HTTPS\s0 this generally needs to +match the common name of the \s-1SSL\s0 certificate. If not set then the host +header will be derived from the request url for the real server if present. +As a last resort the \s-1IP\s0 address of the real server will be used. +.ie n .IP "\fBlogin = ""\fR\fIusername\fR\fB""\fR" 4 +.el .IP "\fBlogin = ``\fR\fIusername\fR\fB''\fR" 4 +.IX Item "login = ""username""" +Username to use to login to \s-1FTP\s0, \s-1POP\s0, \s-1IMAP\s0, MySQL and PostgreSQL servers. +For \s-1FTP\s0, the default is anonymous. For \s-1POP\s0 and \s-1IMAP\s0, the default is the +empty string, in which case authentication will not be attempted. +For a MySQL and PostgreSQL, the username must be provided. +.Sp +For \s-1SIP\s0 the username is used as both the to and from address +for an \s-1OPTIONS\s0 query. If unset it defaults to l7directord\e@, +hostname is derived as per the passwd option below. +.ie n .IP "\fBpasswd = ""\fR\fIpassword\fR\fB""\fR" 4 +.el .IP "\fBpasswd = ``\fR\fIpassword\fR\fB''\fR" 4 +.IX Item "passwd = ""password""" +Password to use to login to \s-1FTP\s0, \s-1POP\s0, \s-1IMAP\s0, MySQL and PostgreSQL servers. +Default is for \s-1FTP\s0 is l7directord\e@, where hostname is the +environment variable \s-1HOSTNAME\s0 evaluated at run time, or sourced from uname +if unset. The default for all other services is an empty password, in the +case of MySQL and PostgreSQL this means authentication will not be +performed. +.ie n .IP "\fBdatabase = ""\fR\fIdatabasename\fR\fB""\fR" 4 +.el .IP "\fBdatabase = ``\fR\fIdatabasename\fR\fB''\fR" 4 +.IX Item "database = ""databasename""" +Database to use for MySQL and PostgreSQL servers, this is the database that +the query (set by \fBreceive\fR above) will be performed against. This is a +required setting. +.IP "\fBscheduler =\fR \fIscheduler_name\fR" 4 +.IX Item "scheduler = scheduler_name" +Scheduler to be used by UltraMonkey\-L7 for load balancing. +The available schedulers are only \fBlc\fR and \fBrr\fR. The default is \fIrr\fR. +.IP "\fBprotocol = tcp\fR" 4 +.IX Item "protocol = tcp" +Protocol to be used. \fBl7vsadm\fR supports only \fBtcp\fR. +Since the virtual is specified as an \s-1IP\s0 address and port, it would be tcp +and will default to tcp. +.ie n .IP "\fBrealdowncallback = ""\fR\fI/path/to/realdowncallback\fR\fB""\fR" 4 +.el .IP "\fBrealdowncallback = ``\fR\fI/path/to/realdowncallback\fR\fB''\fR" 4 +.IX Item "realdowncallback = ""/path/to/realdowncallback""" +If this directive is defined, \fBl7directord\fR automatically calls +the executable \fI/path/to/realdowncallback\fR after a real server's status +changes to down. The first argument to the realdowncallback is the real +server's IP-address and port (ip_address:portnumber). +.ie n .IP "\fBrealrecovercallback = ""\fR\fI/path/to/realrecovercallback\fR\fB""\fR" 4 +.el .IP "\fBrealrecovercallback = ``\fR\fI/path/to/realrecovercallback\fR\fB''\fR" 4 +.IX Item "realrecovercallback = ""/path/to/realrecovercallback""" +If this directive is defined, \fBl7directord\fR automatically calls +the executable \fI/path/to/realrecovercallback\fR after a real server's status +changes to up. The first argument to the realrecovercallback is the real +server's IP-address and port (ip_address:portnumber). +.ie n .IP "\fBcustomcheck = ""\fR\fIcustom check command\fR\fB""\fR" 4 +.el .IP "\fBcustomcheck = ``\fR\fIcustom check command\fR\fB''\fR" 4 +.IX Item "customcheck = ""custom check command""" +If this directive is defined and set \fBchecktype\fR to custom, \fBl7directord\fR +exec custom command for real servers health checking. Only if custom command +returns 0, real servers will change to up. Otherwise real servers will change +to down. Custom check command has some macro string. See below. +.RS 4 +.IP "\fB_IP_\fR" 4 +.IX Item "_IP_" +Change to real server \s-1IP\s0 address. +.IP "\fB_PORT_\fR" 4 +.IX Item "_PORT_" +Change to real server port number. +.RE +.RS 4 +.RE +.SH "FILES" +.IX Header "FILES" +\&\fB/etc/ha.d/conf/l7directord.cf\fR +.PP +\&\fB/var/log/l7vs/l7directord.log\fR +.PP +\&\fB/var/run/l7directord.\fR\fIconfiguration\fR\fB.pid\fR +.PP +\&\fB/etc/services\fR +.SH "SEE ALSO" +.IX Header "SEE ALSO" +l7vsadm, heartbeat +.SH "AUTHORS" +.IX Header "AUTHORS" +\&\s-1NTT\s0 \s-1COMWARE\s0 diff --git a/man/l7directord.8.gz b/man/l7directord.8.gz deleted file mode 100644 index 5b1285f1ffd2721a5346995996c3a1f681581cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7734 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 diff --git a/man/l7vsadm.8 b/man/l7vsadm.8 new file mode 100644 index 0000000..4192973 --- /dev/null +++ b/man/l7vsadm.8 @@ -0,0 +1,326 @@ +.TH L7VSADM 8 "8 Dec 2008" "UltraMonkey-L7" +.SH 名前 +.B l7vsadm +\- UltraMonkey-L7 管理コマンド +.SH 書式 +.B l7vsadm +[\-A | \-E] \-t \fIservice\-address\fR:\fIserivice\-port\fR \-m \fIproto\-module\fR [\fImodule\-args\fR] [\-s \fIscheduler\fR] [\-u \fIconnection\-count\fR] [\-b \fIsorry\-server\fR] [\-f \fIsorry\-flag\fR] [\-Q \fIQoSval\-service\fR] [\-q \fIQoSval\-clients\fR] + +.B l7vsadm +\-D \-t \fIservice\-address\fR:\fIserivice\-port\fR \-m \fIproto\-module\fR [\fImodule\-args\fR] + +.B l7vsadm +\-C + +.B l7vsadm +[\-a | \-e] -t \fIservice\-address\fR:\fIserivice\-port\fR \-m \fIproto\-module\fR [\fImodule\-args\fR] \-r \fIserver\-address\fR:\fIserver\-port\fR [\-w \fIweight\fR] + +.B l7vsadm +\-d \-t \fIservice\-address\fR:\fIserivice\-port\fR \-m \fIproto\-module\fR [\fImodule\-args\fR] \-r \fIserver\-address\fR:\fIserver\-port\fR + +.B l7vsadm +\-R [\-s \fIreplication\-switch\fR | \-f | \-d] + +.B l7vsadm +\-L \-c \fIlog\-category\fR \-l \fIlog\-level\fR + +.B l7vsadm +\-P \-r \fIreload\-parameter\fR + +.B l7vsadm +\-l [\-n] + +.B l7vsadm +\-V [\-n] + +.B l7vsadm +\-K [\-n] + +.B l7vsadm +\-h + +.SH 説明 +\fBl7vsadm\fR は,UltraMonkey\-L7 の負荷分散フレームワークである \fBl7vsd\fR の制御を行うコマンドである. +.PP +各オプションを指定することで,仮想サービスの状態監視・追加・削除・変更,レプリケーション機能の開始・停止,ログレベルの動的変更を行うことができる. + +.SH コマンド + +.TP +.B "\-A, \-\-add\-service" +仮想サービスの追加を行う.後述の \-t, \-m オプションを同時に指定する必要がある. + +.TP +.B "\-E, \-\-edit\-service" +現在登録されている仮想サービスの変更を行う.後述の \-t, \-m オプションを同時に指定する必要がある. + +.TP +.B "\-D, \-\-delete\-service" +現在登録されている仮想サービスを削除する.後述の \-t, \-m オプションを同時に指定する必要がある. + +.TP +.B "\-C, \-\-flush" +現在登録されている仮想サービスを,すべて削除する. + +.TP +.B "\-a, \-\-add\-server" +仮想サービスに対してリアルサーバを追加する.\-A または \-E コマンド実行時に指定した \fIservice-address\fR:\fIserivice\-port\fR, \fIproto-module\fR を同時に指定し,\-r オプションでリアルサーバの情報を与える. +.br +「l7vsadm \-A \-t 192.168.0.1:80 \-m cinsert」として追加した仮想サービスに 192.168.0.100:80 のリアルサーバを追加する場合は,「l7vsadm \-a \-t 192.168.0.1:80 \-m cinsert \-r 192.168.0.100:80」を実行する. + +.TP +.B "\-e, \-\-edit\-server" +現在登録されているリアルサーバの変更を行う.\-A または \-E コマンド実行時に指定した \fIservice-address\fR:\fIserivice\-port\fR, \fIproto-module\fR を同時に指定し,\-r オプションでリアルサーバの情報を与える. +.br +「l7vsadm \-A \-t 192.168.0.1:80 \-m cinsert」として追加した仮想サービスに追加された 192.168.0.100:80 のリアルサーバの weight を 10 に変更する場合は,「l7vsadm \-e \-t 192.168.0.1:80 \-m cinsert \-r 192.168.0.100:80 \-w 10」を実行する. + +.TP +.B "\-d, \-\-delete\-server" +現在登録されているリアルサーバを削除する.\-A または \-E コマンド実行時に指定した \fIservice-address\fR:\fIserivice\-port\fR, \fIproto-module\fR を同時に指定し,\-r オプションでリアルサーバの情報を与える. +.br +「l7vsadm \-A \-t 192.168.0.1:80 \-m cinsert」として追加した仮想サービスに 192.168.0.100:80 のリアルサーバを削除する場合は,「l7vsadm \-d \-t 192.168.0.1:80 \-m cinsert \-r 192.168.0.100:80」を実行する. + +.TP +.B "\-R, \-\-replication" +レプリケーション関連の設定変更を行う.下記のオプションを同時に指定する必要がある. + +.TP +.B "\-L, \-\-log" +ログレベルの変更を行う.\fB\-c\fR オプションを同時に指定する必要がある. + +.TP +.B "\-P, \-\-parameter" +設定ファイルのリロードを行う. \-r オプションを同時に指定する必要がある. + +.TP +.B \-l, \-\-list +現在登録されている仮想サービスの一覧を表示する. + +.TP +.B \-K \-\-key +現在登録されている仮想サービスの一覧を,キー情報を含んだ形式で表示する. + +.TP +.B \-V, \-\-verbose +現在登録されている仮想サービスと,l7vsd および l7vsadm の各種設定値を表示する. + +.TP +.B \-h \-\-help +ヘルプメッセージを表示する. + + +.SH オプション + +.TP +.B "\-t , \-\-tcp\-service \fIservice\-address\fR" +TCP サービスを作成する.\fIservice\-address\fR には,"address:port" 形式でエンドポイントとする IP アドレスとポート番号を指定する.address にはホスト名または十進表記の IP アドレスが指定可能である. + +.TP +.B "\-m , \-\-proto\-module \fIproto\-module\fR \fI[module\-args]\fR" +プロトコルモジュールを指定する.\fIproto\-module\fR の値は,\fBcinsert\fR, \fBurl\fR, \fBsslid\fR, \fBsessionless\fR のいずれかでなければならない.\fImodule\-args\fR によって,プロトコルモジュールのパラメータを設定する. + +.TP +.B "\-s, \-\-scheduler \fIscheduler\fR" +使用するスケジューラを指定する.\fIscheduler\fR の値は,\fBrr\fR, \fBlc\fR, \fBwrr\fR のいずれかでなけらばならない.\fB\-A\fR, \fB-E\fR コマンドで使用する. + +.TP +.B "\-u, \-\-upper \fIconnection\-count\fR" +最大コネクション数を指定する.\fIconnection\-count\fR は 0 から 100000 の範囲で指定する.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-b, \-\-bypass \fIsorry\-server\fR" +アクティブなコネクション数が \fI\-u\fR オプションで指定したコネクション数に達した場合に,リクエストを転送するサーバを設定する.\fIsorry\-server\fR には,"address:port" 形式でエンドポイントとする IP アドレスとポート番号を指定する.address にはホスト名または十進表記の IP アドレスが指定可能である.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-f, \-\-flag \fIsorry\-flag\fR" +sorry\-server へリクエストを転送するフラグをセットまたは解除する.1 または 0 を指定する.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-Q, \-\-qos\-up \fIQoSVal\-up\fR" +上り(クライアントからリアルサーバ方向)の制限帯域幅を設定する.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-q, \-\-qos\-down \fIQoSVal\-down\fR" +下り(リアルサーバからクライアント方向)の制限帯域幅を設定する.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-r, \-\-real\-server \fIserver\-address\fR" +リクエストを転送するリアルサーバを設定する.\fIserver\-address\fR には,"address:port" 形式でエンドポイントとする IP アドレスとポート番号を指定する.address にはホスト名または十進表記の IP アドレスが指定可能である.\fB\-A\fR, \fB\-E\fR コマンドで使用する. + +.TP +.B "\-w, \-\-weight \fIweight\fR" +リアルサーバへ振り分ける際の重みを設定する.\fB\-r\fR オプションで使用する. + +.TP +.B "\-s , \-\-status \fIreplication\-switch\fR" +レプリケーション機能の動作を開始・停止する.\fIreplication\-switch\fR の値は,下記のいずれかでなければならない.\fB\-R\fR コマンドで使用する. +.RS +.TP +.B "start" +レプリケーション機能の動作を開始する. + +.TP +.B "stop" +レプリケーション機能を停止する. +.RE + +.TP +.B "\-f, \-\-force" +強制的にレプリケーションを実行する.\fB\-R\fR コマンドで使用する. + +.TP +.B "\-d, \-\-dump" +レプリケーション情報を標準出力にダンプする.\fB\-R\fR コマンドで使用する. + +.TP +.B "\-c , \-\-category \fIlog\-category\fR" +設定を変更するログのカテゴリを指定する.\fIlog\-category\fR の値は,下記のいずれかでなければならない. +.RS +.TP +.B "l7vsd_network, nw" +ネットワーク関連すべて + +.TP +.B "l7vsd_network.bandwidth, nw.bw" +ネットワーク関連(帯域幅関連のみ) + +.TP +.B "l7vsd_network.num_connection, nw.conn" +ネットワーク関連(コネクション数のみ) + +.TP +.B "l7vsd_network.qos, nw.qos" +ネットワーク関連(QoS 関連のみ) + +.TP +.B "l7vsd_virtual_service, vs" +仮想サービス関連 + +.TP +.B "l7vsd_real_server, rs" +リアルサーバ関連すべて + +.TP +.B "l7vsd_real_server.balancing, rs.bal" +リアルサーバ関連(ロードバランス関連のみ) + +.TP +.B "l7vsd_sorry_server, sorry" +Sorry サーバ関連 + +.TP +.B "l7vsd_replicatio, rep" +Replication 機能関連 + +.TP +.B "l7vsd_start_stop, stastp" +起動・終了関連 + +.TP +.B "l7vsd_system, sys" +フレームワーク関連すべて + +.TP +.B "l7vsd_system.memory, sys.mem" +フレームワーク関連(メモリ管理関連のみ) + +.TP +.B "l7vsd_system.socket, sys.sock" +フレームワーク関連(ソケット関連のみ) + +.TP +.B "l7vsd_system.signal, sys.sig" +フレームワーク関連(シグナル処理関連のみ) + +.TP +.B "l7vsd_environment, env" +環境関連すべて + +.TP +.B "l7vsd_environment.parameter, env.para" +環境関連(設定ファイル関連のみ) + +.TP +.B "l7vsd_logger, logger" +ログ出力関連 + +.TP +.B "l7vsd_parameter, para" + +.TP +.B "l7vsd_event, event" +イベント管理機構関連 + +.TP +.B "l7vsd_schedule, sched" +スケジューラ関連 + +.TP +.B "l7vsd_program, prog" +本体内部処理関連 + +.TP +.B "l7vsd_protocol, prot" +プロトコルモジュール関連 + +.TP +.B "l7vsd_module, mod" +モジュール関連 + +.TP +.B "all" +すべてのログ + +.RE + +.TP +.B -l , \-\-level \fIlevel\fR +ログレベルを指定する.\fBfatal\fR, \fBerror\fR, \fBwarn\fR, \fBinfo\fR, \fBdebug\fR のいずれかでなければならない.. + +.TP +.B "\-r, \-\-reload \fIreload\-parameter\fR" +リロードするセクションを指定する.\fIreload\-parameter\fR に指定する値は,下記のいずれかでなければならない. +.RS +.TP +.B "all" +すべてのセクション + +.TP +.B "replication" +レプリケーションセクション + +.TP +.B "replication" +logger セクション + +.RE + +.TP +.B "\-n, \-\-numeric" +ホスト名・サービスポート番号を解決せずに,IP アドレス・ポート番号で表示する.\fB\-l\fR, \fB\-K\fR, \fB\-V\fR コマンドで使用する. + + +.SH 使用方法 + +.TP +.B 192.168.0.10:80 に対して,sessionless モジュールを用いて,ラウンドロビン方式で負荷分散を行う仮想サービスを作成する場合 + +.RS +.B l7vsadm \-A \-t 192.168.0.10:80 \-m sessionless \-s rr +.RE + +.TP +.B 上記仮想サービスに対して 192.168.0.200:80 のリアルサーバを使いする場合 + +.RS +.B l7vsadm \-a \-t 192.168.0.10:80 \-m sessionless \-r 192.168.0.200:80 +.RE + +.SH 関連項目 +.BR l7vsd (8) +.SH 注意 +本プログラムには米 F5 社が所有する米国特許 6,374,300 6,473,802 "Method and system for storing load balancing information with an HTTP cookie" の実装を含んでいるため,使用は日本国内限定とする. +.PP +Due to a possible conflict with an U.S. patent owned by F5 Networks, the use of the cookie-based persistence module included in this package is restricted to Japan. +.PP +このプログラムに関する問い合わせは,ultramonkey-l7-users@lists.sourceforge.jp 宛てにメールを送付してください. diff --git a/man/l7vsadm.8.gz b/man/l7vsadm.8.gz deleted file mode 100644 index d0ab01a8504ed5a076962653db212ebac9c7e24d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2971 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 N=@&`BeN(ms008CrY{mcp -- 2.11.0