JavaScript is required to for searching.
跳过导航链接
退出打印视图
手册页第 1M 部分:系统管理命令     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

简介

System Administration Commands-第 1 单元

6to4relay(1M)

acct(1M)

acctadm(1M)

acctcms(1M)

acctcon1(1M)

acctcon(1M)

acctcon2(1M)

acctdisk(1M)

acctdusg(1M)

acctmerg(1M)

accton(1M)

acctprc1(1M)

acctprc(1M)

acctprc2(1M)

acctsh(1M)

acctwtmp(1M)

acpihpd(1M)

adbgen(1M)

add_allocatable(1M)

addbadsec(1M)

add_drv(1M)

aimanifest(1M)

arp(1M)

asradm(1M)

asr-notify(1M)

atohexlabel(1M)

audit(1M)

auditconfig(1M)

auditd(1M)

auditrecord(1M)

auditreduce(1M)

auditstat(1M)

audit_warn(1M)

automount(1M)

automountd(1M)

autopush(1M)

bart(1M)

beadm(1M)

boot(1M)

bootadm(1M)

bootconfchk(1M)

bootparamd(1M)

busstat(1M)

captoinfo(1M)

catman(1M)

cfgadm(1M)

cfgadm_ac(1M)

cfgadm_cardbus(1M)

cfgadm_fp(1M)

cfgadm_ib(1M)

cfgadm_pci(1M)

cfgadm_sata(1M)

cfgadm_sbd(1M)

cfgadm_scsi(1M)

cfgadm_sdcard(1M)

cfgadm_shp(1M)

cfgadm_sysctrl(1M)

cfgadm_usb(1M)

chargefee(1M)

chat(1M)

check-hostname(1M)

check-permissions(1M)

chk_encodings(1M)

chroot(1M)

cimworkshop(1M)

ckpacct(1M)

clear_locks(1M)

clinfo(1M)

closewtmp(1M)

clri(1M)

comsat(1M)

configCCR(1M)

consadm(1m)

console-reset(1M)

coreadm(1M)

cpustat(1M)

croinfo(1M)

cron(1M)

cryptoadm(1M)

datadm(1M)

dcopy(1M)

dcs(1M)

dd(1M)

ddu(1M)

ddu-text(1M)

devchassisd(1M)

devfsadm(1M)

devfsadmd(1M)

device_allocate(1M)

device_remap(1M)

devinfo(1M)

devlinks(1M)

devnm(1M)

devprop(1M)

df(1M)

dfmounts(1M)

dfmounts_nfs(1M)

dfshares(1M)

dfshares_nfs(1M)

df_ufs(1M)

dhcpagent(1M)

dhcpconfig(1M)

dhcpmgr(1M)

dhtadm(1M)

dig(1M)

directoryserver(1M)

diskinfo(1M)

disks(1M)

diskscan(1M)

dispadmin(1M)

distro_const(1M)

dladm(1M)

dlmgmtd(1M)

dlstat(1M)

dmesg(1M)

dminfo(1M)

dns-sd(1M)

dnssec-dsfromkey(1M)

dnssec-keyfromlabel(1M)

dnssec-keygen(1M)

dnssec-makekeyset(1M)

dnssec-signkey(1M)

dnssec-signzone(1M)

dodisk(1M)

domainname(1M)

drd(1M)

drvconfig(1M)

dsbitmap(1M)

dscfg(1M)

dscfgadm(1M)

dscfglockd(1M)

dsstat(1M)

dsvclockd(1M)

dtrace(1M)

dumpadm(1M)

editmap(1M)

edquota(1M)

eeprom(1M)

efdaemon(1M)

embedded_su(1M)

emCCR(1M)

emocmrsp(1M)

etrn(1M)

fbconfig(1M)

fbconf_xorg(1M)

fcadm(1M)

fcinfo(1M)

fdetach(1M)

fdisk(1M)

ff(1M)

ff_ufs(1M)

fingerd(1M)

fiocompress(1M)

flowadm(1M)

flowstat(1M)

fmadm(1M)

fmd(1M)

fmdump(1M)

fmstat(1M)

fmthard(1M)

format(1M)

fruadm(1M)

fsck(1M)

fsck_pcfs(1M)

fsck_udfs(1M)

fsck_ufs(1M)

fsdb(1M)

fsdb_udfs(1M)

fsdb_ufs(1M)

fsflush(1M)

fsirand(1M)

fssnap(1M)

fssnap_ufs(1M)

fsstat(1M)

fstyp(1M)

fuser(1M)

fwflash(1M)

fwtmp(1M)

getdevpolicy(1M)

getent(1M)

gettable(1M)

