Questions tagged «configuration-management»

配置管理是指在组织内建立和维护标准化的系统配置。该标签包含定义配置文件的过程以及用于管理和部署它的软件。

7
小家伙们如何才能有效地学习和使用Puppet?[关闭]
六个月前,在我们的非营利项目中,我们决定开始将系统管理迁移到Puppet控制的环境,因为我们希望从现在到一年之间,我们的服务器数量将大幅增长。 自从做出决定以来,我们的IT人员变得太烦恼了。他们最大的反对意见是: “我们不是程序员,我们是系统管理员”; 模块可在线获得,但许多模块彼此不同。车轮经常被重新发明,您如何确定哪一个合适? 我们仓库中的代码还不够透明,无法找到他们必须如何通过清单和模块来递归某些东西,而清单和模块甚至可能是他们前一段时间编写的。 一个新的守护程序需要编写一个新模块,约定必须与其他模块相似,这是一个困难的过程。 “让我们运行它,看看它如何工作” 社区模块中大量鲜为人知的“扩展”:“ trocla”,“ augeas”,“ hiera” ...我们的系统管理员如何跟踪? 我明白了为什么大型组织会派系统管理员到Puppet课程来成为Puppet大师。但是,如果较小的玩家不参加课程并且基本上通过浏览器和编辑器学习Puppet,他们将如何获得专业水平的学习?


5
在有意义的主机名和无意义的主机名之间进行选择
假设一个环境是由人偶管理的,由不同服务器组成的集群-各种硬件,软件,操作系统,虚拟/专用等。 您将选择有意义的主机名(mysqlmaster01..99,mysqlslave001..999,vpnprimary,vpnbackup等),还是希望使用无意义的主机名,例如书或电影中的字符? 我发现有意义的主机名存在的问题是,名称通常代表单个服务,并且如果服务器具有多个目的,则它会变得非常混乱(尤其是如果服务器角色经常更改)。 是不是将服务名称映射到IP地址并保持该映射DNS应该做的事情? 两种方法的优点和缺点是什么?选择的方法必须解决哪些实际问题?

2
为什么在Red Hat和CentOS的主要版本之间进行升级如此困难?
“我们可以将现有的生产EL5服务器升级到EL6吗?” 来自两个完全不同环境的客户的简单要求使我通常的最佳实践回答是“是,但是这将要求协调重建所有系统 ”。 出于停机和资源原因,两个客户都认为完全重建他们的系统是不可接受的选择……当被问到为什么必须完全重新安装系统时,我没有一个很好的答案,“就是这样...” 我不是要引起有关配置管理(“伪造一切 ” 并不总是适用)或客户端应该如何计划更好的响应。这是一个现实的环境示例,该环境中的生产能力已经增长并蓬勃发展,但是没有一个干净的方法可以迁移到其下一代操作系统。 环境A: 具有40个Red Hat Enterprise Linux 5.4和5.5 Web,数据库服务器和邮件服务器,运行Java Web应用程序堆栈,软件负载平衡器和Postgres数据库的非营利组织。所有系统都在两个位于不同位置的VMWare vSphere群集上虚拟化,每个群集都具有HA,DRS等。 环境B: 高频金融贸易公司,在运行生产交易业务的多个主机代管设施中具有200个CentOS 5.x系统,支持内部开发和后台功能。交易服务器在裸机商品服务器硬件上运行。它们具有大量的sysctl.conf,,rtctl中断绑定和驱动程序调整,以降低消息传递延迟。有些具有自定义和/或实时内核。开发人员工作站也正在运行类似版本的CentOS。 在这两种情况下,环境都按原样运行。升级的愿望来自对EL6中可用的更新应用程序或功能的需求。 对于非营利性公司而言,它与Apache,内核和使开发人员感到高兴的一些东西联系在一起。 在贸易公司中,它涉及内核,网络堆栈和GLIBC的一些增强,这将使开发人员感到满意。 两者都不能轻易地打包或更新,而无需彻底改变操作系统。 作为系统工程师,我感谢Red Hat在主要版本之间切换时建议完全重建。一个干净的开始会迫使您重构并在此过程中注意配置。 对客户的业务需求敏感,我想知道为什么这是一项艰巨的任务。RPM打包系统不仅具有处理就地升级的能力,但它带给您的细节很少:/boot需要更多空间,新的默认文件系统,RPM可能破坏升级中的版本,不建议使用和已淘汰的软件包... 这里的答案是什么?其他发行版(基于.deb,Arch和Gentoo)似乎具有此功能或更好的方法。假设我们找到了以正确的方式完成此任务所需的停机时间: 当EL7释放并稳定下来时,这些客户应该怎么做才能避免相同的问题? 还是这种情况下,人们需要每几年辞职以进行全面重建? 随着Enterprise Linux的发展,这种情况似乎变得更糟了。 这是否阻止了任何人使用Red Hat和派生操作系统? 我想这里是配置管理的角度,但是我看到的大多数Puppet安装都无法很好地转换为具有高度定制的应用程序服务器的环境(环境B可能只有一个服务器,其ifconfig输出如下所示)。我会很感兴趣地听到关于如何使用配置管理来帮助组织克服RHEL主要版本冲突的建议。

