我必须到地点(办公室和服务提供商)。一个 DNS(绑定)为我们的域提供权威服务,以及一个服务提供商网络服务器,我们的公司网站位于私人服务器上。
所以..
现在我们正计划将我们在 ISP 上的服务器升级到新的服务器,我想利用这种情况来改善我们的服务。
是否可以将高可用性 apache/mysql/php 安装到不同的位置?
我将在同一台新服务器上安装一个绑定从属服务器,所以我希望它能让事情变得更容易,但我需要一些关于如何使用它的提示和技巧。
谢谢。
嘿大家。首先让我说我的 Linux 体验不是特别棒,但我通常可以轻松找到解决问题的方法。
在工作中,我们有一个 OpenVPN 设置,现在应该进行一些改进。主服务器(tap 模式)在我们的办公室运行,在一个相当慢的 DSL 连接后面。主要问题是,由于我通常不在办公室,每次我想访问虚拟网络上的某些内容时,我都必须通过该服务器才能到达其他任何地方。
我们有两台 100 Mbit 连接的服务器,用于开发和生产目的,办公室还有大约 3 台服务器(其中一台在不同的 VOIP T1 线路后面)和大约两打每天使用网络的客户端来自不同的地方。
我们遇到过网络路由(在我们的控制范围之外)不允许人们访问我们的主要 OpenVPN 服务器而其他位置可以连接的情况。此外,任何时候办公室外的人想要从任何服务器(例如,一个 500 MB 的代码存储库)获取一些东西,如今高达 20 KB/s 的下载速度是不可接受的(我提到过慢速 DSL 吗?好吧)。我们不得不在这台服务器上实现流量整形,因为最大化这个连接是相当微不足道的。
我曾想过在网络中运行两个(或更多)OpenVPN 服务器。但是,它们必须具有相同的子网,因为我们的应用程序的某些核心功能依赖于虚拟网络的 IP 地址。客户端也最好保留相同的 IP 地址,但这并不重要。
为简单起见,我们将当前的服务器办公室和我正在设置的第二台服务器称为cloud。在 T1电话上呼叫服务器。
这被证明是相当复杂的,因为一旦我连接到云,我就看不到办公室。当我连接到云(没有 ping,什么都没有)时,通过办公室到服务器的任何路由也不起作用,反之亦然。iptables 也没有阻止流量的规则。
最近我在 linuxjournal 上看到这篇文章,但他们提供的解决方案似乎只涵盖了两台服务器的使用,而且有些过时(甚至找不到太多文档,他们的 wiki 已离线)。他们还指出,添加更多服务器将是一项复杂的任务。
理想情况下,我想让现有的服务器办公室运行虚拟网络,并在云和电话服务器(分别为 100 Mbit 和非常可靠的连接)上运行 OpenVPN 守护程序,以便我们在硬件故障的情况下处于安全状态, DSL 故障等。
因此,从本质上讲,我正在寻找一种高度可用的 OpenVPN 解决方案(修复、补丁、破解、调整,无论您想怎么称呼它),它可以接受多个主机(2 个或更多)上的连接,同时保持相同的 IP …
我们希望从 PFSense 和 CARP 转移到一对以主动/被动方式配置的SonicWall NSA 2400 1以实现高可用性。
我以前从未与 SonicWall 打过交道,所以有什么我应该知道但他们的销售人员不会告诉我的吗?
我知道他们的许多设备由于许可错误而关闭连接存在问题,并且他们有一个非常复杂的管理 GUI(至少在旧设备上),但是还有其他大的“问题”吗?在向这些设备投入大量资金之前,我需要注意什么?
1如果您不在美国,SonicWall 全球站点会很糟糕。使用美国站点进行所有产品研究,然后在需要本地信息时使用本地站点。
我一直在尝试使用 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
我正计划复制 Web 服务器以实现高可用性目的。该服务器在 Hyper-V 中作为 Ubuntu 15.04 虚拟机运行,并安装了 MariaDB 10.0、Apache 2.4 和 PHP-FPM 5.6。
第二个虚拟机将作为该虚拟机的直接副本启动,但位于美国。第一个虚拟机位于欧洲。(延迟约为 80-120 毫秒)
我想让服务器保持同步,以便它们都可以向我的客户端提供相同的内容,并且客户端将使用最近的服务器(为此我将使用 Route 53)
服务器之间的数据交换是安全的,这很重要,以保护数据库中的联系方式和其他信息,并防止更改 /var/www 目录中的文件。
我已经考虑为此使用以下选项:
SSL(TLS)
我已经考虑使用 SSH 进行数据库和文件复制。但是我不确定文件复制部分使用哪个应用程序。
SSL 可用于数据库复制,但它需要生成需要时不时更换的证书,这可能会花钱。
我的最后一个选择是使用 openvpn,但我不确定是否可以将其设置为附加网络,而不是通过它路由我的所有流量。这个方法好像也需要生成证书文件。。
mysql ubuntu mysql-replication replication high-availability
当通过 ARR POST 一个大文件时,请求在 120 秒后超时。客户端收到错误代码502 Bad Gateway。我已将 Web 场的“代理超时”配置为 600 秒。我还配置了Connection time-out的Default Web Site为600秒。ARR 服务器已重新启动。
以下来自ARR服务器上的日志文件:
2015-05-07 13:25:16 192.168.87.155 POST /Redacted/Import/RedactedImport20150507_152313.csv X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=253daa4a-8372-405a-8efd-21ebbc38353f 80 - 192.168.87.198 - redacted.local 502 3 64 120436
Run Code Online (Sandbox Code Playgroud)
来自 applicationHost.config:
<webFarm name="redacted.local" enabled="true">
<server address="redacted.local" enabled="true" />
<applicationRequestRouting>
<healthCheck url="http://redacted.local/redacted.svc" liveTrafficFailureCodes="400-" />
<protocol timeout="00:10:00" />
</applicationRequestRouting>
</webFarm>
Run Code Online (Sandbox Code Playgroud)
背景:
我正在构建一个 PoC 以使用 ARR 为我们的后端服务实现负载平衡和高可用性,这些服务主要是 WCF(基本 HTTP)和 REST。
其中一个(REST)服务用于每天从批处理作业中接收大(ish)文件几次。REST 服务在文件处理完成之前不会返回(这可能需要 5 分钟),因为客户端应用程序需要知道处理何时完成(后面有更多步骤,取决于第一个步骤)。
据我所知,服务或系统的可用性定义为:
(Time resource was available - Time resource was unavailable) / Total Time
我的问题是:
将系统/服务描述为“高度可用”是行业公认的标准术语吗?
这就引出了我的下一个问题:
如果软件供应商声称销售高可用性解决方案,那么该解决方案是否具有符合描述的合理预期的最低可用性级别?
我的公司正在与一位对数据中心之间的最小距离有要求的客户进行谈判。也就是说,它们需要在相距超过 3 公里的数据中心中进行冗余存储。
是否可以通过在一个 AWS 区域(法兰克福,如果可能)中使用两个不同的可用区来确保这一点?
我在互联网上搜索了一段时间,但我发现的都是关于 AWS 区域和可用区架构的通用描述,没有任何关于形成可用区和区域的数据中心之间的地理距离的说明。
常见问题解答仅说明 AZ 是
物理上分开,这样即使是非常罕见的灾难,如火灾、龙卷风或洪水,也只会影响一个可用区
但我找不到比这更具体的东西了。
我正在配置 LAMP 服务器,但希望确保它可以为未来的扩展做好准备。
我的想法是使用虚拟 IP 地址,该地址将分配给配置为主服务器的两个 apache 服务器之一。如果主服务器死了,我希望辅助从服务器声明该虚拟 ip 并充当主服务器,直到原始主服务器重新联机。我不必担心在两个 apache 服务器之间同步数据,因为数据存储在 ISCSI 中。我不必担心“文件访问冲突”,因为一次只有一台服务器会访问服务器。同样的概念也适用于 MySQL 服务器。
问题是.. 你认为这种设置对现在和未来都有好处吗?下一个问题是.. 我应该使用什么来处理主动-被动故障转移。我正在研究 ucarp,它似乎很容易使用。你们有什么感想?
我在每个数据中心都有一对 CentOS Linux 服务器。他们在每个数据中心内都有故障转移,由心跳和DRBD管理(我知道这些是过时的工具,但它们很稳定,所以没有改变它们的愿望)。
它们还具有数据中心间切换的能力,使东部数据中心处于活动状态,而西部数据中心变为被动状态。但这是一个手动工程过程,没关系。
西数据中心目前是主动的,东数据中心是被动的。
serverA.west <-> serverB.west <-----------> serverA.east <-> serverB.east
ACTIVE DATA CENTER PASSIVE DATA CENTER
Run Code Online (Sandbox Code Playgroud)
服务器可以运行 mysqld 和 Java 应用程序。
此服务器上的 Java 应用程序应仅在活动数据中心(即 serverA.west)中的主要主机上运行。如果 Java 应用程序的另一个实例在辅助主机 (serverB.west) 或被动数据中心的任一主机上启动,则存在裂脑问题的风险。
今天 serverA.east 重启,导致心跳切换到 serverB.east。Heartbeat 然后尽职尽责地在 serverB.east 上启动了 Java 应用程序,这是我们不希望发生的。
Heartbeat 还在 serverB.east 上启动了 mysqld,这是正确的,因为 MySQL 复制应该继续进行,不断从西部数据中心复制更改,以便东部 DC 准备好在需要时接管。
/etc/ha.d/haresources 将 mysqld 和 Java 应用程序的 /etc/init.d 脚本命名为要启动的资源。
我们希望允许 heartbeat 管理被动数据中心中的 A/B 对。它应该在故障转移时启动 mysqld,而不是 Java 应用程序。但是如果东数据中心是活动的,那么在心跳自动故障转移期间心跳应该启动 Java 应用程序。
什么是实现这一点的好方法?
我希望的是,当我们将活动数据中心从西向东切换时,只需一步配置即可。理想情况下,它应该是防错的,即应该保证恰好有一个数据中心被配置为活动的。
failover ×2
linux ×2
apache-2.2 ×1
arr ×1
centos ×1
heartbeat ×1
hyper-v ×1
iis ×1
iptables ×1
iscsi ×1
lvs ×1
mysql ×1
networking ×1
openvpn ×1
replication ×1
sonicwall ×1
ubuntu ×1
ubuntu-16.04 ×1
vpn ×1