getty(1M)

gkadmin(1M)

groupadd(1M)

groupdel(1M)

groupmod(1M)

growfs(1M)

grpck(1M)

gsscred(1M)

gssd(1M)

hald(1M)

hal-device(1M)

hal-fdi-validate(1M)

hal-find(1M)

hal-find-by-capability(1M)

hal-find-by-property(1M)

hal-get-property(1M)

hal-set-property(1M)

halt(1M)

hextoalabel(1M)

host(1M)

hostconfig(1M)

hotplug(1M)

hotplugd(1M)

htable(1M)

ickey(1M)

id(1M)

idmap(1M)

idmapd(1M)

idsconfig(1M)

ifconfig(1M)

if_mpadm(1M)

ifparse(1M)

iiadm(1M)

iicpbmp(1M)

iicpshd(1M)

ikeadm(1M)

ikecert(1M)

ilbadm(1M)

inetadm(1M)

ilomconfig(1M)

imqadmin(1M)

imqbrokerd(1M)

imqcmd(1M)

imqdbmgr(1M)

imqkeytool(1M)

imqobjmgr(1M)

imqusermgr(1M)

in.chargend(1M)

in.comsat(1M)

in.daytimed(1M)

in.dhcpd(1M)

in.discardd(1M)

in.echod(1M)

inetadm(1M)

inetconv(1M)

inetd(1M)

in.fingerd(1M)

infocmp(1M)

in.iked(1M)

init(1M)

init.sma(1M)

init.wbem(1M)

inityp2l(1M)

in.lpd(1M)

in.mpathd(1M)

in.named(1M)

in.ndpd(1M)

in.rarpd(1M)

in.rdisc(1M)

in.rexecd(1M)

in.ripngd(1M)

in.rlogind(1M)

in.routed(1M)

in.rshd(1M)

in.rwhod(1M)

install(1M)

installadm(1M)

installboot(1M)

installf(1M)

installgrub(1M)

in.stdiscover(1M)

in.stlisten(1M)

in.talkd(1M)

in.telnetd(1M)

in.tftpd(1M)

in.timed(1M)

intrd(1M)

intrstat(1M)

in.uucpd(1M)

iostat(1M)

ipaddrsel(1M)

ipadm(1M)

ipf(1M)

ipfs(1M)

ipfstat(1M)

ipmgmtd(1M)

ipmon(1M)

ipmpstat(1M)

ipnat(1M)

ippool(1M)

ipqosconf(1M)

ipsecalgs(1M)

ipsecconf(1M)

ipseckey(1M)

iscsiadm(1M)

isns(1M)

isnsadm(1M)

itadm(1M)

itu(1M)

js2ai(1M)

k5srvutil(1M)

kadb(1M)

kadmin(1M)

kadmind(1M)

kadmin.local(1M)

kcfd(1M)

kclient(1M)

kdb5_ldap_util(1M)

kdb5_util(1M)

kdcmgr(1M)

kernel(1M)

keyserv(1M)

killall(1M)

kmem_task(1M)

kmscfg(1M)

kprop(1M)

kpropd(1M)

kproplog(1M)

krb5kdc(1M)

ksslcfg(1M)

kstat(1M)

ktkt_warnd(1M)

labeld(1M)

labelit(1M)

labelit_hsfs(1M)

labelit_udfs(1M)

labelit_ufs(1M)

lastlogin(1M)

latencytop(1M)

ldapaddent(1M)

ldap_cachemgr(1M)

ldapclient(1M)

ldmad(1M)

link(1M)

llc2_loop(1M)

lldpadm(1M)

lldpd(1M)

lms(1M)

locator(1M)

lockd(1M)

lockfs(1M)

lockstat(1M)

lofiadm(1M)

logadm(1M)

logins(1M)

lshal(1M)

System Administration Commands-第 2 单元

System Administration Commands-第 3 单元

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

ilbadm

- 建立和处理负载平衡规则

用法概要

ilbadm create-rule [-e] [-p] -i vip=value,port=value[,protocol=value]
     -m lbalg=value,type=value[,proxy-src=ip-range][,pmask=mask]
     [-h hc-name=value[,hc-port=value]]
     [-t [conn-drain=N][,nat-timeout=N],[persist-timeout=N]]
     -o servergroup=value name
ilbadm show-rule [-e|-d] [-f |[-p] -o key[,key ...]] [name ...]
ilbadm delete-rule -a | name ...
ilbadm enable-rule [name ...]
ilbadm disable-rule [name ...]
ilbadm show-statistics [-p] -o field[,field] [-thAdvi]
     [-r rulename] | [-s servername] [interval [count]]
