Costeijn
24/05/07, 16:34
Hallo allemaal.
Ik probeer onder vmware een loadbalacing cluster te maken maar ik loop tegen wat probleempjes aan. Ik gebruik LVS met een NAT LB methode. Hieronder een schematisch overzicht van het netwerk.
http://www.pcextreme.nl/img/loadbalancing.png
Ik zal even uitleggen wat ik precies heb gedaan:
Als eerste heb ik mijn Loadbalancer geïnstalleerd met Ubuntu 6.06 amd64. Daarna mijn webservers tevens ook met Ubuntu 6.06 amd64. De /home van de webservers heb ik gemount vanaf mijn NAS. Zou kan elke webserver erbij.
Ik heb de ip_vs modules geladen en toegevoegd aan /etc/modules:
echo ip_vs_dh >> /etc/modules
echo ip_vs_ftp >> /etc/modules
echo ip_vs >> /etc/modules
echo ip_vs_lblc >> /etc/modules
echo ip_vs_lblcr >> /etc/modules
echo ip_vs_lc >> /etc/modules
echo ip_vs_nq >> /etc/modules
echo ip_vs_rr >> /etc/modules
echo ip_vs_sed >> /etc/modules
echo ip_vs_sh >> /etc/modules
echo ip_vs_wlc >> /etc/modules
echo ip_vs_wrr >> /etc/modules
Daarna met modprobe de modules geladen.
Daarna heb ik via apt-get ipvsadm binnen gehaald. Dit allemaal zonder errors.
In de sysctl.conf heb ik net.ipv4.ip_forward = 1 aangezet en met sysctl -p gecontrolleerd en werkt.Ik heb op de Loadbalancer de interfaces gebruikt:
eth0:
address:10.87.4.1
netmask:255.255.0.0
network: 10.87.0.0
broadcast: 10.87.255.255
gateway: 10.87.3.1 // ip van me router
eth0:1 (Virtual IP)
address:10.87.10.1
netmask:255.255.255.255
network: 10.87.0.0
broadcast: 10.87.255.255
gateway: 10.87.3.1 // ip van me router
de webservers hebben 10.87.5.1 en 10.87.5.2 met de gateway van 10.87.4.1 (LB) de fileserver is 10.87.6.1
Met ipvsadm -L -n krijg ik deze output:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.87.10.1:80 rr
-> 10.87.5.2:80 Masq 1 0 0
-> 10.87.5.1:80 Masq 1 0 0
via tcpdump -n -i eth0 port 80 op web01 als ik naar 10.87.10.1(Virtual IP) verbind met me browser(10.87.1.3)
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:1, link-type EN10MB (Ethernet), capture size 96 bytes
10:22:03.367640 IP 10.87.1.3.1571 > 72.14.217.91.80: S 3548062792:3548062792(0) win 65535 <mss 1460,nop,nop,sackOK>
10:22:03.412934 IP 72.14.217.91.80 > 10.87.1.3.1571: S 1702673852:1702673852(0) ack 3548062793 win 8190 <mss 1460>
10:22:03.412934 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 1 win 65535
10:22:03.415516 IP 10.87.1.3.1571 > 72.14.217.91.80: P 1:679(678) ack 1 win 65535
10:22:03.476247 IP 72.14.217.91.80 > 10.87.1.3.1571: . ack 679 win 7060
10:22:03.480660 IP 72.14.217.91.80 > 10.87.1.3.1571: P 1:1232(1231) ack 679 win 7060
10:22:03.489603 IP 72.14.217.91.80 > 10.87.1.3.1571: . 1232:2662(1430) ack 679 win 7060
10:22:03.489609 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 2662 win 65535
10:22:03.490120 IP 72.14.217.91.80 > 10.87.1.3.1571: . 2662:4092(1430) ack 679 win 7060
10:22:03.532617 IP 72.14.217.91.80 > 10.87.1.3.1571: . 4092:5522(1430) ack 679 win 7060
10:22:03.532624 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 5522 win 65535
10:22:03.532625 IP 72.14.217.91.80 > 10.87.1.3.1571: . 5522:6952(1430) ack 679 win 7060
10:22:03.536446 IP 72.14.217.91.80 > 10.87.1.3.1571: . 6952:8382(1430) ack 679 win 7060
10:22:03.536456 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 8382 win 65535
10:22:03.564517 IP 72.14.217.91.80 > 10.87.1.3.1571: . 8382:9812(1430) ack 679 win 7060
10:22:03.565059 IP 72.14.217.91.80 > 10.87.1.3.1571: . 9812:11242(1430) ack 679 win 7060
10:22:03.565091 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 11242 win 65535
10:22:03.566831 IP 72.14.217.91.80 > 10.87.1.3.1571: P 11242:12672(1430) ack 679 win 7060
10:22:03.567212 IP 72.14.217.91.80 > 10.87.1.3.1571: . 12672:14102(1430) ack 679 win 7060
10:22:03.567214 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 14102 win 65535
10:22:03.570851 IP 72.14.217.91.80 > 10.87.1.3.1571: . 14102:15532(1430) ack 679 win 7060
10:22:03.609527 IP 72.14.217.91.80 > 10.87.1.3.1571: . 15532:16962(1430) ack 679 win 7060
10:22:03.609549 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 16962 win 65535
10:22:03.609925 IP 72.14.217.91.80 > 10.87.1.3.1571: P 16962:18392(1430) ack 679 win 7060
10:22:03.613268 IP 72.14.217.91.80 > 10.87.1.3.1571: . 18392:19822(1430) ack 679 win 7060
10:22:03.613280 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 19822 win 65535
10:22:03.613281 IP 72.14.217.91.80 > 10.87.1.3.1571: . 19822:21252(1430) ack 679 win 7060
10:22:03.655456 IP 72.14.217.91.80 > 10.87.1.3.1571: . 21252:22682(1430) ack 679 win 7060
10:22:03.655461 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22682 win 65535
10:22:03.655463 IP 72.14.217.91.80 > 10.87.1.3.1571: P 22682:22921(239) ack 679 win 7060
10:22:03.825899 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22921 win 65296
10:24:33.261274 IP 72.14.217.91.80 > 10.87.1.3.1571: F 22921:22921(0) ack 679 win 8190
10:24:33.261277 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22922 win 65296
10:24:46.896831 IP 10.87.1.3.1571 > 72.14.217.91.80: F 679:679(0) ack 22922 win 65296
10:24:46.928929 IP 72.14.217.91.80 > 10.87.1.3.1571: . ack 680 win 8190
35 packets captured
70 packets received by filter
0 packets dropped by kernel
Als ik nu via mijn browser 10.87.10.1 wordt de website niet getoond. Maar ik zie het verkeer wel via de nic lopen met tcpdump.
httpd.conf
<VirtualHost *>
ServerName 10.87.10.1
ServerAlias 10.87.10.1
DocumentRoot /home/kuhlmann/domains/test.nl/www
ErrorLog /home/kuhlmann/domains/test.nl/logs/error_log
CustomLog /home/kuhlmann/domains/test.nl/logs/access_log common
<Directory /home/kuhlmann/domains/test.nl/www>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
</VirtualHost>
Wat doe ik fout? Wie kan mij helpen? Of kan iemand me opweg helpen dmv een howto oid.
telnet 10.87.10.1 80 werkt ook niet. Pingen lukt echter wel. Hij laat dus niets door op poort 80. Er zit geen firewall voor.
Ik probeer onder vmware een loadbalacing cluster te maken maar ik loop tegen wat probleempjes aan. Ik gebruik LVS met een NAT LB methode. Hieronder een schematisch overzicht van het netwerk.
http://www.pcextreme.nl/img/loadbalancing.png
Ik zal even uitleggen wat ik precies heb gedaan:
Als eerste heb ik mijn Loadbalancer geïnstalleerd met Ubuntu 6.06 amd64. Daarna mijn webservers tevens ook met Ubuntu 6.06 amd64. De /home van de webservers heb ik gemount vanaf mijn NAS. Zou kan elke webserver erbij.
Ik heb de ip_vs modules geladen en toegevoegd aan /etc/modules:
echo ip_vs_dh >> /etc/modules
echo ip_vs_ftp >> /etc/modules
echo ip_vs >> /etc/modules
echo ip_vs_lblc >> /etc/modules
echo ip_vs_lblcr >> /etc/modules
echo ip_vs_lc >> /etc/modules
echo ip_vs_nq >> /etc/modules
echo ip_vs_rr >> /etc/modules
echo ip_vs_sed >> /etc/modules
echo ip_vs_sh >> /etc/modules
echo ip_vs_wlc >> /etc/modules
echo ip_vs_wrr >> /etc/modules
Daarna met modprobe de modules geladen.
Daarna heb ik via apt-get ipvsadm binnen gehaald. Dit allemaal zonder errors.
In de sysctl.conf heb ik net.ipv4.ip_forward = 1 aangezet en met sysctl -p gecontrolleerd en werkt.Ik heb op de Loadbalancer de interfaces gebruikt:
eth0:
address:10.87.4.1
netmask:255.255.0.0
network: 10.87.0.0
broadcast: 10.87.255.255
gateway: 10.87.3.1 // ip van me router
eth0:1 (Virtual IP)
address:10.87.10.1
netmask:255.255.255.255
network: 10.87.0.0
broadcast: 10.87.255.255
gateway: 10.87.3.1 // ip van me router
de webservers hebben 10.87.5.1 en 10.87.5.2 met de gateway van 10.87.4.1 (LB) de fileserver is 10.87.6.1
Met ipvsadm -L -n krijg ik deze output:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.87.10.1:80 rr
-> 10.87.5.2:80 Masq 1 0 0
-> 10.87.5.1:80 Masq 1 0 0
via tcpdump -n -i eth0 port 80 op web01 als ik naar 10.87.10.1(Virtual IP) verbind met me browser(10.87.1.3)
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:1, link-type EN10MB (Ethernet), capture size 96 bytes
10:22:03.367640 IP 10.87.1.3.1571 > 72.14.217.91.80: S 3548062792:3548062792(0) win 65535 <mss 1460,nop,nop,sackOK>
10:22:03.412934 IP 72.14.217.91.80 > 10.87.1.3.1571: S 1702673852:1702673852(0) ack 3548062793 win 8190 <mss 1460>
10:22:03.412934 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 1 win 65535
10:22:03.415516 IP 10.87.1.3.1571 > 72.14.217.91.80: P 1:679(678) ack 1 win 65535
10:22:03.476247 IP 72.14.217.91.80 > 10.87.1.3.1571: . ack 679 win 7060
10:22:03.480660 IP 72.14.217.91.80 > 10.87.1.3.1571: P 1:1232(1231) ack 679 win 7060
10:22:03.489603 IP 72.14.217.91.80 > 10.87.1.3.1571: . 1232:2662(1430) ack 679 win 7060
10:22:03.489609 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 2662 win 65535
10:22:03.490120 IP 72.14.217.91.80 > 10.87.1.3.1571: . 2662:4092(1430) ack 679 win 7060
10:22:03.532617 IP 72.14.217.91.80 > 10.87.1.3.1571: . 4092:5522(1430) ack 679 win 7060
10:22:03.532624 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 5522 win 65535
10:22:03.532625 IP 72.14.217.91.80 > 10.87.1.3.1571: . 5522:6952(1430) ack 679 win 7060
10:22:03.536446 IP 72.14.217.91.80 > 10.87.1.3.1571: . 6952:8382(1430) ack 679 win 7060
10:22:03.536456 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 8382 win 65535
10:22:03.564517 IP 72.14.217.91.80 > 10.87.1.3.1571: . 8382:9812(1430) ack 679 win 7060
10:22:03.565059 IP 72.14.217.91.80 > 10.87.1.3.1571: . 9812:11242(1430) ack 679 win 7060
10:22:03.565091 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 11242 win 65535
10:22:03.566831 IP 72.14.217.91.80 > 10.87.1.3.1571: P 11242:12672(1430) ack 679 win 7060
10:22:03.567212 IP 72.14.217.91.80 > 10.87.1.3.1571: . 12672:14102(1430) ack 679 win 7060
10:22:03.567214 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 14102 win 65535
10:22:03.570851 IP 72.14.217.91.80 > 10.87.1.3.1571: . 14102:15532(1430) ack 679 win 7060
10:22:03.609527 IP 72.14.217.91.80 > 10.87.1.3.1571: . 15532:16962(1430) ack 679 win 7060
10:22:03.609549 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 16962 win 65535
10:22:03.609925 IP 72.14.217.91.80 > 10.87.1.3.1571: P 16962:18392(1430) ack 679 win 7060
10:22:03.613268 IP 72.14.217.91.80 > 10.87.1.3.1571: . 18392:19822(1430) ack 679 win 7060
10:22:03.613280 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 19822 win 65535
10:22:03.613281 IP 72.14.217.91.80 > 10.87.1.3.1571: . 19822:21252(1430) ack 679 win 7060
10:22:03.655456 IP 72.14.217.91.80 > 10.87.1.3.1571: . 21252:22682(1430) ack 679 win 7060
10:22:03.655461 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22682 win 65535
10:22:03.655463 IP 72.14.217.91.80 > 10.87.1.3.1571: P 22682:22921(239) ack 679 win 7060
10:22:03.825899 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22921 win 65296
10:24:33.261274 IP 72.14.217.91.80 > 10.87.1.3.1571: F 22921:22921(0) ack 679 win 8190
10:24:33.261277 IP 10.87.1.3.1571 > 72.14.217.91.80: . ack 22922 win 65296
10:24:46.896831 IP 10.87.1.3.1571 > 72.14.217.91.80: F 679:679(0) ack 22922 win 65296
10:24:46.928929 IP 72.14.217.91.80 > 10.87.1.3.1571: . ack 680 win 8190
35 packets captured
70 packets received by filter
0 packets dropped by kernel
Als ik nu via mijn browser 10.87.10.1 wordt de website niet getoond. Maar ik zie het verkeer wel via de nic lopen met tcpdump.
httpd.conf
<VirtualHost *>
ServerName 10.87.10.1
ServerAlias 10.87.10.1
DocumentRoot /home/kuhlmann/domains/test.nl/www
ErrorLog /home/kuhlmann/domains/test.nl/logs/error_log
CustomLog /home/kuhlmann/domains/test.nl/logs/access_log common
<Directory /home/kuhlmann/domains/test.nl/www>
Options Indexes IncludesNOEXEC FollowSymLinks
allow from all
</Directory>
</VirtualHost>
Wat doe ik fout? Wie kan mij helpen? Of kan iemand me opweg helpen dmv een howto oid.
telnet 10.87.10.1 80 werkt ook niet. Pingen lukt echter wel. Hij laat dus niets door op poort 80. Er zit geen firewall voor.