Ceph RGW 的 OSPF负载均衡 + quagga的配置
随着开源技术的发展,以及商业设备价格的不断攀升。大公司总是希望能使用开源的方案来替换过去使用的商业设备。比如之前大家用的很多的F5和A10,现在已经在逐步被LVS替换。传统的单个lvs的性能是比不上商业设备的,而且稳定性等也相对会差些。告诉大家很多大公司都在用这些技术的。
基本思路就是把多个LVS组成一个OSPF集群,这样可以使得LVS集群的性能可以远远超过单个传统的商业设备(当然,对于F5等等其实也可以做这样的集群做水平化的扩展)

原来就是把服务器也模拟成ospf中的一份子,是他可以在实现ospf的负载均衡,以及高可用性。
在这里网络层的东西就不写了,往简单配置,没意思。往难里配置我也不懂,上线服务器的时候,这些东西都是网络组的负责,我只是负责服务器上的ospf的介入和业务方面的。
我这里只是简单的说下ospf的框架

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
ECMP(Equal-CostMultipathRouting)等价多路径,存在多条不同链路到达同一目的地址的网络环境中,如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间,而等值多路径路由协议可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
特点:
4层负载均衡,效率高
配置简单,只需安装基于linux的路由软件quagga
无法进行监控检查,服务异常无法处理
无session保持等,功能过于简单
贴上一个操作的例子:
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(InteriorGateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。
ECMP(Equal-CostMultipathRouting)等价多路径,存在多条不同链路到达同一目的地址的网络环境中,如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间,而等值多路径路由协议可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
特点:
1.4层负载均衡,效率高
2.配置简单,只需安装基于linux的路由软件quagga
3.无法进行监控检查,服务异常无法处理
4. 无session保持等,功能过于简单
路由器上的ospf的操作 ,这只是简单的配置,大家可以按照自己的想法和网络组的同学们扯淡提需求就行了。
配置命令:
R0配置:
Router>en
Router#config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname r0
r0(config)#
r0(config)#int e1/0
r0(config-if)#ip address 192.168.2.222 255.255.255.0
r0(config-if)#no shutdown
r0(config)#int e1/1
r0(config-if)#ip address 192.168.0.111 255.255.255.0
r0(config-if)#no shutdown
r0(config-if)#exit
r0(config)#router ospf 100
r0(config-router)#net
r0(config-router)#network 192.168.0.0 0.0.0.255 area 0
r0(config-router)#network 192.168.2.0 0.0.0.255 area 0
r0(config-router)#exit
r0(config)#int e1/1
r0(config-if)#ip ospf cost 2
r0(config-if)#int e1/0
r0(config-if)#ip ospf cost 2
r0(config-if)#end
r0#ping 192.168.0.14
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.14, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 64/93/1
==========================================================================
cisco默认的是hello时间是10s,死亡时间是hello时间的4倍,默认为40s,当然这个时间是可以修改的。在接口模式下面,通过命令:ip ospf hello-interval <time>来修改hello时间。ip ospf dead-interval <time>来修改死亡时间。
服务器端的配置
其实就是安装一个软路由,让他进到ospf的圈子里面。
先说下qugga的基本安装配置
1. 下载源码
quagga-0.99.10.tar.gz
2. 解压缩
tar xzvf quagga-0.99.10.tar.gz
3. 配置
cd quagga-0.99.10
./configure --prefix =/usr
--sysconfdir=/etc/quagga
--localstatedir=/var/run/quagga
--enable-vtysh
--enable-user='test'
--enable-group='test'
--enable-vty-group='test'
配置输出:
Quagga configuration
--------------------
quagga version : 0.99.10
host operationg system : linux-gnu
source code location : .
compiler : gcc
compiler flags : -Os -fno-omit-frame-pointer -g -std=gnu99 -Wall -Wsign-compare -Wpointer-arith -Wbad-function-cast -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wcast-qual
make : make
includes :
linker flags : -lcrypt -lcap -ltermcap -lreadline -lm
state file directory : /var/run/quagga
config file directory : /etc/quagga
example directory : /etc/quagga
user to run as : test
group to run as : test
group for vty sockets : test
config file mask : 0600
log file mask : 0600
The above user and group must have read/write access
to the state file directory and
to the config files in the config file directory.
quagga :
1. sudo apt-get install quagga安装quagga
2. sudovim.tiny /etc/quagga/daemons将ospfd=no改成ospfd=yes
3. sudo touch/etc/quagga/ospfd.conf创建ospf配置文件
4. echo “password PASSWORD”>ospfd.conf,添加虚拟路由器登录密码,一定要设
5. chownquagga.quaggavty /etc/quagga/*.conf
chmod 640 /etc/quagga/*.conf
修改所有者与权限,否则配置无法保存
6. sudo/etc/init.d/quagga restart
7. telnet localhost 2604输入刚才设置的密码
enable进入特权模式,再configter进入配置模式开始对路由器进行配置,具体如下:
password cloud2.0
!
interface eth0
ipospf priority 0\\优先级为0,不参与DR选举
!
interface eth1
!
interface lo
!
interfaceovs-system
!
routerospf
ospf router-id 192.168.123.3\\指定router-id
auto-cost reference-bandwidth 100000
network 183.2.198.128/32 area 0.0.0.30 \\宣告网段
network 192.168.123.0/24 area 0.0.0.30\\宣告网段
!
linevty
!
end
注意:
(1)所有运行OSPF协议的路由器router-id一定要唯一,如果不手动指定则会从路由器所有IP中自动选举router-id。之前出现两个自动选举的router-id相同的现象,导致OSPF邻居关系不正常
(2)reference-bandwidth 100000,所有运行OSPF协议的路由器的参考带宽要一致
8. 配置完成后end退出到特权模式,用show ipospfnei与show ipospf route检查邻近关系和路由条目
9. write保存配置
Ceph RGW 的 OSPF负载均衡 + quagga的配置的更多相关文章
- Nginx 反向代理 负载均衡 虚拟主机配置
Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代理服务器的作用,区分正向代理和反向代理的区别,搭建使用Nginx反向搭理和负载均衡,了解Nginx常 ...
- Nginx记录-nginx 负载均衡5种配置方式(转载)
nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成 ...
- nginx 负载均衡5种配置方式
nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight和访问比率成正比, ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...
- nginx负载均衡之入门配置
先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上 ...
- 服务器配置,负载均衡时需配置MachineKey
服务器配置,负载均衡时需配置MachineKey https://blog.csdn.net/liuqiao0327/article/details/54018922 Asp.Net应用程序中为什么要 ...
- Nginx负载均衡的详细配置及使用案例详解.
感谢看过这一些列博文和评论的小伙伴, 我把自己所看到的学到的拿到这里来分享是想和大家一起学习进步, 想听听园友给出的意见, 也是对自己学习过程的一个总结. 技术无止境, 我们仍需努力! 1,话不多说, ...
- Apache+tomcat+mod_jk+centos6.2负载均衡集群配置--转载
转载地址:http://blog.163.com/chenhui_java/blog/static/17267249420128101191860/ 注: 由于长期受转载毒害,所以本人日志均是原创:其 ...
- nginx 负载均衡-- 常用nginx配置
中文官方网站http://wiki.nginx.org/Chshttp://www.howtocn.org/ --------------------------------------------- ...
随机推荐
- GitHub for Windows提交失败“failed to sync this branch”
今天github for windows同步推送远端github出问题了,提交到本地没问题,远端一直推送不上去,挺棘手的,试了几个网上的方法不管用.问题如下,报这个错: failed to sync ...
- MySQL 使用XtraBackup的shell脚本介绍
mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加 ...
- ORACLE查看补丁出现“OPatch failed with error code 1”
案例场景: 在Oracle Linux Server release 5.7上安装完ORACLE 10g后,顺便将PSR(Patch Set Release)p681018 ...
- fdisk添加分区引起的Linux Error: 22: Invalid argument
在Linux服务器(虚拟机)上使用fdisk添加分区.格式化分区后,遇到了Linux Error: 22: Invalid argument错误,操作步骤如下所示 [root@oracle-serve ...
- SQL SERVER 临时表导致存储过程重编译(recompile)的一些探讨
SQLSERVER为了确保返回正确的值,或者处于性能上的顾虑,有意不重用缓存在内存里的执行计划,而重新编译执行计划的这种行为,被称为重编译(recompile).那么引发存储过程重编译的条件有哪一些呢 ...
- SQL SERVER 重组含有特殊字符的索引时遇到“关键字 'with' 附近有语法错误.”
案例描述 这是在索引重组过程中遇到的有意思的错误案例,搜索了一下也没有看到相关资料,估计我第一个碰到这类错误的人(It's just a joke).具体情况是YourSQLDba在做维护数据库索引时 ...
- WebLogic: console 启动慢解决办法
找到WebLogic使用的JDK目录. 修改java_home/jre/lib/security/java.security文件: 将seucrerandom.source=file:/dev/ura ...
- java实现REST方式的webService
一. 简介 WebService有两种方式,一是SOAP方式,二是REST方式.SOAP是基于XML的交互,WSDL也是一个XML文档, 可以使用WSDL作为SOAP的描述文件:REST是基于HTTP ...
- 实战:rsync+inotify实现数据实时同步
Linux 内核从 2.6.13 版本开始提供了 inotify 通知接口,用来监控文件系统的各种变化情况,如文件存取.删除.移动等.利用这一机制,可以非常方便地实现文件异动告警.增量备份,并针对目录 ...
- HttpUrlConnection 的 setDoOutput 与 setDoInput
1 前言 在使用java中的HttpUrlConnection请求一个http网络地址时,我们有时候需要用到此类中的setDoOutput和setDoInput这两个方法,以前学习java的时候,根本 ...