ilbadm create-servergroup [-s server=hostspec[:portspec...]] groupname
ilbadm delete-servergroup groupname
ilbadm show-servergroup [-s|-f|[-p] -o field[,field]] [[-v] name]
ilbadm enable-server server ...
ilbadm disable-server server ...
ilbadm show-server [[-p] -o field[,field...]] [rulename...]
ilbadm add-server -s server=value[,value ... ] name
ilbadm remove-server -s server=value[,value ... ] name
ilbadm create-healthcheck [-n] -h hc-test=value
     [,hc-timeout=value][,hc-count=value][,hc-interval=value] hcname
ilbadm delete-healthcheck hcname
ilbadm show-healthcheck [hcname ...]
ilbadm show-hc-result [rule-name]
ilbadm show-nat [count]
ilbadm show-persist [count]
ilbadm export-config filename
ilbadm import-config [-p] filename

描述

ilbadm 命令使用下面介绍的子命令处理或显示有关集成负载平衡器 (Integrated Load Balancer, ILB) 规则的信息。

规则名称不区分大小写,但会保留输入时的大小写。规则名称的长度限制为 19 个字符。服务器名称不能超过 14 个字符。

所有可解析的输出(使用 -p 选项调用)都要求使用 -o 选项指定要输出或显示的字段。字段将按它们在命令行中的相同显示顺序显示。使用冒号 (:) 字符分隔多个字段。如果显示的字符串本身包含冒号或反斜杠 (\),则会在字符串前面添加一个反斜杠。可解析的输出不会显示任何标头。

当使用 create-servergroupadd-server 子命令添加服务器时,系统将生成服务器 ID。

确保服务器 ID 在服务器组中唯一。一个规则只能附加到一个服务器组,因此服务器 ID 对规则也是唯一的。请注意,由于同一服务器组可以附加多个规则,因此单凭服务器 ID 不足以表示规则。

为了区分服务器 ID 和主机名,服务器 ID 带有前导下划线 (_) 前缀。

如下所述,必须先定义服务器组和运行状况检查实体,然后才能在 create-rule 子命令中使用它们。

子命令

下面列出了 ilbadm 子命令及其相关选项和操作数。请注意,子命令具有标准和简捷两种形式;例如,create-rulecreate-rl,这样您不必键入其他几个字符。

create-rule|create-rl [-e] [-p] -i incoming -m method_attributes -o outgoing_spec [- h healthcheck] [-t timers] name

创建具有一组指定特征的规则 nameincomingmethod_attributes 均指定为一组=对。如果 name 已存在,该命令将失败。如果给定元组(虚拟 IP 地址、端口和协议)与另一规则匹配,该命令也将失败。create-rule 具有下列选项,用于控制此命令的整体效果:

-e

启用 create-rule 功能。缺省值为禁用 create-rule

-p

创建持久性(粘性)规则。缺省值为规则仅存在于当前会话中。

键和值通过包含一个字母的标识符引入。这些标识符及其相关键和可接受的值如下所示。

-i

引入传入包的匹配条件。

vip

(虚拟)目标 IP 地址

port[-port]

端口号或名称,例如,telnetdns。端口可以使用端口号或符号名称(如在 /etc/services 中)指定。此外,还支持端口号范围。

protocol

TCP(缺省值)或 UDP(请参见 /etc/services)。

-m

指定说明包的处理方式的键。

lbalg

缺省值为 roundrobin 或其简捷形式 rr。其他备用项包括:hash-ip(简捷形式:hip)、hash-ip-port(简捷形式:hipp)、hash-ip-vip(简捷形式:hipv)。

type

表示网络拓扑。可以为 DSR(或 dsrd)、NAT(或 nnat)、HALF-NAT(或 hhalf-nat)。

proxy-src

只有完全 NAT 才需要此选项。指定用作代理源地址范围的 IP 地址范围。此范围限定为 10 个 IP 地址。

pmask

可选。别名为:stickiness。指定此规则将用作持久性规则。此参数是采用 CIDR 表示法的前缀长度;对于 IPv4,为 0–32;对于 IPv6 为 0–128。使用 -p 选项指定此关键字。

-o

指定与 -i“子句”指定的条件相符的包的目标。此标识符具有一个已知参数:

servergroup

指定一个服务器组作为目标。必须已创建服务器组。

-h

运行状况检查选项具有两个参数:

hc-name

指定预定义的运行状况检查方法的名称

hc-port

指定要检查的 HC 测试程序的端口。该值可以为关键字 ALLANY,也可以为服务器组的端口范围中的特定端口号。

-t

指定定制计时器(以秒为单位)。值 0 表示使用系统缺省值。下面列出了 -t 的有效修饰符:

conn-drain

如果服务器的 typeNATHALF-TYPEconn-drain 即为超时,在此超时后,从规则中删除服务器之后,将删除此服务器的连接状态。即使服务器未处于空闲状态,也会执行此删除。

适用于 TCP 的缺省值为:连接状态保持稳定,直到以正常方式关闭此连接为止。适用于 UDP 的缺省值为:连接状态保持稳定,直到此连接在时段 nat-timeout 内保持空闲为止。

nat-timeout

仅适用于 NAT 和半 NAT 类型连接。如果此类连接在 nat-timeout 时段内处于空闲状态,则将删除连接状态。适用于 TCP 的缺省值为 120,适用于 UDP 的缺省值为 60

persist-timeout

启用持久性映射后,如果在 persist-timeout 秒内未使用仅限数字的映射,则将删除此映射。缺省 为 60。

请注意,必须先定义服务器组和运行状况检查,然后才能在 create-rule 中使用它们。

delete-rule|delete-rl -a name[...]

删除与规则 name 相关的所有信息。如果 name 不存在,该命令将失败。delete-rule 具有一个选项:

-a

删除所有规则。(忽略 name。)

enable-rule|enable-rl name[...]

启用指定规则,或者如果未指定名称,则启用所有规则。启用已启用的规则不起作用。

disable-rule|disable-rl name[...]

禁用指定规则,或者如果未指定名称,则禁用所有规则。禁用已禁用的规则不起作用。

show-statistics|show-stats [[-p] -o field[,...]] [-tv] [-A | -d] [[-i] -r rulename | - s servername] [interval [count]]

显示统计信息,统计信息输出易受下述选项的使用的影响。此子命令的语法和语义以 vmstat(1M)的语法和语义作为模型。

-t

在每个样例前面附加一个时间戳。

-d

显示在整个时间间隔内的增量。缺省值为每秒钟的更改。无法与 -a 选项配合使用。

-A

显示绝对数字。即,自初始化模块、创建规则和添加服务器以来的数字。无法与 -d 选项配合使用。

-r rulename

仅显示指定 rulename 的统计信息。与 -i 选项结合使用,为每台服务器各显示一行。

-s servername

仅显示 server 的统计信息。与 -i 选项结合使用,为每个规则各显示一行。

-i

逐条列出 -r-s 选项显示的信息。这些选项是可与 -i 有效配合使用的唯一选项。无法与 -v 选项配合使用。

-v

显示删除操作的其他详细信息。请注意,当指定规则名称时,将根据规则(而非服务器)计算删除的计数。无法与 -i 选项配合使用。

-p

显示可解析的格式。需要使用 -o 选项。

-o field

可以为下表中的一个或多个项。field 可以为大写或小写。

PKT_P

已处理的包。

BYTES_P

已处理的字节。

PKT_U

未处理的包。

BYTES_U

未处理的字节。

PKT_D

已删除的包。

BYTES_D

已删除的字节。

ICMP_P

已处理的 ICMP 回显请求。

ICMP_D

已删除的 ICMP 回显请求。

ICMP2BIG_P

需要的 ICMP 分段;已处理的消息。

ICMP2BIG_D

需要的分段;已删除的消息。

NOMEMP_D

因内存不足条件而删除的包。

NOPORTP_D

因源端口不可用而在 NAT 模式下删除的包。

请注意,当问号 (?) 显示为列条目时,这表示无法确定正确值,其原因多半是因为已添加或删除规则或服务器。

请注意,仅对每 10 个样例显示一次标头。时间戳格式遵循 C 语言环境的 date(1) 格式。未检测到规则的添加和删除操作。

show-rule|show-rl [-d|-e] [-f| [-p] -o field[,...]] [name...]

显示指定规则的特征,或者如果未指定规则,则显示所有规则的特征。此子命令具有以下选项:

-d

仅显示已禁用的规则。

-e

仅显示已启用的规则。

-f

显示完整列表。

-o field[,...]

显示 field 的输出。无法与 -f 选项配合使用。

-p

以“说明”中介绍的格式显示可解析的输出。需要使用 -o 选项。

请注意,-o(带或不带 -p)和 -f 选项是互斥的。

show-nat count

显示 NAT 表信息。如果指定了 count,则显示 NAT 表中的 count 个条目。如果未指定 count,则显示整个 NAT 表。

count

在连续运行此命令的过程中,不应对元素的相对位置做出任何假定。例如,执行两次 show-nat 10 不能保证两次显示的 10 个项相同,特别是在繁忙系统中。

显示格式:

T: IP1 > IP2 >>> IP3 > IP4

