设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

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

查看: 6765|回复: 7

[Heartbeat] Linux 系统下双机HA的功能实现 heartbeat [复制链接]

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

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

LT总司令

发表于 2008-5-29 01:54:29 |显示全部楼层
在Linux系统上双机功能的实现,对双机软件High-Availability Linux Project的安装、配置、运行以及测试进行说明。

1. 软件及安装说明

本文档描述的Linux-HA软件以及参考的文档均来自网站:http://www.linux-ha.org/
通过安装该Linux-HA软件,可以实现Linux双机系统的高可用性解决方案,实现双机系统的热备份,并能够做到双机之间的无缝切换,从而对外提供稳定可靠的服务,最终实现系统高性能RAS(reliability, availability, and serviceability)。

实现双机系统的两台主机不要求完全一致,但应该尽量做到硬件匹配。双机的连接可以使用串口线,也可以通过以太网ethernet进行连接,还可以采用并存的多种连接方式实现两台主机的多重互连。两台主机应该安装相同的操作系统,推荐使用RedHat Linux。进行网络配置,为每一台主机分配一个固定IP地址,另外需要选择一个IP地址作为集群IP(cluster IP),该IP是集群系统对外提供服务的接口。

注意:主机IP地址与集群IP地址一定不能重复。

1.2 软件的安装

1.2.1 下载

首先选择与系统匹配的安装文件。本文档测试所用的系统是CENTOS4.4,所用的安装文件是heartbeat-2.0.8.tar.gz,用户可以自行到网站http://linux-ha.org/download/index.html上下载,该网站也会不断提供实时更新.同时到http://www.packetfactory.net/libnet/下载libnet.tar.gz 稳定版本是:1.1.2.1.
Linux-HA软件的安装需要大量支持性的rpm软件包,根据用户系统及配置的不同,安装过程中会提出不同的rpm需求。如果有未获得的rpm包,可以到网站 http://rpmfind.net/ 上查找并下载。

1.2.2 编译安装

如安装文件所示,heartbeat-2.0.8.tar.gz是heartbeat的源代码软件包。该文件需要重新编译,但是首先应该依次安装支持heartbeat的一些rpm package,这些软件包对heartbeat提供必要的支持,然后再安装heartbeat软件包。注意由于软件包之间有相互依赖关系,因而需要遵循一定的安装顺序,可以根据安装过程中的提示自行协调安装顺序。
一些依赖的rpm包如下:
#rpm ?ivh perl-Digest-SHA1-2.01-6.i386.rpm
#rpm ?ivh perl-Digest-HMAC-1.01-8.noarch.rpm
#rpm ?ivh perl-Authen-SASL-2.03-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-ldap-0.2701-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-Convert-ASN1-0.16-2.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-Net-SSLeay-1.22-1.rh.8.0.um.1.i386.rpm
#rpm ?ivh perl-IO-Socket-SSL-0.92-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-Parse-RecDescent-1.80-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-Mail-IMAPClient-2.2.7-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-XML-NamespaceSupport-1.08-1.rh.8.0.um.1.noarch.rpm
#rpm ?ivh perl-XML-SAX-0.12-1.rh.8.0.um.1.noarch.rpm

下面开始编译安装libnet和heartbeat

tar -zxvf libnet.tar.gz
cd libnet
./configure
make
make install

tar zxf heartbeat-2.0.8.tar.gz
cd heartbeat-2.0.8
./ConfigureMe configure --disable-swig --disable-snmp-subagent
make
make install
cp doc/ha.cf doc/haresources doc/authkeys /etc/ha.d/
cp ldirectord/ldirectord.cf /etc/ha.d/

1.3 软件的配置

Heartbeat软件的安装目录为/etc/ha.d,其中的README.config对配置文件进行了说明,共有三个主要的配置文件:ha.cf,haresources,authkeys。
下面依次对三个配置文件进行说明,此外用户还可以参考Linux-HA附带的安装文档以及配置文件自身的注释。

