设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 5818|回复: 7

[Heartbeat] LVS+Heartbeat V1实战文档 [复制链接]

Rank: 7Rank: 7Rank: 7

签到
3
注册时间
2008-8-16
最后登录
2017-9-11
在线时间
199 小时
阅读权限
100
积分
670
帖子
83
主题
26
精华
2
UID
209

LT粉丝

发表于 2009-3-4 18:06:23 |显示全部楼层
物理机:Dell 2950
环境:
VIP 192.168.0.210
DS 192.168.0.211(master) 192.168.0.212(backup)
RS 192.168.0.215 192.168.0.216

操作系统:
vmware ESXi
CentOS 4.6 x86_64

需要软件
libnet-1.1.2.1.tar.gz
ipvsadm-1.24.tar.gz
heartbeat-2.0.2.tar.gz

DS 配置:

  1. tar xzvf libnet-1.1.2.1.tar.gz
  2. cd libnet
  3. ./configure
  4. make && make install

  5. tar xzvf ipvsadm-1.24.tar.gz
  6. cd ipvsadm-1.24
  7. ln -s /usr/src/kernels/2.6.9-67.EL-largesmp-x86_64/ /usr/src/linux
  8. make && make install

  9. groupadd -g 694 haclient
  10. useradd -g haclient -d /dev/null -s /sbin/nologin -u 694 hacluster
  11. tar xzvf heartbeat-2.0.2.tar.gz
  12. cd heartbeat-2.0.2
  13. ./ConfigureMe configure
  14. make && make install
  15. cp doc/{authkeys,ha.cf,haresources} /etc/ha.d/
  16. cp ldirectord/ldirectord.cf /etc/ha.d/
  17. ln -s /usr/sbin/ldirectord /etc/ha.d/resource.d/
  18. chmod 600 /etc/ha.d/authkeys
  19. chkconfig --add heartbeat
  20. chkconfig heartbeat on
复制代码
编辑配置文件:

  1. vim /etc/ha.d/ha.cf
  2. logfile /var/log/ha-log
  3. logfacility     local0
  4. keepalive 2
  5. deadtime 30
  6. warntime 10
  7. initdead 120
  8. udpport 694
  9. ucast eth0 192.168.0.212 #配置另一方IP
  10. auto_failback off
  11. node    node1
  12. node    node2
  13. ping_group group1 192.168.0.211 192.168.0.212
  14. respawn hacluster /usr/lib64/heartbeat/ipfail
  15. apiauth ipfail gid=haclient uid=hacluster
  16. deadping 30
复制代码

  1. vim /etc/ha.d/ldirectord.cf
  2. checktimeout=3
  3. checkinterval=1
  4. autoreload=yes
  5. logfile="/var/log/ldirectord.log"
  6. logfile="local0"
  7. quiescent=no
  8. virtual=192.168.0.210:80
  9.         real=192.168.0.215:80 gate 2
  10.         real=192.168.0.216:80 gate 2
  11.         service=http
  12.     virtualhost=www.linux.com
  13.         scheduler=wrr
  14.         #persistent=600
  15.         #netmask=255.255.255.255
  16.         protocol=tcp
复制代码

  1. vim /etc/ha.d/haresources
  2. node1 \
  3. LVSSyncDaemonSwap::master \
  4.         IPaddr2::192.168.0.210/24/eth0/192.168.0.255 \
  5.         ldirectord::ldirectord.cf
复制代码

  1. vim /etc/ha.d/authkeys
  2. auth 3
  3. 3 md5 Hello!
复制代码
Real Server 配置:

  1. tar xzvf arptables-v0.0.3-3.tar.gz
  2. cd arptables-v.0.0.3-3
  3. make && make install
复制代码

  1. #!/bin/bash
  2. # chkconfig: 2345 90 10
  3. # description: Preparing for Load Balancer and Real Server switching

  4. VIP=192.168.0.210
  5. LOCAL_IP=192.168.0.215
  6. BROADCAST=192.168.0.255  #vip's broadcast


  7. . /etc/rc.d/init.d/functions

  8. case "$1" in
  9.     start)
  10.      echo "reparing for Real Server"
  11.        echo "1" > /proc/sys/net/ipv4/tcp_syncookies
  12.        echo "0" > /proc/sys/net/ipv4/tcp_ecn
  13.        echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
  14.        echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
  15.        echo "1" > /proc/sys/net/ipv4/tcp_synack_retries
  16.        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  17.        echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  18.        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  19.        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  20.         echo "0" > /proc/sys/net/ipv4/ip_forward
  21.         ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $BROADCAST up
  22.         /sbin/route add -host $VIP dev lo:0
  23.         /usr/local/sbin/arptables -F
  24.         /usr/local/sbin/arptables -A INPUT -j DROP -d ${VIP}
  25.         /usr/local/sbin/arptables -A OUTPUT -j mangle -o eth0 -s ${VIP} --mangle-ip-s ${LOCAL_IP}
  26.         ;;
  27.     stop)
  28.         echo "reparing for Load Balancer"
  29.         echo "1" > /proc/sys/net/ipv4/ip_forward
  30.         ifconfig lo:0 down
  31.         /usr/local/sbin/arptables -F
  32.         ;;
  33.     *)
  34.         echo "Usage: lvs {start|stop}"
  35.         exit 1
  36. esac