这些项如下所述:

T

在此条目中使用的传输协议。

IP1

客户机的 IP 地址和端口。

IP2

VIP 和端口。

IP3

如果为半 NAT 模式,则为客户机的 IP 地址和端口。如果为完全 NAT 模式,则为经过 NAT 的客户机的 IP 地址和端口。

IP4

后端服务器的 IP 地址和端口。

show-persist|show-pt count

显示持久性表信息。如果指定了 count,则显示此表中的 count 个条目。如果未指定 count,则显示整个持久性表。

在连续运行此命令的过程中,不应对元素的相对位置做出任何假定。例如,执行两次 show-persist 10 不能保证两次显示的 10 个项相同,特别是在繁忙系统中。

显示格式:

R: IP1 --> IP2

这些项如下所述:

R

此持久性条目绑定到的规则。

IP1

客户机的 IP 地址和端口。

IP2

后端服务器的 IP 地址。

export-config|export-cf [filename]

以适用于使用 ilbadm import 重新导入的格式导出当前配置。如果未指定 filename,此子命令写入到标准输出。

import-config|import-cf [-p] [filename]

读取文件的配置内容。缺省情况下,这会覆盖所有现有配置。如果未指定 filename,此子命令从标准输入读取。此子命令具有以下选项:

-p

保留现有配置并执行增量导入。

create-servergroup|create-sg [-s server=hostspec[:portspec...]] groupname

创建服务器组。以后可以使用 add-server 子命令添加其他服务器。服务器组是可在规则创建期间使用的用于表示后端服务器的唯一实体。如果指定服务器组与一个或多个规则相关联,则会在添加此服务器时启用它。此子命令具有以下选项和操作数:

-s server=hostspec[:portspec...]

指定要添加到服务器组的服务器的列表。

hostspec 为主机名或 IP 地址。IPv6 地址必须括在方括号 ([]) 中,以便与 :portspec 区分开来。

portspec 为服务名称或端口号。如果未指定端口号,则使用范围 1–65535 中的数字。

disable-server|disable-srv server

禁用一台或多台服务器。也就是说,通知内核不要将通信转发到此服务器。disable-server 适用于包含此服务器的服务器组所附加的所有规则。

server 为服务器 ID。

enable-server|enable-srv server...

重新启用已禁用的服务器。

show-server|show-srv [[-p] -o field[,field...]] [rulename...]

显示与指定规则关联的服务器,或者如果未指定规则名称,则显示所有服务器。此子命令具有以下选项。

-o field[,field...]

仅显示指定字段。

-p

以可解析的格式显示字段。需要使用 -o 选项。

delete-servergroup|delete-sg groupname

删除服务器组。

show-servergroup|show-sg [[-p] -o field[,...]] [name]

列出某个服务器组,或者如果未指定 name,则列出所有服务器组。此子命令具有以下选项:

-o field[,...]

显示 field 的输出。

-p

以“说明”中介绍的格式显示可解析的输出。需要使用 -o 选项。

add-server|add-srv -s server=value[, value...] servergroup

servergroup 添加指定服务器。有关 value 的定义,请参见 create-servergroup 的说明。

-s

请参见 create-servergroup

在对服务器组执行 remove-server 之后立即对该服务器组执行 add-server 可能会失败,这是因为未完成连接清除。有关如何避免此故障的说明,请参见 remove-server 子命令的说明。

remove-server|remove-srv -s server=value[, value...] servergroup

servergroup 删除指定服务器。

-s

一个或多个服务器 ID。

如果 NAT/半 NAT 规则正在使用服务器,则建议在删除前禁用此服务器(使用 disable-server)。通过禁用服务器,服务器将进入连接清除状态。在清除所有连接后,可以使用 remove-server 删除服务器。如果设置了 conn-drain 超时值,在超时时段结束时,连接清除状态将结束。请注意,缺省 conn-drain 超时为 0,这表示将在正常关闭连接之前一直等待。

create-healthcheck|create-hc [-n] -h hc-test=value,hc-timeout=value, hc-count=num_value,hc-interval=value hcname

为要使用的规则设置运行状况检查对象。使用相同测试检查与规则关联的所有服务器。服务器的运行状况检查事件包括执行 1 至 hc-counthc-test。如果 hc-test 的结果显示服务器无响应,则会进一步执行 hc-test 检查,并最多进行 hc-count 次调用,然后才会将服务器视为已关闭。

-h

执行 hc-counthc-test,直到其成功或 hc-timeout 已过期为止。对于给定规则,使用相同测试检查所有服务器。测试如下所示:

hc-test