1.3.1 配置ha.cf文件
ha.cf是heartbeat的主要配置文件,可以对heartbeat的多数性能和状态进行配置。大部分选项的取值可以采用默认值,其中的主要选项及配置方法说明如下:
debugfile /var/log/ha-debug:该文件保存heartbeat的调试信息
logfile /var/log/ha-log:heartbeat的日志文件
keepalive 2:心跳的时间间隔,默认时间单位为秒
IXDBA.NET社区论坛
deadtime 30:超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
warntime 10:超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
initdead 120:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
udpport 694:设置广播通信使用的端口,694为默认使用的端口号。
baud 19200:设置串行通信的波特率。
serial /dev/ttyS0:选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项。
bcast eth0:设置广播通信所使用的网络接口卡。
auto_failback on:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
ping ping-node1 ping-node2:指定ping node,ping node并不构成双机节点,它们仅仅用来测试网络连接。
respawn hacluster /usr/lib/heartbeat/ipfail:指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。

1.3.2 配置haresources文件

haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等。其配置语句格式如下:
node-name network-config <resource-group>
其中node-name指定双机系统的主节点,取值必须匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点。
network-config用于网络设置,包括指定集群IP、子网掩码、广播地址等。resource-group用于设置heartbeat启动的服务,该服务最终由双机系统通过集群IP对外提供。

下面举例对配置方法进行说明:

# hello 192.168.8.240 httpd tomcat
假设ha.cf文件中node选项设置的两个主机名分别为hello和web,则根据上述配置,双机系统的主节点为hello,从节点为web。
heartbeat启动时获取集群IP(cluster IP)为192.168.8.240,该IP成为heartbeat对外提供服务的网络地址。此外heartbeat依次启动服务httpd和tomcat(从左向右的顺序)。heartbeat关闭时将依次关闭tomcat和httpd(从右向左的顺序),并释放cluster IP。
httpd和tomcat分别是apache和tomcat的启动脚本,heartbeat将从下面目录中寻找这些启动脚本:
/etc/ha.d/resource.d
/etc/rc.d/init.d
# hello 192.168.8.240/19 httpd tomcat
指定cluster IP为192.168.8.240,并且指定子网掩码为255.255.224.0,每个网段内有213个可用IP,默认广播地址取该网段内的最大可用IP,取值为192.168.31.255。
此外,还可以向启动脚本传递argument,语法为:scriptname::argument
# hello 192.168.8.240/19/eth0/192.168.31.251 httpd tomcat
指定cluster IP为192.168.8.240,子网掩码为255.255.224.0,使用的网络接口卡为eth0,并强制设定广播地址为192.168.31.251。
注意:两台主机的haresources文件设置必须完全一致。

1.3.3 配置authkeys文件

authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。
IXDBA.NET技术社区

其配置语句格式如下:
auth <number>
<number> <authmethod> [<authkey>]
举例说明:
auth 1
1 sha1 key-for-sha1
其中键值key-for-sha1可以任意指定,number设置必须保证上下一致。

auth 2
2 crc
crc方式不需要指定键值。
最后,该authkeys文件的文件许可权应该设为600(即-rw-------),命令为:
chmod 600 authkeys
注意:上述三个配置文件设置完毕后,应该复制到/etc/ha.d目录下。

1.4 运行与测试

1.4.1 启动heartbeat

heartbeat安装完成后,自动在/etc/rc.d/init.d/目录下生成启动脚本heartbeat,启动heartbeat可以使用命令 /etc/rc.d/init.d/heartbeat start
此外还可以使用stop、restart、reload、status等控制参数。
heartbeat在生成启动脚本的同时也为不同的runlevel创建了启动脚本的符号连接,从而在切换runlevel的时候自动启动或关闭heartbeat。
例如,在/etc/rc.d/rc3.d/目录下创建了符号连接S75heartbeat,从而在系统进入字符模式(runlevel 3)时自动启动heartbeat。在/etc/rc.d/rc6.d/目录下创建了符号连接K05heartbeat,从而在系统重启(runlevel 6)时自动关闭heartbeat。
默认情况下,heartbeat的启动优先级是75,关闭优先级是5。
可以手动来创建。命令如下:
cd /etc/rc.d/rc0.d ln -s ../init.d/heartbeat K05heartbeat
cd /etc/rc.d/rc3.d ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc5.d ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc6.d ln -s ../init.d/heartbeat K05heartbeat

1.4.2 测试方案