6
人偶不应该管理什么?
我正在学习一般的配置管理方式,尤其是使用puppet来实现它,我想知道系统的哪些方面(如果有的话)不应该由puppet管理? 举个例子,我们通常认为在将系统借给before的管理之前已经设置了主机名。基本IP连接(至少在用于连接puppetmaster的网络上)必须正常工作。使用puppet自动创建dns区域文件很诱人,但是在启动事物之前,DNS反向指针应该已经存在,否则证书将很有趣。 那么我应该从p中删除IP配置吗?还是应该在第一次启动Puppet之前进行设置,但是仍然要通过Puppet管理IP地址?具有多个IP的系统(例如WAN,LAN和SAN)如何处理? 什么IPMI?您可以使用ipmitool配置大部分(如果不是全部),从而避免获得控制台访问权限(物理,局域网串行,远程KVM等),因此可以使用puppet进行自动化。但是,在每次人偶代理运行时重新检查其状态对我来说听起来并不酷,在执行其他任何操作之前,我希望基本不访问系统。 另一个故事是关于安装更新的。我不打算讲这个特定的问题,关于SF的问题已经很多,不同系统管理员之间的哲学也很多。我本人决定不让puppet更新事物(例如仅ensure => installed),并像我们已经习惯的那样手动进行更新,而当我们对puppet更有信心时(例如,通过将MCollective添加到混合)。 这些只是我现在想到的几个例子。人偶不能忽视系统的任何方面吗?或者,换句话说,应该在供应时设置什么并在系统中“静态”配置什么与通过集中配置管理处理什么之间的界线在哪里?

6
Puppet vs Chef,来自用户和用例的赞成与反对意见
我已经在Google上搜索并阅读了“到木偶或主厨这就是问题”一文。 我对用例,现实世界中的实现感兴趣,在现实世界中,人们根据实际问题选择了一个或另一个。 我对与补鞋匠问题的融合特别感兴趣(我知道p是这个方向上的一种标准方法);作为任何人在皮匠与厨师的融合方面有任何经验吗? 提前致谢

12
如何记录服务器更改?
因此,我们所有人都可能遇到这种情况:您调试了一个问题,却意识到这是六个月前所做的配置更改引起的,并且您不记得为什么这样做了。因此,您撤消它并解决问题,现在又出现了其他问题。哦,是的,现在我记得了!然后您正确地修复它。 这是因为您没有记下正确的笔记,您这傻瓜!但是,执行此操作的好方法是什么? 在工程领域,我们拥有大量旨在帮助我们检测和跟踪变化的软件。源代码管理,代码审查等。跟踪每个更改,每个更改都需要对其内容进行评论。典型的工程部门需要很好的评论,以便在六个月后弄清为什么要破坏它的原因时,您可以使用历史记录的“怪状”功能或二进制搜索构建来找出问题所在。这些工具是非常有效的通讯工具和历史记录。 但是在服务器领域,我们有500种不同的服务,所有这些服务都有不同的配置方式。尽管它们可能具有文本表示形式,但它们并不总是具有文本格式(考虑对文件夹设置权限或更改页面文件位置)。 在我们的环境中,我们将可以进入Perforce的配置文件签入,但是其中很少。无法完全检入Active Directory数据库。尽管可能存在差异,但转储可能有所不同... 过去,我曾尝试在Wiki中保留手动更改日志,但是要保持纪律来做到这一点非常困难(我知道,这不是一个很好的借口,但这确实很难)。 我的问题:您使用什么策略和工具来应对跟踪服务器配置更改的问题? -更新- 注意:我并不是在寻找共享笔记记录工具(我对OneNote较为熟悉),而是在寻找专门用于帮助跟踪服务器更改的自动化工具。没有跟踪服务器配置更改的综合工具,但是也许有一些针对特定应用程序的工具,例如GPO。 我对您发现有用的特定策略也非常感兴趣。“我们在Sharepoint中共享笔记”非常模糊。您如何保持纪律?您使用什么格式来跟踪您的更改?您如何组织变更数据?我真的很想要例子和想法。

