我们在单个服务器上托pipe的stream量较低的站点(每天约1千次的浏览量),并预计在未来几年内会大幅增长。 我正在考虑转移到Rackspace CloudServer或EC2并启动3个节点(全部在CentOS上): 2个Web(Apache) – 带负载均衡器 1个MySQL(用于Wordpress动力部分) 问题是现在把Cassandra放在哪里 它应该坐在每个Web节点还是MySQL节点上? 我现在的想法是把它放在Web节点上。 我的理解是,Cassandra具有容错的好处(即,如果我们取下一个节点,则该网站仍在运行)。 因此,即使只有2个节点,我们也能获得这种好处,而不是把它放在MySQL节点上。 另外,当我们扩展并添加另一个节点时,一个cassandra实例可以和它一起,并且PHP总是可以在本地主机上运行它的查询。 这是一个好主意吗?
我有一个GlassFish群集。 当我试图添加节点和一个实例时,DAS说了一堆错误消息 Resource [ jdbc/xxxx ] of type [ jdbc ] is not enabled [#|2012-11-14T12:07:04.318+0900|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=2803;_ThreadName=Thread-2;|java.lang.StackOverflowError at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:318) at java.io.BufferedOutputStream.write(BufferedOutputStream.java:122) at java.io.PrintStream.write(PrintStream.java:480) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.util.logging.StreamHandler.flush(StreamHandler.java:242) at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:106) at java.util.logging.Logger.log(Logger.java:522) at com.sun.logging.LogDomains$1.log(LogDomains.java:372) at java.util.logging.Logger.doLog(Logger.java:543) at java.util.logging.Logger.log(Logger.java:607) at com.sun.enterprise.resource.deployer.JdbcResourceDeployer.deployResource(JdbcResourceDeployer.java:117) at org.glassfish.javaee.services.ResourceProxy.create(ResourceProxy.java:90) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:507) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at […]
直到最近,我还是假定Microsoft NLB在操作系统/机器级别而不是应用级别上工作。 即,NLB只监视机器上的心跳,以检查机器是否处于活动状态,然后closures特定节点(如果它断开)。 但是,我发现这个评论在服务器故障问题上有所不同。 根据评论 NLB只是将连接路由到打开的TCP端口。 如果您的应用程序closures了端口,则NLB将不再将其连接路由到该端口,直到该端口再次打开。 以上是真的吗? NLB是否在端口级别监视应用程序? 如果(1)的答案是“是”,那么它是否会切换服务停止以及服务挂起的情况,还是仅针对其中的一种情况? 如果NLB确实做了以上所有的事情,那么使用Clustering有什么用呢? 唯一的好处是对于集群,你不需要复制的数据。 但总体集群将是更昂贵的解决scheme。 对于像MS SQL Server这样的标准产品,对于我自己的服务,上述问题的答案是不同的,还是相同? 如果NLB不这样做,只是操作系统/机器级别的心跳,那么有没有其他的方式,而不是群集为我自己的服务提供高可用性和切换?
我即将build立一个由5个物理服务器节点组成的Linux集群(可能会在稍后添加更多的节点)。 该集群将由Proxmoxpipe理(是的,它在软件RAID中工作) 共享存储将通过Gluster在冗余设置中实现 ,每个物理服务器都保持一个块(所以,所有机器都会冗余地提供数据) Percona XtraDB集群将被用作主要的多主数据库 – 同样,所有物理机器共享数据 每台机器将有两个硬盘,每个硬盘大小为2-3TB,采用RAID1设置 所有的机器将被托pipe在一个拥有冗余电源的大型数据中心中。 服务器规格可以在这里看到 整个集群的范围是分配工作量+允许高可用性。 一台机器可以随时停机而不会成为整个系统的问题。 剩下的一个决定是使用软件RAID1还是硬件RAID1 + BBU 。 软件RAID是我非常熟悉的解决scheme(15年来,我pipe理着许多服务器,我知道这些工具是如何工作的)。 我从来没有一个严重的问题(主要是只有硬盘故障)。 这就是我更喜欢软件RAID的原因。 我对硬件RAID不喜欢的地方是控制器厂商之间的不兼容性,以及我所缺乏的经验:不同的configuration选项,不同的监控方法,不同的应用程序 – 不是创build集群系统的好感觉。 我知道,使用BBU时,硬件RAID既可以快速又可靠 (通过caching写入)。 但是,由于所有数据都将以高度冗余的方式存储在群集中,我的想法是使用软件RAID1并禁用文件系统中的障碍来提高写入性能。 我预计这将导致类似的硬件RAID1性能 。 当然,由于易失性写入caching,我有可能会丢失数据,但恕我直言,应该由群集机制来处理(整个机器应该能够在失败后从其他节点恢复数据)。 我不担心软件RAID实现所需的CPU资源。 我的假设是正确的还是错过了一些可以帮助我做出正确select的重要细节?
我知道要检查Galera集群状态,login到mysql客户端后应该使用的命令是: SHOW STATUS LIKE 'wsrep%'; 但是,如何直接从命令行获得输出? 下面的命令导致错误: [root@mariadb01 ~]# mysql -u root -p "SHOW STATUS LIKE 'wsrep%';" Enter password: ERROR 1049 (42000): Unknown database 'SHOW STATUS LIKE 'wsrep%';' 我打算使用cron和bash创build一个简单的监视,因此需要使用命令行来获取输出
我有一个5节点的Hyper-V群集正在运行。 所有5台服务器都运行Server 2012 R2,每个节点使用iSCSI连接两台设备。 我遇到问题的设备有一个用作CSV的单个卷。 这是提供给c:\clusterstorage\volume2下的服务器 我已经完成将所有虚拟机存储移动到新设备上的过程,新的CSV已启动并正在运行,并且已连接节点。 新设备的一切工作正常。 然后,我尝试通过执行以下操作将旧设备作为共享存储设备删除。 我使用PowerShell获取群集上的所有VHD的path,没有指向c:\clusterstorage\volume2我检查了configurationpath没有指向c:\clusterstorage\volume2我也检查了快照path没有指向c:\clusterstorage\volume2 我开始删除4个节点上的iSCSI目标(4个存储资源目前没有“分配”),这是成功的。 然后我去了故障转移群集pipe理器并将CSV设置为脱机。 2个虚拟机立即进入保存状态(幸运的是不是关键的服务器)。 我将资源重新联机并启动机器。 我检查了每个虚拟机的设置页面,也没有提到c:\clusterstorage\volume2\ 。 然后我去查找configuration文件只是为了手动确保他们和设置页面之间没有什么不同。 我首先查看了c:\clusterstorage\volume2\这个虚拟机的文件夹不在这里。 我查看了新的位置c:\clusterstorage\volume5\和c:\clusterstorage\volume6\每个虚拟机的文件夹都在这里。 我检查了configuration文件,他们是完全一样的,没有包含任何对c:\clusterstorage\volume2\我检查了C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines ,每个虚拟机指向新的卷位置的快捷方式。 总之,没有什么我可以find指向c:\clusterstorage\volume2\但如果我离线CSV这两台机器进入保存状态。 即使是陌生人,我在写这个时再试一次,是的,两台机器进入保存状态,但即使CSV保持离线状态,我仍能够再次启动它们。 我现在有两个虚拟机在每个存储资源选项卡显示为脱机,但他们正在'工作' 所以任何人都可以指出我可能的解决办法,也许我没有find一个configuration文件? 或者,我的最佳做法是在保留VHD的同时删除VM并创build一个新的VM并附加原始的VHD。 对不起,墙上的文字。
我被要求升级我们的Slurm Workload Manager安装。 我在Debian 7.0 wheezy集群(1个主节点+8个节点)上安装了2.3.4。 我没有安装它,所以我有点困惑如何做到这一点,以及如何继续而不破坏任何东西。 (我不能真正备份数据,因为有太多的数据可以拷贝到其他地方。 我想升级至lessJessie(Debian 8),但是Slurm呢? 我仔细阅读了文档的升级部分( https://slurm.schedmd.com/quickstart_admin.html ),读取升级必须逐步完成,而不是从2.3.4跳到17。 斯蒂尔对我来说并不清楚如何做到这一点。 如果要求升级一个你一无所知的集群,你将如何进行? 你会检查什么? 你会select什么版本的os和slurm? 你会备份什么? 你将如何继续? 任何信息都是金子! 谢谢
让我先说我的背景是软件开发。 我提前为任何愚蠢的问题表示歉意。 我一直负责将支持双节点Windows Server 2008故障转移群集的硬件规格放在一起。 我们正在寻找使用惠普硬件。 双节点安装需要哪些硬件? 我可以摆脱只有两台服务器,还是需要在两台服务器之间共享的外部存储设备(SAN?)?
我将提供“文件托pipe”服务,我需要一些与我一起工作的东西,并允许项目扩展。 起初,我正在考虑一个采用RAID 5的大型服务器作为初创公司,但后来我认为使用多台服务器会更好,因为未来扩展容易,应该更便宜,但我完全不知道这些服务器应该/可以链接,如果多个服务器将作为一个单一的系统。 你能帮我解决一些想法和链接,关于将多个服务器连接在一起的信息,使它们作为一个系统运行,这样我就可以像处理一台服务器一样使用所有的处理器和磁盘空间+如果一台服务器崩溃了,其数据? 其他服务器能否正常工作? 对于服务器地理位置不同的位置,以及如何将文件从一个位置传递到另一个位置,我仍然有更多的疑问,但这不是现在的优先事项。 我已经在Google上阅读过这个function,但是他们正在使用他们自己的文件系统和其他一些不公开的function。
我有2个服务器与Windows 2008 R2标准操作系统。 我需要创build一个集群,以防服务器closures; 所以另一个会继续提供服务。 我们主要使用的服务是用于相机的SQL Server和服务器端软件。 networking负载平衡器将帮助我还是我必须升级到企业版以便使用故障转移群集?