双机备份及高密度集群

集群并不是一个全新的概念,其实早在七十年代计算机厂商和研究机构就开始了对集群系统的研究和开发。由于主要用于科学工程计算,所以这些系统并不为大家所熟知。直到Linux集群的出现,集群的概念才得以广为传播。集群系统主要分为高可用(High Availability)集群,简称 HA 集群。常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备", "双机互备", "双机"。 这样做的好处是当服务启动的时候,两台服务器一个作为主,另一个是从。测试机每几秒会ping主机,当发现主机没有回应,就证明主机宕机了,那么从机马上会启动相应的服务,继续进行服务。这样就可以保证服务不间断。
     我的测试环境:3台PC,(具体配置不写了)其中两台机器要配置双网卡,每台机器都使用VMware,在里面虚拟Linuxas5的操作系统。虚拟机的双网卡设置
具体的拓扑图
具体配置:
    1)先要检查系统中是否有下面软件开发包的支持,包括pkgconfig glib2-devel e2fsprogs和libnet
    2) 我的系统中只缺少libnet,安装libnet,这里使用的是1.1.2.1版本
       tar -zxvf libnet.tar.gz
       cd libnet
       ./configure
       make
       make install
    3) 安装heartbeat
       tar -zxvf heartbeat-2.0.7.tar.gz
       cd heartbeat-2.0.7
       ./ConfigureMe configure
       make
       make install
    4) 当安装好heartbeat后,系统会在/etc/下建立一个ha.d的目录,我们需要把一些文件拷到里面去。
       cp /soft/heartbeat-2.0.7/doc/ha.cf /etc/ha.d
       cp /soft/heartbeat-2.0.7/doc/haresources /etc/ha.d
       cp /soft/heartbeat-2.0.7/doc/authkeys /etc/ha.d
拷完以后的文件

    5) 主要文件的配置
       vi /etc/ha.d/ha.cf
       具体要把下面的选项前的注释去掉
       logfile /var/log/ha-log
       logfacility     local0
       keepalive 2               每2秒钟 测试机发送一个广播
       deadtime 30               30秒内没有反应,立即切换服务
       warntime 10
       initdead 120
       udpport 694
       bcast   eth1              指明心跳连接的接口号
       ucast eth1 192.168.1.20   心跳连接的pc的ip
       auto_failback on
       node    haoyi.com         两个的主机名(最好用uname -n察看)
       node    123.com
       ping 10.1.1.1             测试机的ip  (要写外部的测试IP)
      vi /etc/ha.d/haresources  这个主要是指明资源的来源,是远端挂载
      里面就改一个地方
      haoyi.com  10.1.1.250 Filesystem::10.1.1.220:/share::/var/www/html::nfs httpd
      haoyi.com是主服务器的IP  10.1.1.250是虚拟主机的ip 10.1.1.220:/share是我远程挂载的位置
,我的WEB网页就放在那里  /var/www/html是我的WEB服务的DocumentRoot  httpd我开启的服务
      vi /etc/ha.d/authkeys   这个是安全方面的配置,里面有三种认证方式:crc md5 sha1
      auth 1
      #1 crc
      1 sha1 HI!
      #3 md5 Hello!
     最后要更改文件的权限
      chmod 600 /etc/ha.d/authkeys
     6)做这个实验,两台心跳的服务器的配置要完全一样,所以我用scp远程传到另一个已经安装完成
好libnet 和heartbeat的机器上,同样是放在 /etc/ha.d中,唯一不一样的是这台机器的ha.cf中的ucast
eth1 192.168.1.20 要写上刚才那台机器的ip 也就是192.168.1.10。同样把authkeys的权限也改为600
     7)在我共享硬盘上要做相应的配置
        vi /etc/exports 

        vi /etc/hosts  需要把两台心跳连接的电脑的主机信息写上

       然后开起NFS服务
    
     8)现在开始测试
     首先把两台机器的服务启动,位置在/etc/init.d/heartbeat start
     过几秒钟后我们会发现haoyi.com的主机的网卡信息中出现eth0:0 它的IP是10.1.1.250 就是刚才我 们做的虚拟主机的IP,同时查看挂载情况会发现文件系统已被挂载。同时123.com的主机信息中没有变化 。这就是说现在主服务器已经启动,从服务器在等待。