复制代码
搞定
已有 1 人评分积分 收起 理由
linuxtone + 18 谢谢分享

总评分: 积分 + 18   查看全部评分

以笑的方式哭,在死亡的伴随下活着

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

注册时间
2008-5-19
最后登录
2019-11-16
在线时间
1946 小时
阅读权限
200
积分
59409
帖子
2551
主题
1209
精华
25
UID
1

LT总司令

发表于 2009-3-4 21:28:37 |显示全部楼层
好文章,感谢欣哥!路过的朋友帮忙顶一下,最好能实战一下写写体会:)
<-sina_sign,1762622645,2a5b1a59,10->感谢大家对linuxtone的支持!</strong>

使用道具 举报

Rank: 7Rank: 7Rank: 7

注册时间
2008-8-16
最后登录
2017-9-11
在线时间
199 小时
阅读权限
100
积分
670
帖子
83
主题
26
精华
2
UID
209

LT粉丝

发表于 2009-3-5 11:54:20 |显示全部楼层
本帖最后由 edison7500 于 2009-3-5 11:55 编辑

apache configuration for real server

real server
分区:
/boot 100M
swap  1GX4
/        5G
/logs   20G
/opt    20G
/data   40G
/temp  2G
  1. ./configure --prefix=/opt/app/apache2 \
  2. "--with-included-apr" \
  3. "--enable-so" \
  4. "--with-mpm=worker" \
  5. "--with-z=/opt/app/zlib/" \
  6. "--enable-mods-shared=all" \
  7. "--enable-deflate=shared" \
  8. "--enable-expires=shared" \
  9. "--enable-rewrite" \
  10. "--disable-userdir"
复制代码
  1. cat > /opt/app/apache2/conf/httpd.conf
  2. ServerRoot "/opt/app/apache2"
  3. Listen 80
  4. LoadModule authz_host_module modules/mod_authz_host.so
  5. LoadModule include_module modules/mod_include.so
  6. LoadModule deflate_module modules/mod_deflate.so
  7. LoadModule log_config_module modules/mod_log_config.so
  8. LoadModule expires_module modules/mod_expires.so
  9. LoadModule headers_module modules/mod_headers.so
  10. LoadModule setenvif_module modules/mod_setenvif.so
  11. LoadModule mime_module modules/mod_mime.so
  12. LoadModule dir_module modules/mod_dir.so
  13. LoadModule rewrite_module modules/mod_rewrite.so
  14. LoadModule php5_module        modules/libphp5.so
  15. <IfModule !mpm_netware_module>
  16. <IfModule !mpm_winnt_module>
  17. User nobody
  18. Group nobody
  19. </IfModule>
  20. </IfModule>
  21. ServerAdmin edison7500@gmail.com
  22. ServerName 127.0.0.1
  23. DocumentRoot "/opt/app/apache2/htdocs"
  24. <Directory />
  25.     Options FollowSymLinks
  26.     AllowOverride None
  27.     Order deny,allow
  28.     Deny from all
  29. </Directory>
  30. <Directory "/opt/app/apache2/htdocs">
  31.     Options FollowSymLinks
  32.     AllowOverride None
  33.     Order allow,deny
  34.     Allow from all
  35. </Directory>
  36. <IfModule dir_module>
  37.     DirectoryIndex index.html index.php index.htm
  38. </IfModule>
  39. <FilesMatch "^\.ht">
  40.     Order allow,deny
  41.     Deny from all
  42.     Satisfy All
  43. </FilesMatch>
  44. ErrorLog "/dev/null"
  45. LogLevel warn
  46. <IfModule log_config_module>
  47.     LogFormat "%{X-Forwarded-For}i %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
  48.     LogFormat "%h %l %u %t \"%r\" %>s %b" common
  49.     <IfModule logio_module>
  50.       LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
  51.     </IfModule>
  52.     CustomLog "/dev/null" common
  53. </IfModule>
  54. <IfModule alias_module>
  55.     ScriptAlias /cgi-bin/ "/opt/app/apache2/cgi-bin/"
  56. </IfModule>
  57. <IfModule cgid_module>
  58. </IfModule>
  59. <Directory "/opt/app/apache2/cgi-bin">
  60.     AllowOverride None
  61.     Options None
  62.     Order allow,deny
  63.     Allow from all
  64. </Directory>
  65. DefaultType text/plain
  66. <IfModule mime_module>
  67.     TypesConfig conf/mime.types
  68.     AddType application/x-compress .Z
  69.     AddType application/x-gzip .gz .tgz
  70.     AddType application/x-httpd-php .php
  71.     AddOutputFilterByType DEFLATE text/html text/plain text/xml
  72. </IfModule>
  73. <IfModule ssl_module>
  74. SSLRandomSeed startup builtin
  75. SSLRandomSeed connect builtin
  76. </IfModule>
  77. Include conf/extra/httpd-mod_expries
  78. Include conf/extra/httpd-mpm.conf
  79. Include conf/extra/httpd-vhosts.conf
  80. Include conf/extra/httpd-default.conf
