什么是集群服务,集群服务的配置
当今计算机技术已经进入以网络为中心的时代。互联网的高速发展,用户数量及网络流量的迅速增长使得越来越多服务器显得负担沉重,对网络服务器的可扩展性和 可用性提出了更高的要求。简单的提高硬件性能并不能真正解决这个问题。为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要。集群技术就是将 多台计算机组织起来进行协同工作来模拟一台功能更强大的服务器的技术。集群是在一组计算机上运行相同的软件并虚拟成一台主机系统为客户端与应用提供服务。 计算机通过缆线物理连接并通过集群软件实现程序上的连接,可以使计算机实现单机无法实现的容错和负载均衡。Windows Server 2003 家族产品将提供两种类型的集群服务:集群服务(MSCS)仅用于Windows Server 2003 企业版和数据中心版,该服务为像数据库、消息系统、文件与打印服务这些关键业务应用提供了高可用性和可扩展性。在集群中的多个服务器(节点)保持不间断的联系。如果在集群中的某一节点因出错或维护不可用时,另一节点会立刻提供服务,以实现容错。正在访问服务的用户可以继续访问,而不会察觉到服务已经由另一台服务器(节点)提供。Windows Server 2003的企业版和数据中心版都可以支持最大达8个节点的集群配置。这一改变增强了部署的灵活性:尤其对于地理分散部署的集群配置而言,并且支持主机的N+I配置(N 个主动节点+ I 个备用节点)。 N+I 模型将为将来利用Windows Server 2003部署大型Microsoft Exchange Server提供非常重要的支持。网络负载均衡 (NLB) 在Windows Server 2003家族的所有版本中都可用,该服务可在集群内均衡分布访问的IP流量。网络负载均衡增强了Web服务器、流媒体服务器、终端服务器等Internet服务器程序的可用性和扩展性。
硬件配置范例:
网络服务器 两台
服务器操作系统硬盘 两块
服务器数据存贮硬盘 视用户需要确定
服务器镜像卡(部分软件可使用标准网卡) 两块
网络服务网卡 两块三、双机与磁盘阵列柜
集群的软件配置
基于NT平台的集群软件
Microsoft的MSCS,也有许多第三方的专业软件公司开发的集群软件,如豪威的DATAWARE,VIN CA公司的STANDBY SERVER,NSI公司的DOUBLE-TAKE
MS WolfPack的特点
MS WolfPack是MS Cluster server的别称,是 微软针对Cluster技术研制开发的双机软件。它集成在NT SERVER上,支持由二台机器组成的双机系统,提供一种高可用且易管理的应用环境。
主要特点:
自动检测和修复服务器或应用程序的错误
可实现对服务器中应用程序的切换
可通过TCP/IP连接各种客户端,如MS-DOS、WINDOWS 3X/9X/NT,Apple Macintosh、UNIX等
生产主机无需人工干涉即可自动恢复数据并接管任务
易管理性:
可自动审核服务器和应用程序的工作状态
可建立高可用性的应用程序、文件共享、打印请求等
可灵活设置应用程序和数据的恢复策略
简单操作即可进行应用程序的离线,重新再线,服务器间的迁移。
目前,WINDOWS 2000 Advanced Server与WINDOWS 2000 DataCenter Server都集成有更先进集群技术。
其它的网络操作系统平台上也有许多集群软件,比如:
基于novell平台的集群软件有Novell HA Server、Novell SFT III
基于sco UNIX平台的集群软件有Sentinel集群软件
基于Linux平台的集群软件有TurboCluster
我帮你搜到的,不知道有用没,嘿嘿
CoreOS集群的架设比架设一个传统服务器集群更加容易。一方面因为 CoreOS 使用了 Cloud-init 自动化了集群信息的配置,另一方面则是受益于 etcd 分布式存储实现的消息分发和服务器自发现机制。这些便利性正是 CoreOS 系统设计充分为集群架构考虑带来的效率提升。
安装 CoreOS
CoreOS 的安装方法和传统 Linux 系统有很大的不同。鉴于是基础教程,在这一篇中,我们会使用官方的Vagrant镜像一步一步的构建CoreOS的VirtualBox虚拟机集群。本文使用了Linux/Mac作为测试环境,Vagrant从16版已经支持Windows,但需要安装Putty作为登录工具,略有不同,具体使用方法见 链接。
需要顺带说明一点,比较仔细的使用者可能已经发现官方提供的镜像中有一个是“ ISO镜像文件”,然而这个镜像实际上只是一个 Live CD,也就免安装的试用镜像,直接使用这个ISO启动的系统是不具备服务自发现和分布式消息分发的能力的。通过ISO镜像安装集群的方式我们会放到专题篇的内容里面详述。好,现在进入正题吧。
正如系列的第一篇所提到的,Cloud-init 通常依赖于具体平台的实现定制,将其直接在物理机上使用并不是主流的使用方法。对于这种安装方法, 官方有一篇文档提供了详细的步骤,这里不再进行详细讨论。
首先来看一下 CoreOS 原生支持的平台。截止到目前,最新版本的CoreOS v540已经支持的平台如下图。
可以看到除去安装到本地的 Bare Metal,其余基本是针对主流的云服务平台定制的版本。这里的定制主要是 Cloud-init 等启动服务的配置,那么如何知道 CoreOS 已经支持自动化的集群部署的平台有哪些呢?我们可以从 CoreOS 源代码的 coreos-base 目录里得到答案。
这些 oem 开头的目录就是平台定制的实现。其中每个目录中的 files/cloud-configyml 文件,就是 Cloud-init 的配置文件。在每一种平台安装 CoreOS 的方式各有不同,可以从官方网站相应的页面找到相应步骤。这里我们选择其中的 Vagrant 作为演示的目标平台。
在 Vagrant 上部署 CoreOS 集群
使用 Vagrant 建立 CoreOS 集群可以说是最简单且经济的方式了,使用本地虚拟机构建,特别适合快速验证 CoreOS 的功能。
预备
需要准备的东西,包括一台连接到互联网的 Mac 或者桌面 Linux 电脑,安装好 Git、VirtualBox 和 Vagrant。
通过 Git 下载官方的 Vagrant 仓库:
git clone https://githubcom/coreos/coreos-vagrantgit
下载完成后,我们接下来配置 CoreOS 集群。
配置
为了使用集群服务器的自发现功能,我们需要一个能用来唯一标识一个集群并提供集群信息的地址。CoreOS 官方提供了这个服务,当然我们也可以使用自己搭建的私有集群标识服务器。鉴于搭建私有标识服务器属于比较进阶的内容,我们会在这个系列的后续文章详述。
通过浏览器或命令行 curl 访问地址 https://discoveryetcdio/new可以得到一个新的集群标识 URL(如果是在Windows下,可以直接使用浏览器访问这个URL地址),这个 URL 会在配置 user-data 时候使用到。
curl https://discoveryetcdio/new
进入 coreos-vagrant 目录,将 user-datasample 和 configrbsample 两个文件各备份一份,并去掉 sample 后缀。得到 user-data 和 configrb 文件。
首先修改 user-data 文件,它将作为启动的配置文件提供给 CoreOS 操作系统。值得一提的是,在这个配置中,可以使用两个变量 $private_ipv4 和 $public_ipv4,它们会在实际运行的时候被自动替换为主机的真实外网 IP 和内网 IP 地址。
这里我们需要做的只是将其中 discovery所在行前面的注释符合“#”去掉,然后替换它的值为我们刚刚获得的集群标识 URL 地址。简单来说,所有使用了同一个标识 URL 的主机实例都会在 CoreOS 启动时自动加入到同一个集群中,这就实现了无需人工干预的集群服务器自发现。
#cloud-config
coreos:
etcd:
# generate a new token for each unique cluster from https://discoveryetcdio/new
# WARNING: replace each time you 'vagrant destroy'
discovery: <集群标识URL地址>
addr: $public_ipv4:4001
peer-addr: $public_ipv4:7001
然后修改 configrb 文件,这里包含了 Vagrant 虚拟机的配置。通过这个文件实际上可以覆写任何 Vagrantfile 里的参数,但是目前我们只需要关注 $num_instances 和 $update_channel 这两个参数的值。
$num_instances 表示将启动的 CoreOS 集群中需要包含主机实例的数量; $update_channel 表示启动的 CoreOS 实例使用的升级通道,可以是 ‘stable’,’beta’ 或 ‘alpha’。
$num_instances=3
$update_channel='stable'
CoreOS 没有跨越式的版本发布,而是使用与 Arch Linux 类似的平滑的滚动升级,确保用户任何时候下载到的版本都是最新发布的系统镜像,并且从根本上解决了服务器系统在运行几年后,由于无法平滑升级而被迫重新安装的情况。此外 CoreOS 提供了 Stable、Beta 和 Alpha 三种升级通道,用于满足不同用户对系统新特性和稳定性的平衡。关于升级通道的切换,可参考官方的文档。
启动
启动集群,执行:
vagrant up
查看集群运行状态,所有的集群实例都已经启动。
vagrant up
Current machine states:
core-01 running (virtualbox)
core-02 running (virtualbox)
core-03 running (virtualbox)
此时,在 CoreOS 集群的内部正发生着许多故事,集群的实例之间通过自发现服务,相互认识了对方并建立了联系。它们具备了在集群中任意一个实例节点控制整个集群的能力。是的,一个功能完备的 CoreOS 服务器集群已经完全运行起来了。
我现在使用的是小鸟云,他们目前官网有活动,3折优惠,建议去看看!
0条评论