我让 ucarp 在我的两台 ubuntu 服务器上工作。Apache、Postfix、Dovecot 都在 HA 模式下工作,因此如果一台主机出现故障,另一台会自动接管。
我的第一个问题是我不知道如何手动将奴隶提升为主人?
二是ucarp-advskew是做什么的?问题是我不知道在哪里可以阅读有关 ucarp 的更多信息。我只阅读了有关如何配置它的指南,但我不知道如何控制它,高级设置是什么。
编辑:一些错别字
我知道已经问过这个问题的许多变体,但我仍然找不到满足我需求的好答案。
我想要做的是设置几个(至少 2 个)VPS来托管我的网络应用程序。我想提供一些负载平衡(使用 Varnish 很容易实现)和相对较高的可用性 - 这是我的问题。
使用负载平衡器(我需要在其中一个 VPS 上托管)会引入单点故障,这几乎与只有一台机器来提供内容一样糟糕。
http://i.stack.imgur.com/lFafj.png
而且 AFAIK DNS 循环方法不仅是负载平衡的坏主意,而且不提供故障转移机制。如果其中一台服务器出现故障,一些人(使用缓存的 DNS IP)仍会尝试连接到不可用的服务器。忘记短 TTL - 这不是正确的解决方案。
http://i.stack.imgur.com/mTLRf.png
需要考虑的一件非常重要的事情:我希望将我的VPS 划分到多个数据中心,这样如果一个数据中心的电力或 ISP 出现故障,网站就不会关闭。
我能想到的唯一 2 个解决方案是依赖 dns 循环(如果服务器出现故障,至少将内容提供给一定比例的用户直到恢复),或者在数据中心购买专用服务器,为停电做好准备并配备有几个互联网连接(与租用甚至 10 个 VPS 相比,这是非常昂贵的)。
所以问题是:在拥有多个负载平衡 VPS 时避免单点故障的正确方法是 什么?
请原谅图片。它们只是我的意思的基本示例。
domain-name-system vps high-availability load-balancing round-robin
有一个缓存服务器(Varnish):它根据请求从 Amazon S3 接收数据,保存一段时间并将其提供给客户端。我们遇到了1GBit通道容量不足的问题。4 小时内的峰值负载完全阻塞了通道。服务器性能目前足够了。每天大约传输 4.5TB 的数据。每月累积超过100TB。
想到的第一个想法就是再添加一个 1GBit 端口并安静地休眠,直到 2GBit 不够用(这可能很快发生)或一台服务器无法处理它。
然后我们只需要添加新的缓存服务器。但是现在我们需要一个负载均衡器,它将在同一个 URL 上发送请求,始终在同一个服务器上(以避免相同缓存对象的多个副本)。
以下是问题:
我一直在尝试使用 CentOS 6.x 创建 LVS DNS HA:
几天后,我发现我无法弄清楚如何使其工作 - 我希望有人可以使用 lvs.cf 文件以及所有必需的 iptables 规则。或者,如果有人已经使用了其他一些允许进行 DNS LB 的开源和免费软件(不是循环 DNS A 记录 - 这不是本练习的目的)。
如果有人成功地在 LVS 下使用池中的两个或多个真实服务器创建了命名 DNS,则工作,如果可以发布配置,我将不胜感激:
我主要是在寻找直接服务器返回或 NAT - 任何一种解决方案都适合我。
先感谢您。
吉姆。
domain-name-system iptables high-availability load-balancing lvs
我正在考虑仅为 HA 功能购买 Vsphere,但是,为了做到这一点,我还需要 vCenter Server。
我并不热衷于专门为此购买 Windows 副本,并且已经看到了可供下载的 vSphere 服务器 OVF。
我对它进行了评估,它似乎在过去一周运行良好,但是,它需要 80GB 的硬盘空间和 4GB 的内存。
这种基础设施永远不会有数百台服务器。最多有 5 台服务器——如果可能的话,我希望 vCenter 运行在同一个 HA 基础架构上,这样我就不必担心了。
我只是想知道是否:
我基本上有这个线程中提到的相同问题——我想暂时挂起对某个后端所有服务器的所有请求,以便我可以升级后端及其使用的数据库。由于这是一个实时系统,我想对请求进行排队,并在升级后将它们发送到后端服务器。由于我正在使用代码更改进行数据库升级,因此我必须同时升级所有后端服务器,因此我不能一次只关闭一个。
我尝试使用 tcp-request 选项结合删除该线程中提到的静态健康检查文件,但没有运气。将默认的“maxconn”值设置为 0 似乎可以根据需要暂停和排队连接,但是如果不重新启动 HAProxy,似乎无法将值增加回正数,这会杀死所有已排队的请求,直到观点。(使用 -sf 和 -st 的“热重新配置”选项启动一个新进程,这似乎不是我想要的)。
我正在尝试做的可能吗?
我已经用 OCFS2 替换了在双主模式下运行的死节点。所有步骤都有效:
/proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by mockbuild@builder10.centos.org, 2012-05-07 11:56:36
1: cs:Connected ro:Primary/Primary ds:UpToDate/UpToDate C r-----
ns:81 nr:407832 dw:106657970 dr:266340 al:179 bm:6551 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
Run Code Online (Sandbox Code Playgroud)
直到我尝试挂载卷:
mount -t ocfs2 /dev/drbd1 /data/webroot/
mount.ocfs2: Transport endpoint is not connected while mounting /dev/drbd1 on /data/webroot/. Check 'dmesg' for more information on this error.
Run Code Online (Sandbox Code Playgroud)
/var/log/kern.log
kernel: (o2net,11427,1):o2net_connect_expired:1664 ERROR: no connection established with node 0 after 30.0 seconds, giving up and returning errors.
kernel: (mount.ocfs2,12037,1):dlm_request_join:1036 ERROR: status …Run Code Online (Sandbox Code Playgroud) 我收到了在运行 VMware vSphere 4.1 的 VMware HA/DRS 集群中的一组虚拟机上添加不关联/反关联规则的请求。
客户端有四台主机,并希望在主机发生故障时阻止某些虚拟机在同一台主机上运行。
通常,这种类型的请求很简单,您可以简单地避免在同一台机器上运行app01和app02 ...上游有一个单独的应用程序负载均衡器。
但是,此请求要求app01、app02、app03、app04、app05 和 app06在不同的主机上运行。
六个虚拟机,四个主机。我们的第一响应团队将app01-app06添加到单个“单独的虚拟机” DRS 规则中。这似乎不正确,因为在维护模式或升级管理器修复中结果可能是不可预测的。
就像是:

对四个主机这样做有什么影响?这会达到预期的目标吗?缺点?
以以下常见场景为例……一个基本的 vSphere 集群,运行两台或三台主机、共享存储以及在 Essentials Plus 或更高许可下的一组虚拟机令牌。
应该在这么小的设置上启用 HA 准入控制吗?是否有意义?
这个双主机集群配置了一个“容忍”一台主机的准入控制策略,因此配置问题警告。


编辑:
我也倾向于不......没有比得到这个更糟糕的了
Not enough resources to failover this virtual
machine. vSphere HA will retry when resources
become available.
warning
2/25/2014 4:57:19 PM
MSSQL
Run Code Online (Sandbox Code Playgroud) high-availability capacity-planning vmware-esxi vmware-vsphere
我对名为“容错”和“应用高可用性”的两个功能感兴趣,它们是某些 VMware 产品的一部分。据我了解,执行管理任务需要 vCenter Server 实例。因此,vCenter Server 崩溃导致无法修改 VM 的某些方面,但 VM 仍在运行。
我还发现即使没有 vCenter Server 运行,“HA”功能仍然有效(有一些小限制)。
现在,我的问题:
如果 vCenter Server 脱机而主虚拟机的主机脱机,配置为使用 FT 的虚拟机会发生什么情况?理想情况下,FT 会注意无缝地继续辅助主机上的 VM 操作。
如果 vCenter Server 脱机并且 VM 内的应用程序崩溃,配置为使用 App HA 的 VM 会发生什么情况?理想情况下,会检测到应用程序崩溃,并根据配置重新启动应用程序或整个 VM。