设为首页
加入收藏
交流论坛
网站首页 | 操作系统 | 服务器应用 | 数 据 库 | 程序设计 | 网管技术 | 综合交流 |
ad here
搜索 热门搜索:
当前位置: 主页 - 操作系统 - Linux - 文章内容
[原创] 集群LVS+GFS+ISCSI+TOMCAT
将本页收藏到: [新浪ViVi] [POCO网摘] [天极网摘] [和讯网摘] [百度搜藏][收藏到QQ书签]    更换背景颜色:黑色 灰色 白色


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访问数据。那如何来实现呢?




ad here
热门文章
·[精华] 用命令gcc test.c出的
·[精华] ftp命令大全
·[精华] [分享]一些比较经典
·[精华] [分享]一些比较经典
·[精华] [分享]一些比较经典
·[精华] 如何在一个硬盘上
·[精华] [分享] Linux 使用技
·[精华] 如何用ROOT远程登陆
·[精华] 使用Linux的8个小技
·[精华] 请各位指正(BIND
·[精华] LILO的问题好多呀,
·[精华] RH7。1 中使用SENDM
·[精华] 关于Oracle数据库安
·[精华] 怎么我的Red hat Li
·[精华] Oracle 8.1.7 for RedHa
·[精华] [求助]我如何可以远
·[精华] [转]100个最佳Linux站
相关文章
·[保留] [原创]装多系统wi
·[精彩] 个人学习笔记,希
·[精华] Linux 2.4 内核说明文
·[精华] 搭建集群负载均衡
·[精彩] 最佳的75个安全工具
·[原创] 硬盘安装LINUXFC4全过
·[保留] Red Hat Linux 9.0与Tp
·[保留] 【原创】让win2k P
·[原创] PPPOE + FreeRADIUS + M
·[保留] 成功配置了CVS(首先
·[保留] 如何禁止telnet 80
·[精彩] DHCP 的讨论(iptab
·[保留] 自動產生 電信(C
·[原创] 集群LVS+GFS+ISCSI+TO
·[原创] 如何禁掉扫描机器
·[保留] proxy_arp实验的问题
·[精彩] redhat认证考试介绍
视频广告
Ad
栏目直达 返回顶端
设为首页 - 加入收藏 - 关于我们 - 联系本站 - 意见递交 - 网站地图
Copyright © 2007 - 2008 All Rights Reserved
蜀ICP备07505478号