Posted on 2009-08-10 01:06
Prayer 阅读(2711)
评论(0) 编辑 收藏 引用 所属分类:
系统、备份等
今天在值班的时候突然接到电话,说要更改F5的一个配置,结果登陆到F5的web界面上,突然觉得这些东西都超级陌生了,呵呵,技术这个东西看来确实是需要经常的练习的啊,虽然没有要求我们专业的维护,但是对于一个运维人员来说,基本的操作应该要会的吧,找到一篇简单的基于ssh的说明,温故一下。
F5负载均衡器简明配置手册
负载均衡器通常称为四层交换机或七层交换机。四层交换机主要分析IP层及TCP/UDP层,实现四层流量负载均衡。七层交换机除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息。
一、F5配置步骤:
1、F5组网规划
(1)组网拓朴图(具体到网络设备物理端口的分配和连接,服务器网卡的分配与连接)
(2)IP地址的分配(具体到网络设备和服务器网卡的IP地址的分配)
(3)F5上业务的VIP、成员池、节点、负载均衡算法、策略保持方法的确定
2、F5配置前的准备工作
(1)版本检查
f5-portal-1:~# b version
Kernel:
BIG-IP Kernel 4.5PTF-07 Build18
(2)时间检查--如不正确,请到单用户模式下进行修改
f5-portal-1:~# date
Thu May 20 15:05:10 CST 2004
(3)申请license--现场用的F5都需要自己到F5网站上申请license
3、F5 的通用配置
(1)在安全要求允许的情况下,在setup菜单中可以打开telnet及ftp功能,便于以后方便维护
(2)配置vlan unique_mac选项,此选项是保证F5上不同的vlan 的MAC地址不一样。在缺省情况下,F5的各个vlan的MAC地址是一样的,建议在配置时,把此项统一选择上。可用命令ifconfig –a来较验
具体是system/Advanced Properties/vlan unique_mac
(3)配置snat any_ip选项选项,此选项为了保证内网的机器做了snat后,可以对ping的数据流作转换。Ping是第三层的数据包,缺省情况下F5是不对ping的数据包作转换,也就是internal vlan的主机无法ping external vlan的机器。(注意:还可以采用telnet来验证。)
具体是system/Advanced Properties/snat any_ip
4、F5 的初始化配置
建议在对F5进行初始时都用命令行方式来进行初始化(用Web页面初始化的方式有时会有问题)。登录到命令行上,运行config或setup命令可以进行初始化配置。初次运行时会提示一些license的信息。
default:~# config
5、F5双机切换监控配置(有F5双机时需要)
(1)在web页面中选择相应的vlan,在arm failsafe选择则可。Timeout为从F5收不到包的时间起,经过多长时间就发生切换。此配置不能同步,需要在F5的主备机上同时配置。每个vlan都可以配置vlan arm failsafe。
具体在Network下
(2)在web页面中选择system,在redundant properties中把gateway failsafe选择则可。Router是需要监控的地址。此配置不能同步,需要在F5的主备机上同时配置。一套F5上只能配置一个gateway failsafe
具体在system/redundant properties/gateway failsafe
6、F5 MAC masquerade配置
Mac Masquerading是F5的Shared IP Address (Floating)的MAC地址,F5如果不配置此项,则shared IP Address的MAC地址与每台F5的vlan self IP Address的MAC地址是一样的。
一般服务器是以shared IP Address为网关,在两台F5上都配置了Mac Masquerade(相同的MAC地址),这样当F5发生切换后,服务器上shared IP address的MAC不变,保证了业务的不中断
具体在Network下
7、F5的pool配置
(1)在配置工具Web页面的导航面板中选择“Pools”中的“Pools”标签,点击“ADD”按钮添加服务器池(Pool)。
(2)在池属性(Pool Properties)中的“Load Balancing Method”表格中选择负载均衡策略,通常采用默认策略:“Round Robin”
(3)在“Resouces”表格中的“Member Address”文本框输入成员IP地址,在“Service”文本框中输入服务端口,点击“>>”添加到“Current Members”当前成员列表中。
(4)添加所有组成员,点击“Done”完成配置。
(5)在“Pools”中的“Pool Name”列选中特定池,然后池属性页面中选择“Persistence”标签。
(6)在“Persistence Type”表格中选定会话保持类型。点击“Apply”应用配置。
8、F5的virtual server配置
(1)在配置工具Web页面的导航面板中选择“Virtual Servers”中的“Virtual Servers”标签,点击“ADD”按钮添加虚拟服务器。
(2)在“Add Virtual Server”窗口的“Address”文本框中输入虚拟服务器IP地址,并在“Service”文本框中输入服务端口号或在下拉框中选择现有的服务名称,点击“Next”执行下一步。
(3)在“Add Virtual Server”窗口的“Configure Basic Properties”页面中点击“Next”执行下一步。 在“Add Virtual Server”窗口的“Select Physical Resources”页面中点击单选按钮“Pool”,并在下拉框中选择虚拟服务器对应的负载均衡池。
(4)按“Done”完成创建虚拟服务器。
9、F5的monitor的配置
(1)在配置工具Web页面的导航面板中选择“Monitor”中的“Monitors”标签,点击“ADD”按钮添加监控
(2)根据需要选择相关关联类型:“Node Associations”标签、Node Address Associations”标签、Service Associations”标签。
(3)被选关联标签中,在“Choose Monitor”表格中选择监控名称,点击“>>”按钮添加到“Monitor Rule”监控规格文本框中。监控规则可以为一条或多条。
(4)选择监控规则后,在对应节点的“Associate Current Monitor Rule”复选框中选中。如果欲删除监控关联,则选中对应节点的“Delete Existing Assocation”复选框。
(5)点击“Apply”关联监控
10、F5的SNAT配置
(1)在配置工具Web页面的导航面板中选择“NATs”中的“SNATs”标签,点击“ADD”按钮添加SNAT地址。
(2)在“Add SNAT”窗口中“Translation Address”的“IP”文本框中输入SNAT IP地址,并在“Origin List”的“Origin Address”文本框中输入节点IP地址或在“Origin VLAN”下拉框中选择VLAN名称,点击“>>”加入“Current List”列表。
(3)按“Done”完成添加SNAT IP地址。
11、F5主备机同步及切换校验
具体在system/Redundant Properties/synchonize Config...
12、业务的校验
F5主备机切换的校验
F5主备机业务运行的校验
其中1~6是基本配置,7~10业务配置,11~12校验
二、F5负载均衡器的维护
1、F5节点及应用的检查
通过“System -> Network Map”页面查看节点及应用状态
绿色:节点或虚拟服务器为“UP”
红色:节点或虚拟服务器状态为“Down”
灰色:节点或虚拟服务器被禁用
2、日志的检查
(1)当天日志:从web上查看logs中的system log、bigip log、monitor log,看日志中是否有异常。
(2)7天内的日志
系统日志文件 - /var/log/messages消息, 系统消息
BIG-IP 日志文件 - /var/log/bigip
“External” BIG-IP events
Monitor 日志文件 - /var/log/bigd
“Internal” BIG-IP Events
3DNS 日志文件 - /var/log/3dns
3DNS Information
用gzcat、more、vi命令打开
3、F5流量的检查
(1)业务上的基本维护主要是在F5上查看F5分发到各节点的connect是否负载均衡,一般不应有数量级的差别
(2)通过WEB->pool-> pool statistics中查看connection项中的total和current项,不应有明显的数量级的差别
(3)F5 qkview命令
执行qkview,执行完成后将输出信息保存在文件“/var/tmp/-tech.out”中,供高级技术支持用
(4)F5 tcpdump命令
TCPDUMP是Unix系统常用的报文分析工具,TCPDUMP经常用于故障定位,如会话保持失效、SNAT通信问题等
tcpdump [ -adeflnNOpqRStvxX ] [ -c count ] [ -F file ]
[ -i interface ] [ -m module ] [ -r file ]
[ -s snaplen ] [ -T type ] [ -w file ]
[ -E algo:secret ] [ expression ]