1
厨师最佳做法/问题
我使用并喜欢Puppet。我搬到一家新公司,他们正在招收厨师。所以我想学习厨师,但是很难将它们拼凑在一起,因为我仍然认为在Puppet =) 这些是我的问题: 在Ruby DSL,JSON或从管理控制台中设置角色更好吗?为什么有多种方法可以做同一件事? 您可以将食谱组织到子目录中吗?例如:我们有一些我想为其编写食谱的自定义软件,并将其粘贴到:chef-repo / cookbooks / ourcompanystuff / customsoftwarecookbook会是一个好习惯吗? 我是否为每种角色创建食谱,以指定其作用?我是否将这些食谱包括其他食谱(即,我的网络服务器角色的食谱包括apache食谱)?我不确定如何处理食谱的相互依赖性和继承性。 是否有类似Puppet的外部节点分类器之类的东西,以便节点自动确定其角色? 看来您可以使用Knife或在管理控制台中进行配置,或编辑JSON文件?这真让我感到困惑,为什么做事的方法如此之多,简直瘫痪了!是否有理由使用其中一个?来自木偶,似乎很容易用这些工具意外地错误配置了某些东西(即,遗漏了一些东西) 如何在开发集群中使用Chef自动配置节点?使用Puppet,我启动了一个连接到puppermaster的虚拟机,并启动了puppet运行并进行了设置(角色由外部节点分类器确定)。如何与厨师一起做?使用带有将其绑定到厨师服务器的pem / rb文件安装厨师,用刀手动告诉节点其角色或在管理界面中对其进行编辑,然后启动厨师客户机运行以进行自我设置? 我已经完成了入门教程,并且看到它们有EC2教程,但是我从未使用过EC2,因此很难遵循。至此,我主持了Chef的运行,并且我开始尝试配置单个节点。我从这里去哪里?我需要开始阅读公共食谱吗? Opscode上的文档还可以,但不及Puppet的文档。我在搜索中可能还会缺少其他好的厨师资源吗?