PINGTCP、外部方法(脚本或二进制)。应使用全路径名指定外部方法。

hc-timeout

hc-test 临时失败后将测试视为失败时的阈值。如果中止 hc-test 测试,则会将结果视为失败。缺省值为 5 秒。

hc-count

在将服务器标记为关闭之前尝试运行 hc-test 的最大次数。缺省值为重复 3 次。

hc-interval

两次调用 hc-test 之间的时间间隔。此值必须大于 hc-timeout 乘以 hc-count 的值。缺省值为 30 秒。

将下列参数传递给外部方法:

$1

VIP(IPv4 或 IPv6 文本地址)。

$2

服务器 IP(IPv4 或 IPv6 文本地址)。

$3

协议(作为字符串的 UDPTCP)。

$4

负载平衡模式 DSRNATHALF_NAT

$5

数字端口。

$6

方法在返回故障之前应等待的最长时间(以秒为单位)。如果此方法的运行时间长于此时间,则会中止此方法,并会将测试视为失败。

如果成功,外部方法应返回 0[或者向后端服务器返回往返时间(以微秒为单位)],如果服务器视为已关闭,则应返回 -1

在开始较高层的运行状况检查、TCP、UDP 和外部测试之前,必须首先执行缺省的 ping 测试。如果 ping 失败,则不会执行较高层的测试。通过使用 -n,您可以针对上述较高层的运行状况检查禁用缺省的 ping 检查。

-n

针对较高层的运行状况检查测试禁用缺省的 ping 测试。

delete-healthcheck|delete-hc hcname...

删除指定的运行状况检查对象 (hcname)。如果给定运行状况检查对象与启用的规则相关联,删除此对象将失败。

show-healthcheck|show-hc [hcname...]

列出指定的运行状况检查 (hcname) 的运行状况检查信息。如果未指定运行状况检查,则列出所有现有运行状况检查的信息。

show-hc-result|show-hc-res [rule-name]

列出与 rule-name 关联的服务器的运行状况检查结果。如果未指定 rule-name,则会显示所有服务器的运行状况检查结果。

示例

示例 1 配置 NAT 模式

下面的命令创建设置了运行状况检查和计时器的规则(端口范围移动和会话持久性)。

# ilbadm create-healthcheck -h hc-test=tcp,hc-timeout=2,hc-count=3, \
     hc-interval=10 hc1
# ilbadm create-servergroup -s \
     server=60.0.0.10:6000-6009,60.0.0.11:7000-7009 sg1
# ilbadm create-rule -e -i vip=81.0.0.10,port=5000-5009,protocol=tcp \
-m lbalg=rr,type=NAT,proxy-src=60.0.0.101-60.0.0.104, \
     pmask=24 \
-h hc-name=hc1 \
-t conn-drain=180,nat-timeout=180,persist-timeout=180 \
-o servergroup=sg1 rule1

下面的命令创建带有缺省计时器值而无运行状况检查的规则。

# ilbadm create-servergroup -s server=60.0.0.10 sg1
 # lbadm create-rule -e -i vip=81.0.0.10,port=5000 \
     -m lbalg=rr,type=NAT,proxy-src=60.0.0.105 \
     -o servergroup=sg1 rule1
# ilbadm add-server -e -s server=60.0.0.11sg1
# ilbadm enable-rule rule1

示例 2 配置半 NAT 模式

下面的命令配置半 NAT 模式,并使用端口范围折叠作为示例。

# ilbadm create-servergroup sg1
# ilbadm create-rule -e -i vip=81.0.0.10,port=5000-5009 \
     -m lbalg=rr,type=h -o servergroup=sg1 rule1
# ilbadm add-server -s server=60.0.0.10:6000,60.0.0.11:7000 sg1

示例 3 配置 DSR 模式并准备两组规则

下面的命令建立两组规则,以便在 HTTP 和 FTP 通信之间实现负载平衡。请注意两种类型的通信遍历接口 60.0.0.10

# ilbadm create-servergroup -s servers=60.0.0.9,60.0.0.10 websg
# ilbadm create-servergroup -s servers=60.0.0.10,60.0.0.11 ftpgroup

# ilbadm create-rule -e -i vip=81.0.0.10,port=80 \
     -m lbalg=hash-ip-port,type=DSR \
     -o servergroup=websg webrule
# ilbadm create-rule -e -i vip=81.0.0.10,port=ftp \
     -m lbalg=hash-ip-port,type=DSR,pmask=24 \
     -o servergroup=ftpgroup ftprule
# ilbadm create-rule -e -p -i vip=81.0.0.10,port=ftp-data \
     -m lbalg=hash-ip-port,type=DSR,pmask=24 \
     -o servergroup=ftpgroup ftpdatarule