下面描述一个简单的测试方案。系统环境和软件配置如下:
两台主机的主机名和IP地址分别为:
hello(192.168.6.7)
web(192.168.6.33)
则ha.cf文件中的node语句定义如下:
node hello
node web
haresources文件定义如下:
hello 192.168.8.240/19/192.168.31.255
该语句指定双机系统的主节点为hello,从节点为web,集群IP(cluster IP)为192.168.8.240,子网掩码为255.255.224.0,广播地址为192.168.31.255。本测试方案没有指定heartbeat启动的服务,仅通过ping命令和telnet命令来检测双机系统的可用性。
任何一台主机在启动heartbeat后,可以使用命令 ps aux | grep heartbeat 来查看heartbeat的进程状态,可以使用ifconfig命令确认当前主机是否已经绑定了cluster IP,此外还可以在/var/log/目录下查看heartbeat的日志文件ha-debug、ha-log。如果运行过程中产生了任何异常或错误消息,则应该根据上述信息进行检查和调试。

测试步骤如下:

1. 主节点启动heartbeat
在主节点hello上调用命令 /etc/rc.d/init.d/heartbeat start 启动heartbeat。该主机将会自动绑定集群IP地址,在双机系统之外的第三台主机上使用ping命令检测集群IP地址192.168.8.240,直至该地址变为可用(根据硬件和网络性能的差异,主机绑定集群IP地址需要等待不同的时间)。
在主节点hello上使用ifconfig命令查看该主机的网络配置,显示主节点已经绑定了集群IP地址192.168.
README.config对配置文件进行了说明,共有三个主要的配置文件:ha.cf,haresources,authkeys。
下面依次对三个配置文件进行说明,此外用户还可以参考Linux-HA附带的安装文档以及配置文件自身的注释。

1.3.1 配置ha.cf文件
ha.cf是heartbeat的主要配置文件,可以对heartbeat的多数性能和状态进行配置。大部分选项的取值可以采用默认值,其中的主要选项及配置方法说明如下:
debugfile /var/log/ha-debug:该文件保存heartbeat的调试信息
logfile /var/log/ha-log:heartbeat的日志文件
keepalive 2:心跳的时间间隔,默认时间单位为秒
IXDBA.NET社区论坛
deadtime 30:超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
warntime 10:超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中。
initdead 120:在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
udpport 694:设置广播通信使用的端口,694为默认使用的端口号。
baud 19200:设置串行通信的波特率。
serial /dev/ttyS0:选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项。
bcast eth0:设置广播通信所使用的网络接口卡。
auto_failback on:heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
ping ping-node1 ping-node2:指定ping node,ping node并不构成双机节点,它们仅仅用来测试网络连接。
respawn hacluster /usr/lib/heartbeat/ipfail:指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。

1.3.2 配置haresources文件

haresources文件用于指定双机系统的主节点、集群IP、子网掩码、广播地址以及启动的服务等。其配置语句格式如下:
node-name network-config <resource-group>
其中node-name指定双机系统的主节点,取值必须匹配ha.cf文件中node选项设置的主机名中的一个,node选项设置的另一个主机名成为从节点。
network-config用于网络设置,包括指定集群IP、子网掩码、广播地址等。resource-group用于设置heartbeat启动的服务,该服务最终由双机系统通过集群IP对外提供。

下面举例对配置方法进行说明:

# hello 192.168.8.240 httpd tomcat
假设ha.cf文件中node选项设置的两个主机名分别为hello和web,则根据上述配置,双机系统的主节点为hello,从节点为web。
heartbeat启动时获取集群IP(cluster IP)为192.168.8.240,该IP成为heartbeat对外提供服务的网络地址。此外heartbeat依次启动服务httpd和tomcat(从左向右的顺序)。heartbeat关闭时将依次关闭tomcat和httpd(从右向左的顺序),并释放cluster IP。
httpd和tomcat分别是apache和tomcat的启动脚本,heartbeat将从下面目录中寻找这些启动脚本:
/etc/ha.d/resource.d
/etc/rc.d/init.d
# hello 192.168.8.240/19 httpd tomcat
指定cluster IP为192.168.8.240,并且指定子网掩码为255.255.224.0,每个网段内有213个可用IP,默认广播地址取该网段内的最大可用IP,取值为192.168.31.255。
此外,还可以向启动脚本传递argument,语法为:scriptname::argument
# hello 192.168.8.240/19/eth0/192.168.31.251 httpd tomcat
指定cluster IP为192.168.8.240,子网掩码为255.255.224.0,使用的网络接口卡为eth0,并强制设定广播地址为192.168.31.251。
注意:两台主机的haresources文件设置必须完全一致。

