我正在部署一个符合12 因素建议的 3rd 方应用程序,其中一点告诉应用程序日志应该打印到 stdout/stderr:然后集群软件可以收集它。
但是,应用程序只能写入文件或系统日志。我该如何打印这些日志?
我有一个具有以下节点的 Redis 集群:
192.168.0.14:6379 master (slots from 0 to 16383)
192.168.0.15:6379 slave (slots from 0 to 16383)
192.168.0.16:6379 master (without slots)
Run Code Online (Sandbox Code Playgroud)
文档说任何节点都可以将查询重定向到正确的节点。但我无法重定向来自 192.168.0.16:6379 主节点的请求。这是我尝试过的:
192.168.0.16:6379> set myKey myValue
(error) MOVED 16281 192.168.0.14:6379
192.168.0.16:6379> get myKey
(error) MOVED 16281 192.168.0.14:6379
Run Code Online (Sandbox Code Playgroud)
它既不写也不读。当我尝试从 192.168.0.14:6379 获取“myKey”时,它显示如下:
127.0.0.1:6379> get myKey
(nil)
Run Code Online (Sandbox Code Playgroud)
我的请求有什么问题?我使用的是 redis 服务器版本 3.2.5
我正在使用 nginx 和 NginxHttpUpstreamModule 进行负载平衡。我的配置很简单:
upstream lb {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
}
server {
listen 89;
server_name localhost;
location / {
proxy_pass http://lb;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Run Code Online (Sandbox Code Playgroud)
但是使用此配置,当 2 个后端服务器之一关闭时,nginx 仍将请求路由到它,并且导致一半时间超时:(
是否有任何解决方案可以让 nginx 在检测到关闭的服务器时自动将请求路由到另一台服务器。
谢谢你。
Puppet需要被管理的客户端(puppet)和服务器(puppetmaster)之间的证书。您可以在客户端手动运行,然后进入服务器对证书进行签名,但是如何为集群/云机器自动执行此过程?
是否有适合与 Windows Server 2008/SQL Server 一起使用以进行故障转移群集的生产质量 iSCSI SAN?
到目前为止,我只见过戴尔的 MD3000i 和惠普的 MSA 2000 (2012i),它们的磁盘配置最少,价格都在 6000 美元左右。Buffalo(是的,我知道)有一个 1000 美元的设备支持 iSCSI,但他们说它不适用于 2008 故障转移集群。
我有兴趣在生产环境中看到适合故障转移的东西,但 IO 要求非常低。(集群,比如说,一个 30GB 的数据库。)
至于使用软件:在 Windows 上,StarWind 似乎有一个很好的解决方案。但这实际上比购买硬件 SAN 更划算。(据我所知,只有企业版支持拥有副本,而且一个许可证需要 3000 美元。)
我在想我可以使用 Linux,比如 DRBD + iSCSI 目标就可以了。但是,我还没有看到任何免费或低成本的 iSCSI 软件支持 SCSI-3 持久保留,这是 Windows 2008 故障转移群集所需要的。
我知道 6000 美元并不多,只是想看看是否有实用的更便宜的解决方案。最后,是的,该软件价格昂贵,但许多小型企业获得 MS BizSpark,因此 Windows 2008 Enterprise / SQL 2008 许可证是完全免费的。
windows-server-2008 cluster iscsi storage-area-network failover
我目前正在考虑将我们的一些服务器和应用程序迁移到coreOS环境。我在这里看到的问题之一是持久数据的管理,因为在将容器移动到新机器时,coreOS 不处理 Docker 卷。经过一番研究,我发现glusterFS声称是一个可以解决我所有问题的集群文件系统。
我目前的想法是:我有一个 glusterFS 容器,它在我的每台 coreOS 机器上作为特权容器运行,并公开一个存储,/mnt/gluster例如。在我的Dockerfiles 中,我指定我的所有卷都应安装在此路径上。
我考虑的下一件事是哪些容器应该获得自己的卷,哪些应该共享一个。例如,每个mysql容器都有自己的卷,因为它能够自己处理复制。我不想惹这个。为同一网站提供服务的网络服务器将正确使用相同的卷来处理“用户上传的图像”等内容,因为它们无法复制这些数据。
有没有人尝试过这样的事情,或者我错过了什么?
大文件树是指大约 20 万个文件,并且一直在增长。但是,在任何给定的小时内更改的文件数量相对较少。
双向我的意思是更改可能发生在任一服务器上并且需要推送到另一台服务器,因此 rsync 似乎不合适。
遥远的意思是服务器都在数据中心,但在地理上彼此相距遥远。目前只有 2 个服务器,但随着时间的推移可能会扩展。
实时地,同步之间有一点延迟是可以的,但是每 1-2 分钟运行一次 cron 似乎是不对的,因为在任何给定的小时内,很小的一部分文件可能会发生变化,更不用说分钟了。
编辑:这是在 VPS 上运行的,所以我可能会限制我可以做的内核级别的事情。此外,VPS 的资源并不丰富,所以我会回避需要大量内存的解决方案(比如 Gluster?)。
完成这项工作的最佳/最“被接受”的方法是什么?这似乎是一个普遍的需求,但我还没有找到一种普遍接受的方法,这令人惊讶。(我正在寻求群众的安全。:)
我遇到过lsyncd在文件系统更改级别触发同步。这看起来很聪明,虽然不是很常见,但我对各种 lsyncd 方法有点困惑。只是将 lsyncd 与 rsync 一起使用,但似乎这对于双向性来说可能很脆弱,因为 rsync 没有内存概念(例如,要知道 A 上已删除的文件是否应在 B 上删除,或者它是否是 B 上的新文件应该复制到 A)。 唇形看起来只是一个lsyncd + rsync的实施,对不对?
然后将 lsyncd 与csync2一起使用,如下所示:https : //icicimov.github.io/blog/devops/File-system-sync-with-Csync2-and-Lsyncd/ ...我倾向于这种方法,但是csync2 有点古怪,但我确实对它进行了成功的测试。我最担心的是我找不到很多社区对此方法的确认。
这里的人似乎很喜欢 Unison,但它似乎不再处于积极开发状态,并且不清楚它是否具有像 lsyncd 这样的自动触发器。
我已经看到Gluster提到过,但也许对我需要的东西来说太过分了?
更新:仅供参考 - 我最终采用了我提到的原始解决方案:lsyncd+csync2。它似乎工作得很好,而且我喜欢让服务器非常松散地连接的架构方法,这样每个服务器都可以无限期地独立运行,而不管它们之间的链接质量如何。
刚刚完成我对设置 Web 服务器集群的研究,但我仍未决定与 Pacemaker 一起使用哪个消息传递层。我使用的服务器都是 Fedora,所以这两层都可以通过 YUM 获得,两者都有很好的文档记录,据说可以很好地与 Pacemaker 配合使用。我无法找到的是关于哪个更好的意见。有没有人对这两种方法都有经验,并且对哪一种更好有偏好?是否有更大的社区支持基础?一个比另一个更稳定吗?或者这是一个随意的决定?
是否可以创建 ZFS 集群?或者您是否需要使用由 GlusterFS 管理的 UFS 格式池来走 ZFS 看似丑陋(至少对我而言)的路线?
我们的想法是看看是否可以扩展到 ZFS 应该能够顺利处理的多拍字节分布式存储。
任何指针,博客,帖子?
什么时候是为网站引入高可用性的合适时机?
有很多关于高可用性选项的文章。这不是很明显,但是何时是从单服务器切换到高可用性配置的合适时机。
请考虑我的情况:
http : //www.postjobfree.com是 24/7 的网站,流量很大:http :
//www.similarweb.com/website/postjobfree.com
目前我在一台服务器上运行它:IIS 7.0 Web 服务器和 SQL Server 2008 运行在同一个硬件设备上。
偶尔(~每月一次)~5 分钟的停机时间通常是由某些 Windows Server 更新所需的重新启动引起的。通常停机时间安排在晚上。仍然令人不快,因为谷歌机器人和一些用户在晚上仍然活跃。
当前的网站收入约为 8000 美元/月。
我考虑切换到两台服务器配置(两台 Web 服务器的 Web 场和托管在两台硬件服务器上的 2 个 SQL Server 的集群)。
优点:
1)高可用性(理论上没有停机时间)。即使其中一台服务器出现故障,另一台服务器也会接管。
2)无数据丢失:没有SQL集群,硬件故障最多可以丢失1天的数据(我们每天做备份)。
缺点:
1) 设置和维护此类配置需要付出更多努力。
2)更高的托管成本。而不是〜$ 600 /月,它将约为$ 1200 /月。
你的建议是什么?