haoyi.com的主机信息
123.com的主机信息
 
当我们把haoyi.com的heartbeat服务关掉后 过几秒后
 
 我们发现123.com的网卡信息中出现了eth0:0 它的IP10.1.1.250,同时查看挂载情况会发现文件系 统已被挂载,同时hao.com中刚才的信息已经没有了!这就说明现在服务是有刚才的从机器,也就是 123.com来提供的。
123.com的主机信息
这个是haoyi.com主机的信息,已经没有挂载点了
 同时我们把两台服务器的WEB服务都启来,我们这需要访问前段的虚拟主机的IP,也就是10.1.1.250 这样就可以访问到后台的主页了。无论这其中是那台服务器再起作用都无所谓,我们要的是服务不间断就 可以了!
 
 
网管人员必备的常用命令                 网管人员必备的常用命令  
 
如果你玩网管人员必备的常用命令
过路由器的话,就知道路由器里面那些很好玩的命令缩写。
例如,"sh int" 的意思是 "show interface"。
现在 Windows 也有了类似界面的工具,叫做 netsh。
我们在 Windows 的 cmd shell 下,输入 netsh 就出来:netsh> 提示符,
输入 int ip 就显示: interface ip>
然后输入 dump ,我们就可以看到当前系统的网络配置:
# ---------------------------------- 
# Interface IP Configuration 
# ---------------------------------- 
pushd interface ip 
# Interface IP Configuration for "Local Area Connection" 
set address name = "Local Area Connection" source = static addr = 192.168.1.168 
mask = 255.255.255.0 
add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0 
set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1 
set dns name = "Local Area Connection" source = static addr = 202.96.209.5 
set wins name = "Local Area Connection" source = static addr = none 
popd 
# End of interface IP configuration 
上面介绍的是通过交互方式操作的一种办法。
我们可以直接输入命令:
"netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
来添加 IP 地址。
如果不知道语法,不要紧的哦!
在提示符下,输入 ? 就可以找到答案了。方便不方便啊?
原来微软的东西里面,也有那么一些让人喜欢的玩意儿。可惜,知之甚少啊!
Windows网络命令行程序
这部分包括:
使用 ipconfig /all 查看配置 
使用 ipconfig /renew 刷新配置 
使用 ipconfig 管理 DNS 和 DHCP 类别 ID 
使用 Ping 测试连接 
使用 Arp 解决硬件地址问题 
使用 nbtstat 解决 NetBIOS 名称问题 
使用 netstat 显示连接统计 
使用 tracert 跟踪网络连接 
使用 pathping 测试路由器 
使用 ipconfig /all 查看配置 
发现和解决 TCP/IP 网络问题时,先检查出现问题的计算机上的 TCP/IP 配置。可以 使用 ipconfig 命令获得主机配置信息,包括 IP 地址、子网掩码和默认网关。
注意
对于 Windows 95 和 Windows 98 的客户机,请使用 winipcfg 命令而不是 ipconfi g 命令。
使用带 /all 选项的 ipconfig 命令时,将给出所有接口的详细配置报告,包括任何已配置的串行端口。使用ipconfig /all,可以将命令输出重定向到某个文件,并将输出粘贴到其他文档中。也可以用该输出确认网络上每台计算机的 TCP/IP 配置,或者进一步调查 TCP/IP 网络问题。
例如,如果计算机配置的 IP 地址与现有的 IP 地址重复,则子网掩码显示为 0.0.0.0。
下面的范例是 ipconfig /all 命令输出,该计算机配置成使用 DHCP 服务器动态配置TCP/IP,并使用WINS 和DNS 服务器解析名称。
Windows 2000 IP Configuration 
Node Type.. . . . . . . . : Hybrid 
IP Routing Enabled.. . . . : No 
WINS Proxy Enabled.. . . . : No 
Ethernet adapter Local Area Connection: 
Host Name.. . . . . . . . : corp1.microsoft.com 
DNS Servers . . . . . . . : 10.1.0.200 
Description. . . . . . . : 3Com 3C90x Ethernet Adapter 
Physical Address. . . . . : 00-60-08-3E-46-07 
DHCP Enabled.. . . . . . . : Yes 
Autoconfiguration Enabled.: Yes 
IP Address. . . . . . . . . : 192.168.0.112 
Subnet Mask. . . . . . . . : 255.255.0.0 
Default Gateway. . . . . . : 192.168.0.1 
DHCP Server. . . . . . . . : 10.1.0.50 
Primary WINS Server. . . . : 10.1.0.101 
Secondary WINS Server. . . : 10.1.0.102 
Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM 
Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM 
如果 TCP/IP 配置没有问题,下一步测试能够连接到 TCP/IP 网络上的其他主机。
使用 ipconfig /renew 刷新配置
解决 TCP/IP 网络问题时,先检查遇到问题的计算机上的 TCP/IP 配置。如果计算机启用 DHCP 并使用 DHCP 服务器获得配置,请使用 ipconfig /renew 命令开始刷新租约。
使用 ipconfig /renew 时,使用 DHCP 的计算机上的所有网卡(除了那些手动配置的适配器)都尽量连接到 DHCP 服务器,更新现有配置或者获得新配置。也可以使用带 /release 选项的 ipconfig 命令立即释放主机的当前 DHCP 配置。有关 DHCP 和租用过程的详细信息,请参阅客户机如何获得配置。
注意
对于启用 DHCP 的 Windows 95 和 Windows 98 客户,请使用 winipcfg 命令的 release 和 renew 选项,而不是 ipconfig /release 和 ipconfig /renew 命令,手动释放或更新客户的 IP 配置租约。
使用 ipconfig 管理 DNS 和 DHCP 类别 ID也可以使用 ipconfig 命令:
显示或重置 DNS 缓存。
详细信息,请参阅使用 ipconfig 查看或重置客户解析程序缓存。
刷新已注册的 DNS 名称。
详细信息,请参阅使用 ipconfig 更新 DNS 客户注册。
显示适配器的 DHCP 类别 ID。
详细信息,请参阅显示客户机上的 DHCP 类别 ID 信息。
设置适配器的 DHCP 类别 ID。
详细信息,请参阅设置客户机上的 DHCP 类别 ID 信息。
使用 Ping 测试连接
Ping 命令有助于验证 IP 级的连通性。发现和解决问题时,可以使用 Ping 向目标主 机名或 IP 地址发送 ICMP 回应请求。需要验证主机能否连接到 TCP/IP 网络和网络资源时,请使用 Ping。也可以使用 Ping 隔离网络硬件问题和不兼容配置。
通常最好先用 Ping 命令验证本地计算机和网络主机之间的路由是否存在,以及要连接的网络主机的 IP 地址。Ping 目标主机的 IP 地址看它是否响应,如下:
ping IP_address
使用 Ping 时应该执行以下步骤:
Ping 环回地址验证是否在本地计算机上安装 TCP/IP 以及配置是否正确。
ping 127.0.0.1
Ping 本地计算机的 IP 地址验证是否正确地添加到网络。
ping IP_address_of_local_host
Ping 默认网关的 IP 地址验证默认网关是否运行以及能否与本地网络上的本地主机通
讯。
ping IP_address_of_default_gateway
Ping 远程主机的 IP 地址验证能否通过路由器通讯。
ping IP_address_of_remote_host
Ping 命令用 Windows 套接字样式的名称解析将计算机名解析成 IP 地址,所以如果用地址成功,但是用名称 Ping 失败,则问题出在地址或名称解析上,而不是网络连通性的问题。详细信息,请参阅使用 Arp 解决硬件地址问题。
如果在任何点上都无法成功地使用 Ping,请确认:安装和配置 TCP/IP 之后重新启动计算机。
“Internet 协议 (TCP/IP) 属性”对话框“常规”选项卡上的本地计算机的 IP 地址有效而且正确。
启用 IP 路由,并且路由器之间的链路是可用的。
您可以使用 Ping 命令的不同选项来指定要使用的数据包大小、要发送多少数据包、是否记录用过的路由、要使用的生存时间 (TTL) 值以及是否设置“不分段”标志。可以键入 ping -? 查看这些选项。
下例说明如何向 IP 地址 172.16.48.10 发送两个 Ping,每个都是 1,450 字节:
C:>ping -n 2 -l 1450 172.16.48.10 
Pinging 172.16.48.10 with 1450 bytes of data: 
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32 
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32 
Ping statistics for 157.59.8.1: 
Packets:Sent = 2, Received = 2, Lost = 0 (0% loss), 
Approximate roundtrip times in milli-seconds: 
Minimum = 0ms, Maximum = 10ms, Average = 2ms 
默认情况下,在显示“请求超时”之前,Ping 等待 1,000 毫秒(1 秒)的时间让每个响应返回。如果通过 Ping 探测的远程系统经过长时间延迟的链路,如卫星链路,则响应可能会花更长的时间才能返回。可以使用 -w (等待)选项指定更长时间的超时。
 