1.3.3 配置authkeys文件

authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。
IXDBA.NET技术社区

其配置语句格式如下:
auth <number>
<number> <authmethod> [<authkey>]
举例说明:
auth 1
1 sha1 key-for-sha1
其中键值key-for-sha1可以任意指定,number设置必须保证上下一致。

auth 2
2 crc
crc方式不需要指定键值。
最后,该authkeys文件的文件许可权应该设为600(即-rw-------),命令为:
chmod 600 authkeys
注意:上述三个配置文件设置完毕后,应该复制到/etc/ha.d目录下。

1.4 运行与测试

1.4.1 启动heartbeat

heartbeat安装完成后,自动在/etc/rc.d/init.d/目录下生成启动脚本heartbeat,启动heartbeat可以使用命令 /etc/rc.d/init.d/heartbeat start
此外还可以使用stop、restart、reload、status等控制参数。
heartbeat在生成启动脚本的同时也为不同的runlevel创建了启动脚本的符号连接,从而在切换runlevel的时候自动启动或关闭heartbeat。
例如,在/etc/rc.d/rc3.d/目录下创建了符号连接S75heartbeat,从而在系统进入字符模式(runlevel 3)时自动启动heartbeat。在/etc/rc.d/rc6.d/目录下创建了符号连接K05heartbeat,从而在系统重启(runlevel 6)时自动关闭heartbeat。
默认情况下,heartbeat的启动优先级是75,关闭优先级是5。
可以手动来创建。命令如下:
cd /etc/rc.d/rc0.d ln -s ../init.d/heartbeat K05heartbeat
cd /etc/rc.d/rc3.d ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc5.d ln -s ../init.d/heartbeat S75heartbeat
cd /etc/rc.d/rc6.d ln -s ../init.d/heartbeat K05heartbeat

1.4.2 测试方案

下面描述一个简单的测试方案。系统环境和软件配置如下:
两台主机的主机名和IP地址分别为:
hello(192.168.6.7)
web(192.168.6.33)
则ha.cf文件中的node语句定义如下:
node hello
node web
haresources文件定义如下:
hello 192.168.8.240/19/192.168.31.255
该语句指定双机系统的主节点为hello,从节点为web,集群IP(cluster IP)为192.168.8.240,子网掩码为255.255.224.0,广播地址为192.168.31.255。本测试方案没有指定heartbeat启动的服务,仅通过ping命令和telnet命令来检测双机系统的可用性。
任何一台主机在启动heartbeat后,可以使用命令 ps aux | grep heartbeat 来查看heartbeat的进程状态,可以使用ifconfig命令确认当前主机是否已经绑定了cluster IP,此外还可以在/var/log/目录下查看heartbeat的日志文件ha-debug、ha-log。如果运行过程中产生了任何异常或错误消息,则应该根据上述信息进行检查和调试。

测试步骤如下:

1. 主节点启动heartbeat
在主节点hello上调用命令 /etc/rc.d/init.d/heartbeat start 启动heartbeat。该主机将会自动绑定集群IP地址,在双机系统之外的第三台主机上使用ping命令检测集群IP地址192.168.8.240,直至该地址变为可用(根据硬件和网络性能的差异,主机绑定集群IP地址需要等待不同的时间)。
在主节点hello上使用ifconfig命令查看该主机的网络配置,显示主节点已经绑定了集群IP地址192.168.8.240。
在第三台主机上使用telnet命令登录集群IP地址192.168.8.240,输入主节点hello的用户名和口令,可以成功登录hello主机。

2.从节点启动heartbeat
使用相同的命令启动从节点web的heartbeat。由于在两台主机同时启动heartbeat的情况下,应该由主节点来获取IP地址并对外提供服务,因而从节点heartbeat的启动并不对主节点产生影响。最终仍然由主节点hello绑定集群IP地址,使用telnet命令登录的也是主节点hello。

3.  主节点关闭heartbeat
   在主节点hello上调用命令 /etc/rc.d/init.d/heartbeat stop 关闭heartbeat。