示例 4 删除规则、服务器组和运行状况检查

下面的命令删除在第一个示例中建立的规则、服务器组和运行状况检查。

# ilbadm ilbadm delete-rule -a
# ilbadm delete-servergroup sg1
# ilbadm delete-healthcheck hc1

示例 5 显示规则列表。

下面的命令显示规则列表。

# ilbadm show-rule
RULENAME            STATUS LBALG      TYPE    PROTOCOL VIP  PORT
r2                  E     hash-ip     NAT     TCP 45.0.0.10 81
r1                  E     hash-ip     NAT     TCP 45.0.0.10 80

# ilbadm show-rule -f
       RULENAME: rule1
         STATUS: E
           PORT: 80
       PROTOCOL: TCP
          LBALG: roundrobin
           TYPE: HALF-NAT
      PROXY-SRC: --
        PERSIST: --
        HC-NAME: hc1
        HC-PORT: ANY
     CONN-DRAIN: 0
    NAT-TIMEOUT: 120
PERSIST-TIMEOUT: 60
    SERVERGROUP: sg1
            VIP: 80.0.0.2
        SERVERS: _sg1.0,_sg1.1

示例 6 导出和导入规则

下面的命令显示如何在标准输出和文件中导出和导入规则。

# ilbadm export-config

create-servergroup ftpgroup
add-server -s server=10.1.1.3:21 ftpgroup
add-server -s server=10.1.1.4:21 ftpgroup
create-servergroup webgroup_v6
add-server -s server=[2000::ff]:80 webgroup_v6
create-rule -e protocol=tcp,VIP=1.2.3.4,port=ftp \
        -m lbalg=roundrobin,type=DSR \
        -o servergroup=ftpgroup rule4
create-rule protocol=tcp,VIP=2003::1,port=ftp \
        -m lbalg=roundrobin,type=DSR \
        -o servergroup=ftpgroup6 rule3
create-rule -e protocol=tcp,VIP=2002::1,port=http \
        -m lbalg=roundrobin,type=DSR \
        -o serverrgroup=webgrp_v6 RULE-all

下面的命令将规则导出到文件。

# ilbadm export-config /tmp/ilbrules

执行此命令之后,/tmp/ilbrules 包含在上一命令中显示的输出。

下面的命令从文件导入规则。

# ilbadm import-config /tmp/ilbrules

此命令使用 /tmp/ilbrules 的内容替换了原有的任何规则。

下面的命令从标准输入导入规则。

# cat /tmp/ilbrules | ilbadm import-config

此命令的作用与上一命令的作用相同。

示例 7 创建一个运行状况检查

下面的命令创建一个运行状况检查。

# ilbadm create-healthcheck -h hc-timeout=3,hc-count=2,hc-interval=8,\
     hc-test=tcp hc1

示例 8 列出所有运行状况检查

下面的命令列出所有现有的运行状况检查。

# ilbadm show-healthcheck
HCNAME        TIMEOUT COUNT   INTERVAL DEF_PING TEST
hc1           2       1       10       Y        tcp
hc2           2       1       10       N        /usr/local/bin/probe

示例 9 删除一个运行状况检查

下面的命令删除一个运行状况检查。

# ilbadm delete-healthcheck hc1

示例 10 显示统计信息

下面的命令以 1 秒钟为时间间隔重复显示三次统计信息。

# ilbadm show-stats -A 1 3
 PKT_P   BYTES_P   PKT_U   BYTES_U   PKT_D   BYTES_D
0       0         0       0         4       196
0       0         0       0         4       196
0       0         0       0         4       196

下面的命令用于以 1 秒钟为时间间隔在详细模式下显示统计信息。输出太宽,无法包含在页界限中。

# ilbadm show-stats -v 1

下面的命令以 1 秒钟为时间间隔重复显示 3 次规则 r1 的统计信息。

# ilbadm show-stats -A -r r1 1 3
PKT_P   BYTES_P   PKT_U   BYTES_U   PKT_D   BYTES_D
0       0         0       0         4       196
0       0         0       0         4       196
0       0         0       0         4       196

下面的命令以 1 秒钟为时间间隔为每台服务器显示 3 次规则 r1 的统计信息。

# ilbadm show-stats -A -r r1 -i 1 3
SERVERNAME          PKT_P   BYTES_P
_sg1.0              0       0
_sg1.1              0       0
_sg1.2              0       0
_sg1.0              0       0
_sg1.1              0       0
_sg1.2              0       0
_sg1.0              0       0
_sg1.1              0       0
_sg1.2              0       0