2
如何启用Ansible和Vagrant的其他调试输出?
我正在调查Ansible的服务器和应用程序配置。我的应用程序当前在Vagrant中配有shell脚本。我没有重写我的脚本,而是取了一个示例并尝试部署它。 它似乎可以很好地部署,但是在一系列成功的步骤之后,我看到了一条失败消息: » vagrant provision ~/vm/blvagrant 1 ↵ [default] Running provisioner: ansible... PLAY [web-servers] ************************************************************ GATHERING FACTS *************************************************************** ok: [192.168.9.149] TASK: [install python-software-properties] ************************************ ok: [192.168.9.149] => {"changed": false, "item": ""} TASK: [add nginx ppa if it ubuntu 10.04 and up] ******************************* ok: [192.168.9.149] => {"changed": false, "item": "", "repo": …

8
您建议使用哪种工具来跟踪Linux / Unix服务器上的更改
我以电子邮件,缓存,Web服务,过滤,防火墙/路由等多种角色为客户端管理多个Linux服务器。 由于我不拥有这些计算机,而只是提供远程支持,因此像Puppet这样的中央管理系统似乎并不是正确的工具。(如果您认为我对此假设有误,请纠正我) 您建议使用哪些工具来跟踪配置文件,软件包安装等的更改? 我在想类似etckeeper的东西可能接近我的需求,但是我想知道是否还有更好的东西。 更新资料 我们将拥有系统的备份,并且我不希望这种类型的工具可以替代备份。这是关于跟踪配置的更改,并使系统知道何时,由谁以及希望为什么更改了什么。


5
Linux管理员如何提高他们的Shell脚本和自动化技能?
在我的组织中,我与一组NOC员工,刚起步的初级工程师和少数高级工程师一起工作。所有的重点都放在Linux上。公司培养人才的一个有趣步骤是,从NOC到高级工程师队伍之间存在一条道路。将人才库视为一个相对较新的人才,我发现技能组中的差异会随着时间的流逝而逐渐增加... 有些工程师非常了解一种或几种特定技术,并且经常沉浸其中……例如,MySQL,防火墙,SAN存储,负载均衡器... 还有其他一些通才,可以使用多种技术。 所有人都学习了足够的Linux(命令,进程)以执行他们每天需要和使用的内容。 一些员工之间的一个区别因素是他们对脚本,自动化和配置管理方法的接受程度。例如,我们有两名工程师负责大部分Amazon AWS CloudFormation工作,另一名工程师负责处理大部分Puppet基础架构。也许有四分之一的工程师精通BASH Shell脚本。 在上下文看着这个令人难以置信的高要求在就业市场上的DevOps技能,我很好奇其他组织如何培养这些技能的发展和壮大自己的内部人才。脚本似乎不是一个特别可教的概念。 系统管理员如何改善其Shell脚本? 对于那些不/不能跟上DevOps范例的工程师,还有地方吗? 我们是否只是简单地假设随着这些技术的发展就会有人落后?这样可以吗?

3
如何管理数百个IPMI BMC?
我有200多台可以提供IPMI服务的计算机。这些服务器由数家不同的公司(SuperMicro,Dell等)制造,并且大约有5个不同的供应商提供6-7个BMC模型,每个模型都有其自己的特质。 到目前为止,我们已经通过组合使用DHCP和手动配置每个BMC来配置BMC。可以使用可引导CD-ROM,从BIOS(如果支持),使用ipmitool,freeipmi等实用程序的主机操作系统进行配置,或者如果可以确定IP地址的远程地址,则可以使用ipmitool 进行手动配置。设备。 但是,这种手动配置非常繁琐。在某些情况下,我们希望全局更改所有BMC的设置,这要求管理员对数十个框运行命令。由于BMC由不同的供应商提供,并且每种BMC型号可能都有其自己的特质,因此同一命令并不总是适用于所有BMC。 是否有任何实用程序可让我在数十个盒子上批量配置BMC?假设我要在数十种不同的BMC上查询参数,或更改密码,禁用对WebUI的HTTP访问或禁用臭名昭著的密码零安全漏洞。 任何允许我更新BMC固件的实用程序的积分,这对于减轻多个安全漏洞是必不可少的

10
配置管理工具(Puppet,Chef)是否能够使安装的软件包保持最新?
对于已经在运行配置管理工具的人来说,这可能是一个简单的问题。配置管理工具(例如Puppet或Chef)是否是使安装的软件包保持最新状态的正确方法? 假设我运行许多服务器,大多数基于Debian和Ubuntu。当出现安全更新或错误修复时,配置管理工具是否使从存储库中安装的软件包的更新更容易? 我目前正在运行“无人值守升级”,以使系统自动安装安全更新,但我仍然必须连接到服务器并aptitude update && aptitude safe-upgrade经常运行。自然,随着服务器数量的增加,这变得无聊,乏味且容易出错。 Puppet或Chef之类的工具是否是使安装的软件包保持最新状态的正确方法?你们中有人使用这些工具来避免手动运行aptitude或在15台服务器上等效运行吗?我很确定这些问题的答案是“是的,当然!” 但是在哪里可以找到有关此特定用例的更多信息?我还没有时间深入研究Puppet或Chef,而示例菜谱或类仅显示或多或少的安装一个特定软件包(例如ssh)的小例子。除了官方文档之外,您是否有任何其他资源可以推荐(我当然会在知道哪种工具最适合我之后,就去研究这些文档)。


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.