LVS是中国人发起的项目,真是意外呀!大家可以看http://www.douzhe.com/linuxtips/1665.html
我是从最初的HA(高可用性)开始的,别人的例子是用VMWARE,可以做试验但不能实际应用,我又
没有光纤卡的Share Storage,于是就选用ISCSI,成功后又发现ISCSI+EXT3不能用于LVS,倒最后发
现GFS可用,我最终成功配成可实际应用的LVS,前后断断续续花了四个月,走了很多弯路。我花了
三天时间写下这篇文章,希望对大家有用。
这里要感谢linuxfans.org、linuxsir.com、chinaunix.com以及其它很多网站,很多资料都是从
他们的论坛上找到的。
参考文档及下载点
a.http://www.gyrate.org/misc/gfs.txt
b.http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/cluster-suite/index.html
http://www.redhat.com/docs/manuals/csgfs/admin-guide/index.html
c.ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/3ES/en/RHGFS/SRPMS
d.http://distro.ibiblio.org/pub/linux/distributions/caoslinux/centos/3.1/contrib/i386/RPMS/
LVS结构图:
eth0=10.3.1.101
eth0:1=10.3.1.254
Load Balance
Router
eth1=192.168.1.71
eth1:1=192.168.1.1
| |
| |
Real1 Real2
eth0=192.168.1.68 eth0=192.168.1.67
(eth0 gateway=192.168.1.1)
eth1=192.168.0.1---eth1=192.168.0.2
(双机互联线)
|
|
GFS
ISCSI
Share storage
eth0=192.168.1.124
1.Setup ISCSI Server
Server: PIII 1.4,512M, Dell 1650,Redhat 9,IP=192.168.1.124
从http://iscsitarget.sourceforge.net/下载ISCSI TARGET的Source code
(http://sourceforge.net/project/showfiles.php?group_id=108475&package_id=117141)
我选了iscsitarget-0.3.8.tar.gz,要求kernel 2.4.29
从kernel.org下载kernel 2.4.29,解开编译重启后编译安装iscsitarget-0.3.8:
#make KERNELSRC=/usr/src/linux-2.4.29
#make KERNELSRC=/usr/src/linux-2.4.29 install
#cp ietd.conf /etc
#vi /etc/ietd.conf
# Example iscsi target configuration
#
# Everything until the first target definition belongs
# to the global configuration.
# Right now this is only the user configuration used
# during discovery sessions:
# Users, who can access this target
# (no users means anyone can access the target)
User iscsiuser 1234567890abc
Target iqn.2005-04.com.my:storage.disk2.sys1.iraw1
User iscsiuser 1234567890abc
Lun 0 /dev/sda5 fileio
Alias iraw1
Target iqn.2005-04.com.my:storage.disk2.sys1.iraw2
User iscsiuser 1234567890abc
Lun 1 /dev/sda6 fileio
Alias iraw2
Target iqn.2005-04.com.my:storage.disk2.sys2.idisk
User iscsiuser 1234567890abc
Lun 2 /dev/sda3 fileio
Alias idisk
Target iqn.2005-04.com.my:storage.disk2.sys2.icca
User iscsiuser 1234567890abc
Lun 3 /dev/sda7 fileio
Alias icca
说明:password 长度必须不小于12个字符, Alias是别名, 不知为何这个别名在
Client端显示不出来.
分区:我只有一个SCSI盘,所以:
/dev/sda3: Share storage,容量越大越好
/dev/sda5: raw1, 建Cluster要的rawdevice, 我给了900M
/dev/sda6: raw2, 建Cluster要的rawdevice, 我给了900M
/dev/sda7: cca, 建GFS要的,我给了64M
(/dev/sda4是Extended分区,在其中建了sda5,6,7)
#Reboot,用service iscsi-target start启ISCSI server(我觉得比建议的好,可以
用service iscsi-target status看状态)
2.Setup ISCSI Client(on two real server)
Server: PIII 1.4,512M, Dell 1650,Redhat AS3U4(用AS3U5更好),2.4.21-27.EL
#vi /etc/iscsi.conf
DiscoveryAddress=192.168.1.124
OutgoingUsername=iscsiuser
OutgoingPassword=1234567890abc
Username=iscsiuser
Password=1234567890abc
LoginTimeout=15
IncomingUsername=iscsiuser
IncomingPassword=1234567890abc
SendAsyncTest=yes
#service iscsi restart
#iscsi-ls -l
..., 精简如下:
/dev/sdb:iraw2
/dev/sdc:iraw1
/dev/sdd:idisk
/dev/sde:icca
注意: 在real server中ISCSI device的顺序很重要,两个real server中一定要一样,如不一样
就改ISCSI Server中的设置,多试几次
3.Install Redhat Cluster suite
先下载Cluster Suite的ISO, AS3的我是从ChinaUnix.net找到的下载点, 安装clumanager和
redhat-config-cluster。没有Cluster Suite的ISO也没关系,从
ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/3ES/en/RHCS/SRPMS/下载
clumanager-1.2.xx.src.rpm,redhat-config-cluster-1.0.x.src.rpm,编译后安装,应该更好:
#rpm -Uvh clumanager-1.2.26.1-1.src.rpm
#rpmbuild -bs /usr/src/redhat/SPECS/clumanager.spec
#rpmbuild --rebuild --target i686 /usr/src/redhat/SRPMS/clumanager-1.2.26.1-1.src.rpm
还有redhat-config-cluster-1.0.x.src.rpm,也装好
4.Setup Cluster as HA module
详细步骤我就不写了,网上有很多文章,我也是看了别人的文章学会的,不过人家是用VMWARE,
而我是用真的机子+ISCSI,raw device就是/dev/sdb,/dev/sdc, 然后就
mount /dev/sdd /u01, mkfs.ext3 /u01 ......
设好后会发现ISCSI有问题:同时只能有一个Client联接写盘,如果
两个Client同时联ISCSI的Share Storge,一个Client写,另一个Client是看不到的,而且此时文
件系统已经破坏了,Client重联ISCSI时会发现文件是坏的,用fsck也修复不了。
ISCSI真的是鸡肋吗?
NO!从GOOGLE上我终于查到ISCSI只有用Cluster File System才能真正用于Share Storage!
而Redhat买下的GFS就是一个!
5.Setup GFS on ISCSI
GFS只有Fedora Core4才自带了,而GFS又一定要用到Cluster Suite产生的/etc/cluster.xml文件,
我没见FC4有Cluster Suite,真不知Redhat给FC4带GFS干嘛,馋人吗?
好,闲话少说,下载:c处的GFS-6.0.2.20-2.src.rpm, 按a处的gfs.txt编译安装,不过关于
cluster.ccs,fence.ccs,nodes.ccs的设置没说,看b的文档,我总算弄出来了,都存在
/root/cluster下,存在别的地方也行,不过我不知道有没有错,我没有光纤卡,文档又没讲ISCSI
的例子,不过GFS能启动的。
#cat cluster.ccs
cluster {
name = "Cluster_1"
lock_gulm {
servers = ["cluster1", "cluster2"]
heartbeat_rate = 0.9
allowed_misses = 10
}
}
注:name就是Cluster Suite设置的Cluster name, servers就是Cluster member的Hostname,别忘
了加进/etc/hosts;allowed_misses我开始设为1,结果跑二天GFS就会死掉,改为10就没死过了。
#cat fence.ccs
fence_devices{
admin {
agent = "fence_manual"
}
}
#cat nodes.ccs
nodes {
cluster1 {
ip_interfaces {
hsi0 = "192.168.0.1"
}
fence {
human {
admin {
ipaddr = "192.168.0.1"
}
}
}
}
cluster2 {
ip_interfaces {
hsi0 = "192.168.0.2"
}
fence {
human {
admin {
ipaddr = "192.168.0.2"
}
}
}
}
}
注:ip就是心跳线的ip
这三个文件建在/root/cluster下,先建立Cluster Configuration System:
a.#vi /etc/gfs/pool0.cfg
poolname pool0
minor 1 subpools 1
subpool 0 8 1 gfs_data
pooldevice 0 0 /dev/sde1
b.#pool_assemble -a pool0
c.#ccs_tool create /root/cluster /dev/pool/pool0
d.#vi /etc/sysconfig/gfs
CCS_ARCHIVE="/dev/pool/pool0"
再Creating a Pool Volume,就是我们要的共享磁盘啦,
a.#vi /etc/gfs/pool1.cfg
poolname pool1
minor 2 subpools 1
subpool 0 128 1 gfs_data
pooldevice 0 0 /dev/sdd1
b.#pool_assemble -a pool1
c.#gfs_mkfs -p lock_gulm -t Cluster_1:gfs1 -j 8 /dev/pool/pool1
d.#mount -t gfs -o noatime /dev/pool/pool1 /u01
下面是个GFS的启动脚本,注意real1和real2必须同时启动lock_gulmd进程,第一台lock_gulmd
会成为Server并等Client的lock_gulmd,几十秒后没有响应会fail,GFS启动失败。Redhat建议
GFS盘不要写进/etc/fstab。
#cat gfstart.sh
#!/bin/sh
depmod -a
modprobe pool
modprobe lock_gulm
modprobe gfs
sleep 5
service iscsi start
sleep 20
service rawdevices restart
pool_assemble -a pool0
pool_assemble -a pool1
service ccsd start
service lock_gulmd start
mount -t gfs /dev/pool/pool1 /s02 -o noatime
service gfs status
6. Setup Linux LVS
LVS是章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的
Piranha,Turbolinux公司的Turbo Cluster等,都是基于LVS的核心代码的。
我的系统是Redhat AS3U4,就用Piranha了。
从rhel-3-u5-rhcs-i386.iso安装piranha-0.7.10-2.i386.rpm,ipvsadm-1.21-9.ipvs108.i386.rpm
(http://distro.ibiblio.org/pub/linux/distributions/caoslinux/centos/3.1/contrib/i386/RPMS/)
装完后service httpd start & service piranha-gui start,就可以从http://xx.xx.xx.xx:3636管理或
设置了,当然了,手工改/etc/sysconfig/ha/lvs.cf也一样。
#cat /etc/sysconfig/ha/lvs.cf
serial_no = 80
primary = 10.3.1.101
service = lvs
rsh_command = ssh
backup_active = 0
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 1050
keepalive = 6
deadtime = 18
network = nat
nat_router = 192.168.1.1 eth1:1
nat_nmask = 255.255.255.0
reservation_conflict_action = preempt
debug_level = NONE
virtual lvs1 {
active = 1
address = 10.3.1.254 eth0:1
vip_nmask = 255.255.255.0
fwmark = 100
port = 80
persistent = 60
pmask = 255.255.255.255
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
load_monitor = ruptime
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 1
server Real1 {
address = 192.168.1.68
active = 1
weight = 1
}
server Real2 {
address = 192.168.1.67
active = 1
weight = 1
}
}
virtual lvs2 {
active = 1
address = 10.3.1.254 eth0:1
vip_nmask = 255.255.255.0
port = 21
send = "\n"
use_regex = 0
load_monitor = ruptime
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server ftp1 {
address = 192.168.1.68
active = 1
weight = 1
}
server ftp2 {
address = 192.168.1.67
active = 1
weight = 1
}
}
设置完后service pulse start, 别忘了把相关的client加进/etc/hosts
#iptables -t mangle -A PREROUTING -p tcp -d 10.3.1.254/32 --dport 80 -j MARK --set-mark 100
#iptables -t mangle -A PREROUTING -p tcp -d 10.3.1.254/32 --dport 443 -j MARK --set-mark 100
#iptables -A POSTROUTING -t nat -p tcp -s 10.3.1.0/24 --sport 20 -j MASQUERADE
运行以上三行命令并存入/etc/rc.d/rc.local,用ipvsadm看状态:
#ipvsadm
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
->; RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.3.1.254:ftp wlc
->; cluster2:ftp Masq 1 0 0
->; cluster1:ftp Masq 1 0 0
FWM 100 wlc persistent 60
->; cluster1:0 Masq 1 0 0
->; cluster2:0 Masq 1 0 0
注意:a.Firewall Mark可以不要,我反正是加了,文档说有https的话加上,值我选了100,
b.Virtual IP别加进/etc/hosts,我上过当,80端口时有时无的,
c.eth0:1,eth1:1是piranha产生的,别自己手工设置,我干过这画蛇添足的事,网上有
些帖子没说清,最后是看Redhat的文档才弄清楚的。
d.The LVS router can monitor the load on the various real servers by using
either rup or ruptime. If you select rup from the drop-down menu, each real
server must run the rstatd service. If you select ruptime, each real server
must run the rwhod service.Redhat的原话,就是如选rup的监控模式real server上
都要运行rstatd进程,如选ruptime就要运行rwhod进程。
e.Real Server同Router相联的网卡的Gateway必须是Router的那块网卡的VIP,举本例:
Router的eth1同两个real server的eth0相联,如VIP eth1:1=192.168.1.1,则real
server 的eth0的Gateway=192.168.1.1
7.Setup TOMCAT5.59+JDK1.5(用Redhat自带的Apache)
a.#tar xzvf jakarta-tomcat-5.5.9.tar.gz
#mv jakarta-tomcat-5.5.9 /usr/local
#ln -s /usr/local/jakarta-tomcat-5.5.9 /usr/local/tomcat
b.#jdk-1_5_0_04-linux-i586.bin
#mv jdk1.5.0_4 /usr/java
#ln -s /usr/java/jdk1.5.0_4 /usr/java/jdk
c.#vi /etc/profile.d/tomcat.sh
export CATALINA_HOME=/usr/local/tomcat
export TOMCAT_HOME=/usr/local/tomcat
d.#vi /etc/profile.d/jdk.sh
if ! echo ${PATH} | grep "/usr/java/jdk/bin" ; then
JAVA_HOME=/usr/java/jdk
export JAVA_HOME
export PATH=/usr/java/jdk/bin:${PATH}
export CLASSPATH=$JAVA_HOME/lib
fi
e.#chmod 755 /etc/profile.d/*.sh
f.重新用root登录,让tomcat.sh和jdk.sh起作用,
#tar xzvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
#./configure --with-apxs2=/usr/sbin/apxs --with-jni --with-apr-lib=/usr/lib
#make
#libtool --finish /usr/lib/httpd/modules
#cp ../build/jk2/apache2/mod_jk2.so ../build/jk2/apache2/libjkjni.so /usr/lib/httpd/modules/
g.#vi /usr/local/tomcat/bin/catalina.sh
在# Only set CATALINA_HOME if not already set后加上以下两行:
serverRoot=/etc/httpd
export serverRoot
h.#vi /usr/local/tomcat/conf/jk2.properties
serverRoot=/etc/httpd
apr.NativeSo=/usr/lib/httpd/modules/libjkjni.so
apr.jniModeSo=/usr/lib/httpd/modules/mod_jk2.so
i.#vi /usr/local/tomcat/conf/server.xml,
在</Host>;前加上以下几行,建了两个VirtualPath:myjsp和local,一个指向share storage,
一个指向real server本地
<Context path="/myjsp" docBase="/u01/www/myjsp" debug="0"/>;
<Logger className="org.apache.catalina.logger.FileLogger" directory="/var/log/httpd"
prefix="cluster.log." suffix=".txt" timestamp="true" />;
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/httpd"
prefix="cluster_access.log." suffix=".txt" pattern="common" resolveHosts="false" />;
<Context path="/local" docBase="/var/www/html" debug="1" reloadable="true" crossContext="true" />;
j.#vi /etc/httpd/conf/workers2.properties
#[logger.apache2]
#level=DEBUG
[shm]
file=/var/log/httpd/shm.file
size=1048576
[channel.socket]
tomcatId=localhost:8009
keepalive=1
info=Ajp13 forwarding over socket
[ajp13]
channel=channel.socket:localhost:8009
[status]
info=Status worker, displays runtime informations
[uri:/*.jsp]
worker=ajp13:localhost:8009
context=/
k.#vi /etc/httpd/conf/httpd.conf
改:DocumentRoot "/u01/www"
加:
在LoadModule最后加:
LoadModule jk2_module modules/mod_jk2.so
JkSet config.file /etc/httpd/conf/workers2.properties
在#<VirtualHost *>;之前加:
<Directory ~ "/WEB-INF/">;
Order allow,deny
Deny from all
</Directory>;
l:#mkdir /u01/ftproot
#mkdir /u01/www
#mkdir /u01/www/myjsp
m:在每个real server上生成index.jsp
#vi /var/www/html/index.jsp
<%@ page import="java.util.*,java.sql.*,java.text.*" contentType="text/html"
%>;
<%
out.println("test page on real server 1");
%>;
在real server2上就是"test page on real server 2"
n:下载jdbc Driver
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
可惜只有for JDK1.4的,在两台real server上分别
#cp -R /usr/local/tomcat/webapps/webdav/WEB-INF /u01/www/myjsp
#cp ojdbc14.jar ojdbc14_g.jar ocrs12.zip /u01/www/myjsp/WEB-INF/lib
o:假设我有一台OracleServer,ip=10.3.1.211,sid=MYID,username=my,password=1234,并有Oracle
的例子employees的read权限,或干脆把这个table拷过来,我是Oracle9i中的
#vi /u01/www/myjsp/testoracle.jsp
<%@ page contentType="text/html" %>;
<%@ page import="java.sql.*"%>;
<?xml version="1.0"?>;
<html">;
<head>;
<meta http-equiv="Content-Type" content="text/html" />;
<title>;Test ORACLE Employees</title>;
</head>;
<body>;
<%
String OracleDBDriver="oracle.jdbc.driver.OracleDriver";
String DBUrl="jdbc:oracle:thin:@10.3.1.211:1521:MYID";
String UserID="my";
String UserPWD="1234";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try
{
Class.forName(OracleDBDriver);
}
catch(ClassNotFoundException ex)
{
System.out.println("Class.forname:"+ex);
}
conn=DriverManager.getConnection(DBUrl,UserID,UserPWD);
stmt=conn.createStatement();
String sql="select * from EMPLOYEES";
rs = stmt.executeQuery(sql);
out.print("<table border>;");
out.print("<tr>;");
out.print("<th width=100>;"+"EMPLOYEE_ID");
out.print("<th width=50>;"+"FIRST_NAME");
out.print("<th width=50>;"+"LAST_NAME");
out.print("<th width=50>;"+"EMAIL");
out.print("<th width=50>;"+"PHONE_NUMBER");
out.print("<th width=50>;"+"HIRE_DATE");
out.print("<th width=50>;"+"JOB_ID");
out.print("<tr>;");
try
{
while(rs.next())
{
out.print("<tr>;");
int n=rs.getInt(1);
out.print("<td>;"+n+"</td>;");
String e=rs.getString(2);
out.print("<td>;"+e+"</td>;");
//String e=rs.getString(3);
out.print("<td>;"+rs.getString(3)+"</td>;");
out.print("<td>;"+rs.getString(4)+"</td>;");
out.print("<td>;"+rs.getString(5)+"</td>;");
out.print("<td>;"+rs.getString(6)+"</td>;");
out.print("<td>;"+rs.getString(7)+"</td>;");
out.print("</tr>;");
}
}
catch(SQLException ex)
{
System.err.println("ConnDB.Main:"+ex.getMessage());
}
out.print("</table>;");
rs.close();
stmt.close();
conn.close();
%>;
</body>;
</html>;
p:#vi /u01/www/index.html
<p>;
<META HTTP-EQUIV="Refresh" CONTENT="10; URL=http://10.3.1.254/myjsp/testoracle.jsp">;
</BODY>;
<p>;
<a href="http://10.3.1.254/local/index.jsp">;WEB Local</a>;
<p>;
<a href="http://10.3.1.254/myjsp/testoracle.jsp">;Test Oracle WEB</a>;
</HTML>;
q:在两台real server上分别
#vi /usr/local/tomcat/conf/tomcat-users.xml
加下面一行,允许页面管理:
<user username="manager" password="tomcat" roles="manager"/>;
r:在两台real server上分别
#service httpd restart
#/usr/local/tomcat/bin/startup.sh
s:打开http://1092.168.1.68:8080和http://1092.168.1.67:8080,选Tomcat Manager,用
manager/tomcat登录,虚拟目录/myjsp和/local应该Start了
在两台机子上分别打开网页http://10.3.1.254,选WEB Local,可以看到一台显示:
"test page on real server 1",另一台为"test page on real server 2",同时在Router上
ipvsadm可以看到每个real server的联接数
8.设置FTP服务
#vi /etc/vsftpd/vsftp.conf,在两台real server上分别加入以下几行:
anon_root=/u01/ftproot
local_root=/u01/ftproot
setproctitle_enable=YES
#service vsftpd start
现在LVM+GFS+ISCSI+TOMCAT就设置好了,我们可以用Apache Jmeter来测试LVM的性能,两台机子上
分别运行jmeter,都指向10.3.1.254/myjsp/testoracle.jsp,各200个threads同时运行,在Router
上用ipvsadm可以监控,Oracle Server的性能可要好,否则大量的http进程会hang在real server
上,ipvsadm也会显示有个real server失去了。测试时real server的CPU idle会降到70%,而Router
的CPU idle几乎不动。
回复于:2005-07-15 09:59:46
我先发在linuxfans.org,格式全没了,这里还不错。
不好意思我同时发在两个论坛上,因为我在两个论坛上都得到了帮助。
希望的我文章对大家有用。
回复于:2005-07-15 10:17:32
喔,第六步少了一个:
echo "1" >;/proc/sys/net/ipv4/ip_forward
回复于:2005-07-16 18:53:16
不错,学习,斑竹给加个精吧!!
回复于:2005-07-16 20:41:02
好文章收藏!;)
谢谢搂住!
回复于:2005-07-19 21:35:46
写得不错,可惜free的iSCSI target 目前只有2.4上的.
回复于:2005-07-20 11:29:48
好贴,收了先!
回复于:2005-07-21 11:45:12
不错,好贴!谢谢楼主!
回复于:2005-07-22 13:39:32
请教个问题,GFS必须建到象iSCSI这样的设备上吗?能建在SCSI/IDE/SATA上吗?能建到EXT3上吗?
还有什么其他比较简单实用的ClusterFS?
回复于:2005-07-25 12:09:04
好贴
回复于:2005-07-26 17:10:08
引用:原帖由 "FunBSD" 发表: 请教个问题,GFS必须建到象iSCSI这样的设备上吗?能建在SCSI/IDE/SATA上吗?能建到EXT3上吗?
还有什么其他比较简单实用的ClusterFS?
CFS's Lustre !!!!
回复于:2005-07-27 17:43:55
加精吧斑竹
别人可是自己写的。
回复于:2005-07-28 09:09:19
GFS和NFS有区别吗??个人觉得NFS方便点啊,GFS有什么过人处呢?
回复于:2005-07-28 16:35:02
我又发现了个错误:
Redhat说因为"quorum"要求,Lock Server的数目只能是1,3,4,5,决不能是0,2,>;5,所以对于双机来说Lock Server=1,cluster.ccs应该如下:
#cat cluster.ccs
cluster {
name = "Cluster_1"
lock_gulm {
servers = ["cluster1"]
heartbeat_rate = 0.9
allowed_misses = 10
}
}
GFS是网络日志文件系统,可以用在任何块设备上;用ISCSI是因为灵活,不用光纤卡,也没有距离限制;GFS的稳固性比NFS好,而且支持Oracle的RAC,当real server多时,GFS的性能才会体现出来。
回复于:2005-07-29 15:27:20
楼主键的两个虚拟服务器,VIP你这里为什么设成一样,这是不对的吧,
你的两个虚拟服务器,一个提供web服务,一个提供ftp服务,我认为
两种服务应设置成两个VIP,大家认为我说的对么
回复于:2005-07-29 18:00:36
我按着楼主的方法,做了ftp的负载均衡,可以为什么我模拟的外部ftp连接,出现
连接被拒绝的情况,为什么?
我的iptables也已经写好了,而且我的负载均衡器的ftp服务不启动的话,外部的ftp连接就会被拒绝,但如果启动的话,连接就会连接到负载均衡器本机上,
这是为什么,请楼主解答!!!
回复于:2005-08-01 13:09:21
我发现楼主的lvs.conf文件中的ftp服务的那段,为什么没有防火墙标记,ftp服务不是应该是21和20多端口服务么,为什么没有加防火墙标记,还有就是我加了标记后,为什么模拟的外部ftp连接请求会被拒绝,但是我只要把防火墙标记去掉,外部的ftp连接就可以连接上,这是为什么,请楼主解答
回复于:2005-08-02 09:54:22
好贴,收了
回复于:2005-08-09 15:07:45
My FTP is run normal, Load Balance Router's FTP service is stopped, I don't meet any problem about it.
My firewall setting is "custom": eth0,eth1 are trusted, and SSH,WWW,FTP port are enabled.
If you use FTP software, in the console window you can see which real server you are login.
Sorry, lose Chinese input software.
回复于:2005-08-09 15:16:21
VIP for WWW and FTP can different or same, I first use differnet VIP, but finally I try same VIP and it can work.
回复于:2005-08-24 17:50:34
搂主,我的ISCSI target的服务可启动,但iSCSI CLIENT无法mount,这是为什么,还有我想做两个gnbd server,来提高gfs的性能,但不知道怎么弄,找不到相关的文章,楼主帮帮我,十万火急,小弟不胜感激
我的qq24242546
回复于:2005-08-25 09:21:55
我正在做这个,遇到好多问题,楼主能否留个qq,我好能跟你详细说一下,
希望楼主能帮帮我,我的qq24242546
回复于:2005-08-26 09:28:45
谢谢啊!
回复于:2005-08-30 09:01:11
楼主呀,现身那,我有几个问题问你呢,加我qq好么,24242546
回复于:2006-02-15 14:27:46
引用:原帖由 hosyp 于 2005-7-15 09:56 发表
5.Setup GFS on ISCSI
GFS只有Fedora Core4才自带了,而GFS又一定要用到Cluster Suite产生的/etc/cluster.xml文件,
我没见FC4有Cluster Suite,真不知Redhat给FC4带GFS干嘛,馋人吗? ...
这样的话,那要用GFS就一定要装上Cluster Suite了
回复于:2006-02-15 21:24:28
好好!
我之前的LVS经验倒是没有好好整理出来!
版主很好!
回复于:2008-01-26 22:03:26
我想问的是:
如果我们想建立多台gfs服务器作数据的共享,他们都存储相同的数据供webserver来调取。我们在每个webserver上设置访问多个gfs服务器,当其中的一台gfs服务器坏掉了也不会影响webserver访问数据。那如何来实现呢?
|