使用 Arp 解决硬件地址问题
“地址解析协议 (ARP)”允许主机查找同一物理网络上的主机的媒体访问控制地址,如果给出后者的 IP 地址。为使 ARP 更加有效,每个计算机缓存 IP 到媒体访问控制地址映射消除重复的 ARP 广播请求。
可以使用 arp 命令查看和修改本地计算机上的 ARP 表项。arp 命令对于查看 ARP 缓存和解决地址解析问题非常有用。
详细信息,请参阅查看“地址解析协议 (ARP)”缓存和添加静态 ARP 缓存项目。
使用 tracert 跟踪网络连接
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Tracert 实用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。
C:>tracert 172.16.0.99 -d 
Tracing r 
oute to 172.16.0.99 over a maximum of 30 hops 
1 2s 3s 2s 10,0.0,1 
2 75 ms 83 ms 88 ms 192.168.0.1 
3 73 ms 79 ms 93 ms 172.16.0.99 
Trace complete. 
用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 19 2.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10. 0 网络不存在(错误的 IP 地址)。
C:>tracert 192.168.10.99 
Tracing route to 192.168.10.99 over a maximum of 30 hops 
1 10.0.0.1 reportsestination net unreachable. 
Trace complete. 
Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。
Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name 
-d 指定不将 IP 地址解析到主机名称。 
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。 
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。 
-w timeout 等待 timeout 为每次回复所指定的毫秒数。 
target_name 目标主机的名称或 IP 地址。 
详细信息,请参阅使用 tracert 命令跟踪路径。
 