使用ifconfig命令可以发现,主节点hello已经释放了集群IP地址192.168.8.240,并由从节点web绑定该IP地址。使用telnet命令登录的是从节点web。

在这个过程中,使用ping命令进行不间断监测,可以发现集群IP地址192.168.8.240一直处于可通状态,并没有产生任何阻塞或延迟,所以,在关闭处于激活状态的heartbeat的情况下,双机系统可以实现无缝切换。但是在另外一些情况下,比如网络故障、主机关机或重启等,如果该主机的heartbeat处于激活状态,则不能实现双机的无缝切换,切换过程需要有一定的延迟,使用ping命令可以发现集群IP地址暂时无法使用。

3. 主节点再次启动heartbeat
在这种情况下,主节点hello将重新绑定集群IP地址,从节点web释放该IP地址,并由主节点对外提供服务。在主节点启动heartbeat之后,集群IP地址的释放和绑定有一定的延迟。虽然有一定的延迟,但是集群IP地址的释放和绑定是同步进行的,使用ping命令可以发现集群IP地址一直处于可通状态,该过程并不影响双机系统的可用性。所以该过程仍然是一个无缝切换。
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;

注册时间
2008-6-2
最后登录
2017-9-11
在线时间
7 小时
阅读权限
0
积分
548
帖子
3
主题
0
精华
0
UID
36
发表于 2008-6-2 10:58:16 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

使用道具 举报

LT管理团队

向Linuxsir的哈密瓜大哥看齐 ...

Rank: 9Rank: 9Rank: 9

注册时间
2008-6-5
最后登录
2019-1-23
在线时间
1828 小时
阅读权限
200
积分
63902
帖子
715
主题
199
精华
4
UID
46

LT同学

发表于 2009-2-4 11:31:24 |显示全部楼层
upup……
好文要顶,学习了……
哈密瓜!一个热爱linux的水果!
gtalk/msn:hamgua@gmail.com
sina微博:http://weibo.com/hamgua
LTmail:hamgua@linuxtone.org
是雄鹰就有展翅飞翔的时候,不是雄鹰要制造展翅飞翔的时候!

使用道具 举报

Rank: 8Rank: 8

注册时间
2009-3-27
最后登录
2019-8-7
在线时间
170 小时
阅读权限
90
积分
18958
帖子
284
主题
10
精华
0
UID
2172

LT粉丝

发表于 2009-4-23 10:36:02 |显示全部楼层
本帖最后由 zelot 于 2009-4-23 10:37 编辑

我有个问题想问下
如果我2台机器做heartbeat,后端mount一个存储 来跑一个收发信息的服务 收到和要发送的信息都存放在后端的存储上 比如A服务器收到一条消息存进了存储 但是在A还没发送的时候A服务器DOWN了,这时候B服务器接手 能不能把A服务器未完成的那次发送任务继续完成?
人生最杯具的是找了个你不爱的人 而且这个人也不爱你

使用道具 举报

LT管理团队

社区首席勤杂工

Rank: 9Rank: 9Rank: 9

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

LT总司令

发表于 2009-4-23 11:45:15 |显示全部楼层
可能会中断和丢失部分,这就要看你的高可用是怎么做的。如果切换也是在一定的时间内完成的。比较难保100%
&amp;lt;-sina_sign,1762622645,2a5b1a59,10-&amp;gt;感谢大家对linuxtone的支持!&amp;lt;/strong&amp;gt;

使用道具 举报

论坛元老

~~IT公司打杂的&&LT社区划水的~~

Rank: 8Rank: 8

注册时间
2010-11-4
最后登录
2017-6-14
在线时间
594 小时
阅读权限
90
积分
41055
帖子
554
主题
7
精华
0
UID
10809
发表于 2011-2-24 17:07:04 |显示全部楼层
学习了~~搭建个环境测试一下~~
~~开心快乐每一天~~

使用道具 举报

Rank: 6Rank: 6

注册时间
2009-9-8
最后登录
2016-8-25
在线时间
9 小时
阅读权限
70
积分
2001
帖子
10
主题
1
精华
0
UID
5265
发表于 2011-3-11 10:16:12 |显示全部楼层
学习了!!!!!!!!!!!!!!

使用道具 举报

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

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

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

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

GMT+8, 2019-12-7 02:40 , Processed in 0.025214 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部