复制代码
  1. cat > extra/httpd-mod_expries
  2. <IfModule mod_expires.c>
  3.     ExpiresActive on
  4.     ExpiresByType image/gif A2592000
  5.     ExpiresByType image/jpeg A2592000
  6.     ExpiresByType image/png A2592000
  7.     ExpiresByType image/ico A2592000
  8.     ExpiresBytype text/js A2592000
  9.     ExpiresBytype text/css A2592000
  10. </IfModule>
复制代码
  1. cat > conf/extra/httpd-mpm.conf
  2. <IfModule !mpm_netware_module>
  3.     PidFile "logs/httpd.pid"
  4. </IfModule>
  5. <IfModule !mpm_winnt_module>
  6. <IfModule !mpm_netware_module>
  7. LockFile "logs/accept.lock"
  8. </IfModule>
  9. </IfModule>
  10. <IfModule mpm_worker_module>
  11.     StartServers             20
  12.     ServerLimit              64
  13.     ThreadLimit             256
  14.     MaxClients             3712
  15.     MinSpareThreads        1500
  16.     MaxSpareThreads        1800
  17.     ThreadsPerChild         128
  18.     MaxRequestsPerChild   10000
  19. </IfModule>
复制代码
  1. cat > conf/extra/httpd-vhosts.conf
  2. NameVirtualHost *:80
  3. <VirtualHost *:80>
  4.   <IfModule mod_deflate.c>
  5.     <Location />
  6.      SetOutputFilter DEFLATE
  7.      BrowserMatch ^Mozilla/4 gzip-only-text/html
  8.      BrowserMatch ^Mozilla/4\.0[678] no-gzip
  9.      BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  10.      SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
  11.      Header append Vary User-Agent env=!dont-vary
  12.      </Location>
  13.      DeflateFilterNote Input instream
  14.      DeflateFilterNote Output outstream
  15.      DeflateFilterNote Ratio ratio
  16.     </IfModule>
  17.     DocumentRoot /data/www/
  18.     <Directory "/data/www/">
  19.      Options IncludesNOEXEC FollowSymLinks
  20.      AllowOverride None
  21.      Order allow,deny
  22.      Allow from all
  23.     </Directory>
  24.     DirectoryIndex index.html index.php index.htm
  25.     ServerName www.linux.org
  26.     CustomLog "|/opt/app/cronolog/sbin/cronolog /logs/apache2/www.linux.com-access_log.%Y%m%d" combined
  27. </VirtualHost>
复制代码
  1. cat > conf/extra/httpd-default.conf
  2. Timeout 15
  3. KeepAlive On
  4. MaxKeepAliveRequests 100
  5. KeepAliveTimeout 10
  6. UseCanonicalName Off
  7. AccessFileName .htaccess
  8. ServerTokens Prod
  9. ServerSignature Off
  10. HostnameLookups Off
复制代码
以笑的方式哭,在死亡的伴随下活着

使用道具 举报

Rank: 1

注册时间
2009-2-16
最后登录
2009-7-21
在线时间
2 小时
阅读权限
1
积分
3
帖子
5
主题
0
精华
0
UID
1441
发表于 2009-7-17 21:04:11 |显示全部楼层
很棒!
1、此方式是通过直接路由实现,请问real server机器可以连通外网吗,网关如何设置?
2、vim /etc/ha.d/haresources中
LVSSyncDaemonSwap::master 和  ldirectord::ldirectord.cf,能讲下作用吗?
3、/usr/local/sbin/arptables -A INPUT -j DROP -d ${VIP}
/usr/local/sbin/arptables -A OUTPUT -j mangle -o eth0 -s ${VIP} --mangle-ip-s ${LOCAL_IP}
这两句呢?
谢谢!

使用道具 举报

Rank: 9Rank: 9Rank: 9

注册时间
2008-8-26
最后登录
2011-9-23
在线时间
207 小时
阅读权限
200
积分
583
帖子
165
主题
31
精华
2
UID
227

LT粉丝

发表于 2009-7-19 23:14:25 |显示全部楼层
学习了,谢谢分享

使用道具 举报

Rank: 3Rank: 3

注册时间
2009-2-19
最后登录
2018-4-13
在线时间
10 小时
阅读权限
30
积分
289
帖子
13
主题
1
精华
0
UID
1516
发表于 2009-8-7 15:18:36 |显示全部楼层
太强悍了...
收藏学习..

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-5-3
最后登录
2018-4-3
在线时间
179 小时
阅读权限
90
积分
23558
帖子
211
主题
1
精华
0
UID
2827
发表于 2009-12-10 13:13:08 |显示全部楼层
哈哈,这种好东东是一定要顶的。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-2-19 17:34 , Processed in 0.027984 second(s), 15 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部