Questions tagged «cluster»

一个计算机集群由一组松散连接的计算机组成,这些计算机可以一起工作,因此在许多方面都可以将它们视为一个系统。

6
跨多个静态文件服务器进行负载平衡以实现带宽分配的最佳方法?
首先,我将向您解释我的情况。我正在运行一个相当受欢迎的网站作为附带项目,因此我无法真正投入大量资金。我目前只有一台服务器,前面有HAProxy,向Apache发送正常请求,向Lighttpd发送所有静态文件请求。这非常有效,因为所有php和post请求均由Apache处理,而所有图像均发送到速度更快的Lighttpd(该站点主要是图像,因此这很重要)。不必设置一个子域来提供图像会很好,因为短网址也非常重要,因此,我之所以使用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,因为它们确实很昂贵,而且毕竟这只是一个附带项目。 你明白我的问题吗?让我知道我是否解释不正确或您需要更多信息。

5
用于Linux的什么集群管理软件?
我发现以下群集管理软件工具: 心脏起搏器(clusterlabs.org)-最初的Heartbeat项目,着眼于高可用性,将在下一个debian版本中发布 openqrm(openqrm.com),-Web gui-广泛使用, 一个包含两个演示文稿的网站 虚拟整合HA:使用KVM,Pacemaker和DRBD进行虚拟化 虚拟机管理mit openORM 似乎起搏器得到了更广泛的使用。我有2个用于12个不同VM的硬件服务器。我将使用的linux系统是debian lenny。我要使用的设置:drdb,heartbeart,kvm。我没有集群管理软件的经验。 是否有人对起搏器和/或openqrm有经验?哪个更容易使用?还有其他候选人吗?

4
多台服务器的所有硬件都像一个服务器一样运作?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 2年前关闭。 到目前为止,我有10台用于HPC,面向功率计算的服务器。我的用户需要使用qmake启动多个进程。用户习惯于使用ubuntu 9.10,并且存储库中的软件对他们来说是明智的。 我已将ubuntu 9.10部署到所有10台服务器(pxe岩石)。 到目前为止,我们使用parallel-ssh和cluster-ssh,它们允许向所有服务器启动相同的进程。使用此工具,这些服务器可以保持独立,但具有相同的软件和相同的启动命令。 现在,我们要进行下一步,将所有服务器视为一个服务器,同时将其他9个服务器的资源视为其资源。 在处理时间和设计启动命令的时间上,差异将是巨大的。 关于使用什么软件的任何建议将非常有用? 谢谢

6
人们觉得什么样的分布式Shell实用程序是好的,灵活的和易于使用的?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我一直在搜索和收集很多链接,但是其中许多工具没有足够的用例或演示文档,无法在不安装和试用它们的情况下评估其潜在价值。 我希望这里的人们对其中的一些人有经验,并可以提供有关安装和使用的简易程度的反馈。 我个人的用例是几个机器池,通常用于协同工作以处理分布式任务。这些机器不是实际的集群(例如beowulf),我的主要需求是协助机器的配置和管理。如果该实用程序提供了将工作实际分解为各个部分并分发这些部分的功能,那很有趣,但是我首先需要主要用例。 这是我发现的免费开源项目的列表: pdsh clusterssh pssh 聚类 扇出 全能 塔克图克 碟 dsh pydsh 我渴望听到您的想法!
11 linux  shell  cluster 

1
生产mongoDB集群的最低服务器数量是多少?
在生产集群体系结构的mongoDB文档中,我读到运行的生产mongoDB集群的最小服务器数量为7: 是否可以在同一服务器上共享路由器,配置服务器和分片(共有3台服务器,每台服务器分别具有路由器,配置和分片服务)?
11 cluster  mongodb 

8
Clusterssh用于管理多个SSH服务器的替代方法
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使其成为服务器故障的主题。 4年前关闭。 除了Clusterssh,pssh等之外,是否还有其他选择可以通过一个接口管理多个基于ssh的服务器? Clusterssh的一个弱点是我的服务器使用基于密钥的身份验证,并使用passhprase进行登录,并且无法使用私钥登录到服务器。 是否有任何其他方法可支持使用私钥进行身份验证?

