标签: cluster

在多个静态文件服务器之间进行负载平衡以实现带宽分配的最佳方法?

首先,我将向您说明我的情况。我正在运行一个相当受欢迎的网站作为一个副项目,所以我不能真正投入大量资金。我目前只有一台带有 HAProxy 的服务器在前端向 Apache 发送正常请求,向 Lighttpd 发送所有静态文件请求。这非常有效,因为所有 php 和 post 请求都由 Apache 处理,而所有图像都发送到更快的 Lighttpd(该站点主要是图像,所以这非常重要)。不必为提供图像而设置子域会很好,因为短 URL 也非常重要,因此我使用 HAProxy 的原因。

我找到了一个托管服务提供商,它提供了我一直在使用的非常便宜的未计量带宽,当我开始推出 100mbs 网卡可以处理的带宽时,问题就出现了,因此需要第二台服务器。

我已经考虑了很多我的选择,所以我会向你解释每一个。希望您能提供一些见解,了解哪个对我来说是最好的选择,或者也许还有另一种我还没有想到的选择。

要求:

  • 甚至带宽分配也是必须的。我有一个非常强大的服务器,所以不能选择扩展。我需要向外扩展以获得更多带宽。

  • 短网址。我真的不想设置子域,比如 img.example.com,来提供我的图像。example.com/image.jpg 是现在的样子,我真的希望它留下来。但如果没有其他办法,那我就明白了。

  • 处理请求的最近服务器会非常好,但不是必须的。要记住的事情。

HAProxy 负载均衡:

  • 这真的很容易做到,因为我已经在使用 HAProxy 了。但是,我认为分配带宽时会出现问题。我在这方面可能是错的,但是 HAProxy 不会将请求发送到服务器处理它的服务器,然后通过 HAProxy 将其发送回客户端吗?因此,所有流量都通过负载平衡器返回,导致它使用的带宽与所有服务器的总和一样多。

DNS 循环:

  • 这可能是我最好的选择。只需在多台服务器上复制网站,然后做我现在正在做的事情。缺点是如果一台服务器出现故障,客户端仍会被发送到它。我还需要在多台服务器上复制站点。我有点希望我可以有一个主服务器来处理除静态文件之外的所有内容,然后有几个静态文件服务器。我还读到这是一种“穷人的负载平衡”,如果有一些更复杂的东西会很好。

直接服务器返回:

  • 这看起来很复杂,但可能是一个不错的选择。我还能将某些 URL 发送到某些服务器吗?就像现在的 HAProxy 一样,每个以正确文件扩展名结尾的 URL 都被发送到 Lighttpd,而其他扩展名则被发送到 Apache。所以我需要类似的东西。就像,所有 php 请求都由运行平衡软件的同一台服务器处理,而所有 jpg 请求都发送到多个服务器。

理想情况下,如果 HAProxy 支持 Direct Server Return,那么我的问题就可以解决了。我也不想使用 CDN,因为它们真的很贵,毕竟这只是一个副项目。

你明白我的问题吗?如果我没有解释正确或者您需要更多信息,请告诉我。

bandwidth cluster load-balancing haproxy

12
推荐指数
1
解决办法
1万
查看次数

如何在 2 节点主动/被动 linux HA 起搏器集群中设置 STONITH?

我正在尝试使用 corosync 和起搏器设置一个主动/被动(2 个节点)Linux-HA 集群来启动和运行 PostgreSQL 数据库。它通过 DRBD 和 service-ip 工作。如果节点 1 失败,节点 2 应该接管。如果 PG 在 node2 上运行并且失败,则相同。除了 STONITH 之外,一切正常。

节点之间是专用的 HA 连接(10.10.10.X),所以我有以下接口配置:

eth0            eth1            host
10.10.10.251    172.10.10.1     node1
10.10.10.252    172.10.10.2     node2
Run Code Online (Sandbox Code Playgroud)

Stonith 已启用,我正在使用 ssh-agent 进行测试以杀死节点。

crm configure property stonith-enabled=true
crm configure property stonith-action=poweroff
crm configure rsc_defaults resource-stickiness=100
crm configure property no-quorum-policy=ignore

crm configure primitive stonith_postgres stonith:external/ssh \
                params hostlist="node1 node2"
crm configure clone fencing_postgres stonith_postgres
Run Code Online (Sandbox Code Playgroud)

crm_mon -1 显示:

============
Last updated: Mon Mar 19 15:21:11 2012
Stack: openais …
Run Code Online (Sandbox Code Playgroud)

cluster high-availability drbd pacemaker

12
推荐指数
2
解决办法
4万
查看次数

人们认为哪些分布式 shell 实用程序好、灵活且易于使用?

我一直在搜索和收集很多工具的链接,但其中许多工具没有足够的用例或演示文档,无法在不安装和试用它们的情况下评估它们的潜在价值。

我希望这里的人们对其中的一些有经验,并且可以提供有关安装和使用它们有多容易的反馈。

我的个人用例是几个通常用于协同处理分布式任务的机器池。这些机器不是实际的集群(如 beowulf),我的主要需求是帮助配置和管理机器。如果该实用程序能够将工作实际分解为多个部分并分发这些部分,那很有趣,但我首先需要主要用例。

以下是我发现的免费开源项目列表:

我很想听听你的想法!

linux cluster shell

11
推荐指数
1
解决办法
5241
查看次数

为什么在运行带有内置插件的 SLURM 的集群上请求 GPU 作为通用资源会失败?

免责声明:这篇文章很长,因为我试图提供所有相关的配置信息。

状态和问题:

我管理一个 gpu 集群,我想使用 slurm 进行作业管理。不幸的是,我无法使用 slurm 的相应通用资源插件来请求 GPU。

注意:test.sh 是一个打印环境变量 CUDA_VISIBLE_DEVICES 的小脚本。

正在运行的作业--gres=gpu:1未完成

运行srun -n1 --gres=gpu:1 test.sh结果如下错误:

srun: error: Unable to allocate resources: Requested node configuration is not available
Run Code Online (Sandbox Code Playgroud)

日志:

gres: gpu state for job 83
    gres_cnt:4 node_cnt:0 type:(null)
    _pick_best_nodes: job 83 never runnable
    _slurm_rpc_allocate_resources: Requested node configuration is not available
Run Code Online (Sandbox Code Playgroud)

运行作业--gres=gram:500确实完成

srun -n1 --gres=gram:500 test.sh但是,如果我打电话,作业会运行并打印

CUDA_VISIBLE_DEVICES=NoDevFiles
Run Code Online (Sandbox Code Playgroud)

日志:

sched: _slurm_rpc_allocate_resources JobId=76 NodeList=smurf01 usec=193
debug:  Configuration for job 76 complete
debug:  laying …
Run Code Online (Sandbox Code Playgroud)

cluster job-scheduler hpc

10
推荐指数
1
解决办法
5407
查看次数

使用 VIP 的 SSH 主机密钥验证问题

我们在 VIP 上有 2 台生产服务器,一次只有一台在使用,例如:

myservice.mycompany.uk 通常指向 server1,如果 server1 出现故障,它会更改为指向 server2。

还有一些其他服务器需要通过 SFTP 将文件发送到 myservice.mycompany.uk,如果我们故障转移到 server2,它应该对它们完全透明。

问题是,虽然在 server1 和 server2 上都安装了密钥,但其他服务器会出现主机密钥验证问题,因为 server2 的主机密钥与 server1 的主机密钥不同。这会导致安全错误(因为启用了严格检查),必须从 known_hosts 中删除一行才能使其工作。

我们的 IT 人员建议我们可以在 known_hosts 中创建 2 个条目,一个使用 server1 的密钥,一个使用 server2 的密钥,两者都使用主机 myservice.mycompany.uk。

这可能奏效吗?如何在 Windows 上使用 putty/psftp 完成此操作?由于主机密钥存储在注册表中,因此不允许重复名称。有没有更好的方法,例如,我们可以强制服务器具有相同的主机密钥吗?

cluster ssh sftp

9
推荐指数
1
解决办法
1万
查看次数

使用 Nginx 或 HA 代理作为负载均衡器的优势

在我们的环境中,我们在不同的集群上同时使用 Nginx 和 HA 代理。使用一种比另一种有优势吗?

或者,对基本 LAMP 服务器集群进行负载平衡的最佳方法是什么?

cluster nginx lamp load-balancing haproxy

9
推荐指数
1
解决办法
2990
查看次数

Ganeti vs Proxmox

我是小型软件公司的系统管理员。我要虚拟化我们的服务器。这样做的主要原因是提供尽可能高的正常运行时间,但也可能会增加资源利用率。

我们有两台服务器。一方面,我们的开发虚拟机很少,而且还用作构建服务器(Jenkins Master,但也有 Build Executor)。在第二个中,我们得到了一些关键服务(代码存储库、问题跟踪器)。

我想使用这些机器创建两个节点集群并为每个服务创建 VM。我想使用 DRBD,因此可以在节点之间移动机器。

经过一些研究,我的候选人是 Proxmox 和 Ganeti。在我的情况下,哪一种会更好?我喜欢 Proxmox 的简单性(尤其是安装简单性),但也许使用 Ganeti 有正当理由?

virtualization cluster high-availability ganeti proxmox

9
推荐指数
3
解决办法
6984
查看次数

DIY Hadoop 集群 - 热量和灰尘问题?

以下是我使用 i3 机器的 DIY 6 节点 Hadoop 集群的链接,

保护我的设计免受灰尘影响并提供更好的热传递的最佳方法是什么?我应该用什么来覆盖机架的四个侧面以防止灰尘进入?

hardware cluster physical-environment hadoop

9
推荐指数
2
解决办法
4062
查看次数

在多个服务器上存储和共享数据的最佳选择,供多个用户访问

在我目前工作的环境中,有几台服务器专用于各个部门。然而,我们最近可能接触到了几台相同的服务器,大约有 10 多个。我希望有人可以为我指明正确的方向,找到有效利用所有这些服务器的好方法。

本质上,我们将大文件存储在要下载的服务器上,并且不那么频繁地上传到服务器。

我的目标是创建一个很好的选择,使数据可以在一个(或几个)中心位置访问,我可以将脚本指向该位置并且用户可以轻松访问。

理想情况下,我想做的是将所有这些服务器链接为一个或几个虚拟机或一个网络文件共享,这些服务器具有大量带宽和冗余,以确保文件安全并允许数据尽快抄下来。

为了完成这些任务,我一直在研究一些事情:

-DFS

- 故障转移集群

-Starwind Virtual SAN(免费版)

需要注意的是,这些服务器已经很老了,大约是 9 年前。

任何关于配置的建议将不胜感激,我有点超出我的深度

cluster file-sharing

9
推荐指数
2
解决办法
76
查看次数

如何在多台计算机上构建单个虚拟机?

有没有办法在虚拟机上运行 Linux 操作系统,它聚合本地网络上的物理机资源并充当单个超级计算机?如果可以,怎么做?

谢谢。

cluster

8
推荐指数
1
解决办法
3万
查看次数