我们有两个负载平衡的 CentOS 5.3 网络服务器,可以处理相当数量(约 20 个)的个性化购物网站。最终结果是我们必须为每个产品拥有一个单独的安全站点,从而产生大量网络别名,每个 IP 一个别名,这样 SSL 才能正常工作。
显然,手动管理这些东西并不好玩,尤其是当服务器死机并且您需要重建并希望确保一致性时。
但是,IT 经理不习惯使用 CLI 工具来管理某些事情,并且坚持使用类似的 GUI 工具system-config-network
,以防他想要更改某些内容。
我编写的用于管理机器配置的脚本已尝试将这一点考虑在内,对于大多数网络配置,我使用system-config-network-cmd -e > netconfig
转储配置、进行更改,然后system-config-network-cmd -i -c -f netconfig
将更改重新导入。
我发现的问题是不同版本的 scn-cmd 行为不同,并且通常导入的内容不是实际存储的内容。即使只是简单地system-config-network-cmd -e > netconfig
立即执行system-config-network -i -c -f netconfig
而不进行任何更改也会导致不同的配置(运行system-config-network-cmd -e > netconfig2
和执行diff netconfig netconfig2
显示差异)。
scn-cmd 的问题是否会得到解决,还有其他人处理过这个问题吗?我尝试/etc/sysconfig/networking/*
直接修改,但这似乎也不总是正确的。
是否有一些 Right Way(TM) 可以确保 RH GUI 工具和 /etc/sysconfig/network-scripts 可以和谐相处,同时仍然对脚本友好?
我正在考虑最终转向 puppet,但它在需要完成的其他项目的长长列表中远远落后,所以我希望有一些东西可以让我们继续前进。
一个问题:当 IT经理甚至不习惯使用 shell 时,为什么要更改网络配置?如果他希望我做好我的工作,我会告诉他远离生产服务器。他做他的工作(付钱给我),我做我的(工作服务器)。
无论如何,也许“设置”命令可以帮助您。以及如何使 /etc/sysconfig/network-scripts 成为 svn 或 git 存储库。比你至少可以回到以前的版本。我自己没有遇到像你这样的问题,因为我倾向于在部署期间编写网络配置脚本,然后就这样。不过,您所描述的内容听起来像是一个错误,因此您可能需要提交一份关于该工具的无关紧要行为的错误报告。
顺便说一下,为这样的琐碎任务设置 puppet 并不是很多工作,因此这可能是一个很好的解决方案。