下面的命令以 1 秒钟为时间间隔显示 3 次服务器 _sg1.0 逐条列出的统计信息和时间戳。

# ilbadm show-stats -A -s _sg1.0 -it 1 3
RULENAME            PKT_P   BYTES_P   TIME
r1                  0       0         2009-07-20:16.10.20
r1                  0       0         2009-07-20:16.10.21
r1                  0       0         2009-07-20:16.10.22

下面的命令以 1 秒钟为时间间隔显示 3 次统计信息和特定选项字段。

# ilbadm show-stats -o BYTES_D,TIME 1 3
BYTES_D   TIME
196       2009-07-20:16.14.25
0         2009-07-20:16.14.26
0         2009-07-20:16.14.27

示例 11 显示运行状况检查结果

下面的命令显示运行状况检查的结果。

# ilbadm show-hc-result rule1
RULENAME   HCNAME     SERVERID   STATUS   FAIL LAST     NEXT     RTT
rule1      hc1        _sg1.0     dead     6    04:45:17 04:45:30 698
rule1      hc1        _sg1.1     alive    0    04:45:11 04:45:25 260
rule1      hc1        _sg1.2     unreach  6    04:45:17 04:45:30 0

示例 12 显示 NAT 表

下面的命令显示 NAT 表。

# ilbadm show-nat 5
UDP: 124.106.235.150.53688>85.0.0.1.1024>>>82.0.0.39.4127>82.0.0.56.1024
UDP: 71.159.95.31.61528> 85.0.0.1.1024>>> 82.0.0.39.4146> 82.0.0.55.1024
UDP: 9.213.106.54.19787> 85.0.0.1.1024>>> 82.0.0.40.4114> 82.0.0.55.1024
UDP: 118.148.25.17.26676> 85.0.0.1.1024>>>82.0.0.40.4112> 82.0.0.56.1024
UDP: 69.219.132.153.56132>85.0.0.1.1024>>>82.0.0.39.4134> 82.0.0.55.1024

在实际 ilbadm 输出中,为了实现更好的可读性,使用空格进行分隔。

示例 13 显示持久性表

下面的命令显示持久性表。

# ilbadm show-persist 5
rule2: 124.106.235.150 --> 82.0.0.56
rule3: 71.159.95.31 --> 82.0.0.55
rule3: 9.213.106.54 --> 82.0.0.55
rule1: 118.148.25.17 --> 82.0.0.56
rule2: 69.219.132.153 --> 82.0.0.55

示例 14 显示服务器组

下面的命令显示有关服务器组的基本信息。

# ilbadm show-servergroup
sg1: id:sg1.2 35.0.0.4:80
sg1: id:sg1.1 35.0.0.3:80
sg1: id:sg1.0 35.0.0.2:80
sg2: id:sg2.3 35.0.0.5:81
sg2: id:sg2.2 35.0.0.4:81
sg2: id:sg2.1 35.0.0.3:81
sg2: id:sg2.0 35.0.0.2:81

下面的命令显示有关服务器组的所有可用信息。

# ilbadm show-servergroup -o all
sgname         serverID            minport maxport IP_address
sg1            _sg1.0              --      --      1.1.1.1
sg2            _sg2.1              --      --      1.1.1.6
sg3            _sg3.0              9001  9001      1.1.1.1
sg3            _sg3.1              9001  9001      1.1.1.2
sg3            _sg3.2              9001  9001      1.1.1.3
sg3            _sg3.3              9001  9001      1.1.1.4
sg3            _sg3.4              9001  9001      1.1.1.5
sg3            _sg3.5              9001  9001      1.1.1.6
sg3            _sg3.6              9001  9001      1.1.1.11
sg3            _sg3.7              9001  9001      1.1.1.12
sg3            _sg3.8              9001  9001      1.1.1.13
sg3            _sg3.9              9001  9001      1.1.1.14
sg3            _sg3.10             9001  9001      1.1.1.15
sg3            _sg3.11             9001  9001      1.1.1.16
sg4            _sg4.0              9001  9006      1.1.1.1
sg4            _sg4.1              9001  9006      1.1.1.6

示例 15 列出与规则关联的服务器

下面的命令列出规则关联的服务器。

# ilbadm show-server r1
SERVERID            ADDRESS         PORT RULENAME     STATUS SERVERGROUP
_sg1.0              35.0.0.10       80   rule1        E      sg1
_sg1.1              35.0.0.11       80   rule1        E      sg1
_sg1.2              35.0.0.12       80   rule1        D      sg1

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
service/network/load-balancer/ilb
接口稳定性
Committed(已确定)

另请参见

inetadm(1M)vmstat(1M)attributes(5)