目前,我运行一个(合理的低数量)networking托pipe服务与运行cPanel / WHM的Centos 5.3服务器。
我想实现一个冗余级别,以便在发生服务器故障的情况下,我可以在不到60分钟的时间内以最less的努力恢复服务。
我也想设置一个辅助的DNS,cPanel将复制。 我目前的想法是一箭双雕:
我目前的服务器被称为“www1”
- 购买带有镜像磁盘的相同服务器(HP DL360 G4)。 调用这个服务器“www2”
- 安装Centos 5.4(或者我应该安装5.3与www1相同)
- 在这台服务器上安装cPanel / WHM并完全许可
- 安装www1和www2 cPanel互相复制DNS
- 安装一个夜间复制脚本,执行以下操作:a)rsync的/ home目录从www1到www2 b)转储www1上的所有MySQL数据库并将它们复制到www2上的临时文件夹(仅限root访问)c)触发脚本运行在恢复MySQL转储的www2上
因此,每个晚上,所有网站和MySQL数据库的完整工作副本被复制到www2。
我没有足够的MySQL复制知识来了解它是否可以安全,透明地使用cPanel。 因此,我build议由于不知道任何更好的mysql转储/复制/恢复!
如果www1死亡惨重,我想我可以login到www2,将IP地址改为www1所拥有的IP地址,然后再次访问网站。
这个想法的优点是它相当简单和“低技术”,因此不需要专家系统pipe理员来设置和监视(我不是一个专家系统pipe理员)
这个想法的缺点是,整整一天的数据更改将会丢失。 我认为这是我现在主持的那种客户可以接受的。 另一个缺点是不得不支付一个完整的cPanel许可证,但我对这个成本感到满意,所以现在我要讨论的是技术上的考虑。
这是一个合理的计划吗?
这种types的设置将为你工作 – 我已经在cPanel主机上使用过相同的设置。 MySql备份专门是一个较大的话题,但你所谈论的可能会正常工作。 您错过了许多重要的小部分,除非您已经这样做了几次,其中大部分可以在需要故障转移时直接复制到位:
/ etc /中的信息
- 密码信息:除非要更改所有用户的密码,否则您将需要/ etc / passwd,/ etc / shadow等密钥configuration文件。 对你来说,奖励是运行一个你要pipe理/ etc / proftp /的cpanel服务器,其中所有的ftp密码都存储在这里。 (是的,cpanel现在使用纯粹的ftpd – 它只是把所有的密码存储在/ etc / proftpd /中,因为你现在最好不要爆炸的原因)。
- 您的客户的电子邮件转发器 – / etc / valiases /
- / etc / ssl <-ssl证书 – 客户不喜欢什么时候这些消失。
- / etc / domains和/ etc / .ips中的其他不相干的文件不在我头顶。
关键的cPanelconfiguration文件/模板
- 来自/ var / cpanel /的cPanelconfiguration和服务configuration模板数据。 至less你会想要备份/ var / cpanel /,在故障转移的情况下将其移动到位,然后运行/ scripts / upcp –force。 (这将解决许多问题)
- cPanel使用模板系统来构buildconfiguration文件。 例如,所有的Apache模板数据存储在/ var / cpanel / userdata /中 – 这就是/ scripts / rebuildhttpdconf用于实际创buildhttpd.conf文件的内容。
- / var / cpanel / easy / apache / profile / – 这些是简单的apache用来构build你的apacheconfiguration的configuration文件,我可以准备好在新的服务器上运行,而不是试图在运行中重build。
DNS:
当你的两个服务器都在同一个数据中心,并且你的IP被路由到vLAN时,你的这个scheme就可以工作,同一个DC内的两个服务器几乎都会失去冗余的目的,所有这些都是保护针对主服务器上的大规模硬件故障,但对于DC灾难将无能为力。
通过使用连接到不同PDU的双冗余电源以及服务器上的RAID-10设置,您可能会产生相同的效果,并且您将不再需要设置第二个PDU,但这仍然会使您容易受到攻击以防数据中心出现严重问题。