1
为什么在带有内置插件的运行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 日志: 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 运行作业--gres=gram:500确实完成 srun -n1 --gres=gram:500 test.sh但是,如果我打电话,该作业将运行并打印 CUDA_VISIBLE_DEVICES=NoDevFiles 日志: …


4
Ganeti vs Proxmox [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我是小型软件公司的系统管理员。我将虚拟化我们的服务器。这样做的主要原因是要提供尽可能长的正常运行时间,但可能还会增加资源利用率。 我们有两个服务器。一方面,我们几乎没有开发VM,也没有将其用作构建服务器(Jenkins Master,但还有Build Executor)。在第二个方面,我们获得了一些关键服务(代码存储库,问题跟踪器)。 我想使用这些机器来创建两个节点集群并为每个服务创建VM。我想使用DRBD,因此可以在节点之间移动机器。 经过研究,我的候选人是Proxmox和Ganeti。在我的情况下哪一个更好?我喜欢Proxmox的简单性(尤其是安装简单性),但是也许有使用Ganeti的正当理由吗?


4
测试群集Powershell cmdlet列表与验证
Powershell cmdlet可以Test-Cluster查询大量数据并执行验证测试,并将其包装到漂亮的报告中。如果运行,则将Test-Cluster -List获得项目列表,您可以使用cmdlet进行单独查询。阅读时,有一个通用的命名方案DisplayName。它们都以“ List”或“ Validate”开头。 显然,“验证”将通过失败来实际测试故障转移。但是命名“列表”使我认为它只是运行时对数据的查询。我已经使用以下脚本对此进行了测试: $TestList = Test-Cluster -List | Where-Object {$_.DisplayName -like "List*"} Test-Cluster -Include $TestList.DisplayName -ReportName "c:\cluster reports\report" 生成此报告时,没有看到任何记录的群集错误或注意到任何故障转移活动。Microsoft technet对此也不是很清楚,但是他们确实推断该行为符合我的想法。参见以下摘录(重点是我的): 测试结果将捕获到具有您指定文件名的文件中。通过运行验证测试,可以确认您的硬件和设置与故障转移群集兼容。有多种类型的测试,包括群集,清单,网络,存储,系统和其他类型的测试。存储测试将不会测试群集角色正在使用的联机磁盘或存储池。要测试此类磁盘,请首先运行Stop-ClusterGroup以停止群集角色,然后运行Test-Cluster。测试完成后,再次启动群集角色,也称为资源组。 测试群集TechNet页面 我想提醒您注意他们对“ Validation”一词的使用。另外,在运行该脚本时,作为输出的一部分,它说: Test Result: ClusterSkippedTestsCompleted 如果包含验证测试,则结果为: Test Result: ClusterConditionallyApproved 在我的测试环境中,网络测试生成了一些警告,触发了有条件的批准。我已经在Google上搜索了很多文档,这些文档描述了“验证”与“列表”拆分背后的逻辑,但是我没有提出任何建议。这导致了一个问题... 列表请求是否触发故障转移事件?

2
传入文件的轮询
一堆具有唯一文件名的新文件通常会在一个服务器上“出现” 1。(与每天数百GB的新数据一样,解决方案应可扩展到TB。每个文件的大小为几兆字节,最大为几十兆字节。) 有几台计算机处理这些文件。(数十种,解决方案应可扩展到数百种。)应该可以轻松地添加和删​​除新机器。 有些备份文件存储服务器上必须复制每个传入文件以进行归档存储。数据不得丢失,所有传入文件都必须最终交付到备份存储服务器上。 每个传入文件都将被传送到一台计算机上进行处理,并且应将其复制到备份存储服务器。 接收方服务器在发送文件后无需存储文件。 请提供一种可靠的解决方案,以上述方式分发文件。解决方案不得基于Java。最好使用Unix-way解决方案。 服务器基于Ubuntu,位于同一数据中心。所有其他内容均可根据解决方案要求进行调整。 1 请注意,我故意省略了有关文件传输到文件系统的方式的信息。原因是如今,文件是由第三方通过几种不同的传统方式发送的(足够奇怪的是,通过scp和ØMQ)。在文件系统级别削减跨集群接口似乎更容易,但是如果一个或另一种解决方案实际上需要某些特定的传输,则可以将旧式传输升级为该传输。

2
使用VIP的SSH主机密钥验证问题
我们在VIP上有2个生产服务器,一次只能使用一个,例如: myservice.mycompany.uk通常指向server1,如果server1发生故障,则更改为指向server2。 还有其他一些服务器需要通过SFTP将文件发送到myservice.mycompany.uk,如果我们将其故障转移到server2,则对它们应该是完全透明的。 问题是,虽然在服务器1和服务器2上都安装了密钥,但其他服务器将具有主机密钥验证问题,因为服务器2的主机密钥与服务器1的主机密钥不同。这会导致安全错误(由于启用了严格检查),因此必须从known_hosts中删除一行才能使其正常工作。 我们的IT专家建议我们可以在known_hosts中创建2个条目,其中一个使用server1的密钥,另一个使用server2的密钥,两者均使用主机myservice.mycompany.uk。 那可能行得通吗?在Windows上如何使用腻子/ psftp来完成此操作?由于主机密钥存储在注册表中,因此不允许重复的名称。有没有更好的方法,例如我们可以强制服务器使用相同的主机密钥吗?
8 ssh  cluster  sftp 

1
PBS Jobs-串行与并行作业,哪个适合我的情况
我可以访问使用“扭矩”的群集(我认为),并且我们使用PBS脚本提交作业。我需要运行超过200个用Java开发的应用程序实例。该应用程序充当形成P2P网络的对等方,这意味着这些实例通过套接字相互通信。 我能够在集群的单个节点上运行100个实例来进行测试,但是在单个节点上运行200个实例却无法正常工作,并且我无法请求更多资源(内存,内核等)。 ) 我的问题是:我应该按照自己的方式来做吗?使用串行脚本,在其中我一个个地启动所有实例,然后将它们发送到后台,然后等待它们吗? 是否可以使用并行脚本来完成此任务,在该脚本中我可以要求2个节点并在每个节点中实例化我的应用程序的100个实例?在这种情况下,我还有其他问题:我该怎么办?是否可以保证两个作业同时运行?所有200个实例必须同时运行。 为了形成P2P网络,在串行作业中必须至少知道一个对等IP地址,我可以在脚本中获取节点IP地址并将其作为参数传递给应用程序,但是在具有2个节点的并行作业中,我该如何做这个? 这是我当前正在使用的脚本的一部分... #PBS -l nodes=1:ppn=4 #PBS -l pmem=6GB #PBS -l walltime=00:20:00 IP=`/sbin/ifconfig eth0 | grep 'inet ' | awk '{print $2}' | sed 's/addr://'` PORT_PEER=3000 java -jar $JAR $JAR_PARAMS -ip=$IP -port=$PORT_PEER & # first peer, others connect to this one.. for i in {1..99} do …
2 cluster  pbs  linux 

1
Slurm:对于GPU和仅CPU作业有两个单独的队列
目前,我们已设置Slurm来管理一个由六个节点组成的小型集群,每个集群具有四个GPU。到目前为止,这一直很好,但是现在我们想利用Intel Core i7-5820K CPU来完成仅需要CPU处理能力的作业。每个CPU有六个核心和12个线程,每个GPU需要一个线程/逻辑核心,因此(每个节点)剩余8个线程可用于“仅CPU”作业。 当前配置: 猫/etc/slurm-llnl/gres.conf Name=gpu File=/dev/nvidia0 Name=gpu File=/dev/nvidia1 Name=gpu File=/dev/nvidia2 Name=gpu File=/dev/nvidia3 猫/etc/slurm-llnl/slurm.conf(节选) SchedulerType=sched/builtin SelectType=select/cons_res SelectTypeParameters=CR_Core AccountingStorageType=accounting_storage/none GresTypes=gpu MaxTasksPerNode=4 NodeName=node1 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node2 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node3 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node4 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN NodeName=node5 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.