使用pathping 测试路由器
pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。某些选项是可用的,如下表所示。
选项 名称 功能
-n Hostnames 不将地址解析成主机名。 
-h Maximum hops 搜索目标的最大跃点数。 
-g Host-list 沿着路由列表释放源路由。 
-p Period 在 ping 之间等待的毫秒数。 
-q Num_queries 每个跃点的查询数。 
-w Time-out 为每次回复所等待的毫秒数。 
-T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)
连接到数据包并将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络设备。-T 开关用于测试服务质量 (QoS) 连通性。
-R RSVP isbase Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)”,此协议允许主机为数据流保留一定量的带宽。-R 开关用于测试服务质量 (QoS) 连通性。
默认的跃点数是30,并且超时前的默认等待时间是3 秒。默认时间是250 毫秒,并且沿着路径对每个路由器进行查询的次数是100。
以下是典型的pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器上数据包丢失的情况。
D:> pathping -n msw 
Tracing route to msw [7.54.1.196] 
over a maximum of 30 hops: 
0 172.16.87.35 
1 172.16.87.218 
2 192.68.52.1 
3 192.68.80.1 
4 7.54.247.14 
5 7.54.1.196 
Computing statistics for 125 seconds... 
Source to Here This Node/Link 
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address 
0 172.16.87.35 
0/ 100 = 0% | 
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.218 
13/ 100 = 13% | 
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.1 
0/ 100 = 0% | 
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1 
0/ 100 = 0% | 
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14 
0/ 100 = 0% | 
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196 
Trace complete. 
当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间收集信息。在此期间结束时,它显示测试结果。
最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node /Link 栏中所示),但是该丢失不会影响转发的路径。
对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发丢失的数据包。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。
本文出自 51CTO.COM技术博客


你可能感兴趣的:(集群,职场,休闲,双机备份)