我们正在考虑用IIS,.Net 4,MSSqlServer 2003安装程序重build我们的小型生产运行冗余服务器。 以前的三服务器configuration有机地发展,并且有许多手工configuration的部分,这些部分可以一起网格化,但不是完全的。 此外,部署故事是大部分时间都在运行的一系列未版本化的PowerShell脚本。 与configuration文件相同,在生产和开发之间略有不同(而不是以自动生成的方式)。 与logging,监视等相同 我很好奇,如果有一个共识,就是如何在configuration方式中设置这样的事情,以最大限度地减less系统pipe理工作。 在Ruby世界里,VM镜像+ Chief / Puppet + GitHub似乎有共识。 或者像EngineYard这样的外部托pipe服务。 但是我无法find类似的MS / .Net环境的build议。 我正在寻找低成本的解决scheme,而不是一个全能唱歌的全能舞蹈企业软件,这对于4-6个虚拟机来说是一个过度的浪费。
假设我在/etc/syslog.conf文件中有以下内容: # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console 我想将其更改为kern.* /var/log/kern.log以获取内核日志的可读时间戳。 木偶可以做到这一点: class syslog::config { file { "/etc/syslog.conf": ensure => present, source => "puppet:///modules/syslog/syslog.conf", require => Class["syslog::install"], notify => Class["syslog::service"], } } 或者我也可以使用sed -i 。 通过Augeas ,我可以在文件末尾追加这一行: class syslog::config { augeas { "syslogkern": context => […]
我遇到了以下Puppet清单的问题,这是为了启用RHEL-6系统上的passwdqc pam模块(这是使用Puppet 0.25.5和augeas 0.7.2): augeas { 'authconfig': context => '/files/etc/sysconfig/authconfig', changes => [ 'set USEPASSWDQC yes', 'set USECRACKLIB no', ], notify => Exec['authconfig-all'], } exec { 'authconfig-all': command => '/usr/sbin/authconfig –updateall', refreshonly => true, } 如果我运行这个清单,它似乎成功完成: info: Applying configuration version '1311189237' notice: //Augeas[authconfig]/returns: executed successfully info: //Augeas[authconfig]: Scheduling refresh of Exec[authconfig-all] notice: //Exec[authconfig-all]: Triggering 'refresh' […]
作为一名专业的系统pipe理员,您认为哪些configuration项目对跟踪执行适当的configuration或更改pipe理至关重要? 例如,在Windows中,除了硬件或软件之外,还要跟踪registry更改吗? 在Linux中,你不同意configuration文件吗? 编辑:澄清,我正在寻找什么专门跟踪(或不跟踪) – 如果你想build议除了你觉得值得跟踪的项目之外的工具,继续前进。
我们build立了一个服务器,运行一个小型协会的基础设施。 到目前为止,我们已经试图用Ansible来pipe理这个configuration,但是这并不是很成功。 也许我们做错了。 原则上,这个想法是,大多数时候这个服务器将被放在一边,人们在蓝色的月亮里添加或者改变事物。 这使得至关重要的是,不pipe在服务器上configuration和运行的是什么,都有很好的文档和清晰的说明,因为不经常pipe理系统的人必然会失去概览(更不用说记住细节)。 另外,随着时间的推移,pipe理这个服务器的人群的组成将会改变(当人们离开并join“委员会”时)。 我们开始了一个干净的安装,每当我们想要设置一些东西(nginx,phpfpm,postfix,防火墙,sftp,munin,..)时,都会添加angular色。 也许是由于我们缺乏经验,我们当然无法完全按照我们需要的方式来完成一套完整的任务,也是因为configuration是一个试验和错误的过程。 这意味着在实践中,我们通常首先configuration我们想要在服务器上运行的任何服务,然后转化为合理的任务。 你可以看到这是怎么回事 人们忘记testing任务,或者害怕这样做会冒险,或者更糟糕的是:我们忘记或忽视了为事情添加东西。 今天,我们几乎没有信心确切的configuration实际上反映了服务器上configuration的内容。 目前我看到三个主要问题: 很难(阅读:我们没有一个好的方法)testing任务而不冒险破坏事情。 它增加额外的工作,首先找出所需的configuration,然后找出如何将其转化为合理的任务。 (理想情况下)我们不会经常使用它来build立熟悉和常规。 这里重要的一点是,无论我们最终做什么,新人都应该很容易地学习绳索,而不需要大量的练习。 是否有一个可行的替代scheme仍然提供了一些保证和检查(比如将Ansible文件合并到一些master文件中),即“configuration和logging你所做的”未能提供的? 编辑:我们已经考虑提交/etc git。 有没有一种合理的方式来保护秘密(私人密钥等),但仍然有服务器之外的configuration库在某种程度上可用?
我正在使用带有软件更新点function的System Center Configuration Manager 2012; 然而,在这种环境下,补丁必须严格手动,因为服务器重启需要由不同的人批准和安排。 因此,我需要使用ConfigMgr的SUP,就像我会使用一个普通的WSUS服务器进行自动批准,但手动安装。 我创build了一些自动部署规则,以自动下载和部署关键更新,并“尽快”安装处理; 但是之后,我还configuration了这些规则,在达到截止date时不做任何事情 ,即使需要也不要执行系统重新启动: 另外,我已经将设备集合configuration到这些规则部署更新的位置, 而没有任何有效的维护窗口。 但是,我遇到了与我所期望的完全相反的情况:只要ADR处理新更新,它们就会自动安装到软件中心的所有系统上,然后重新启动计算机。 为什么发生这种情况? 我得到了什么错误,或者只是ConfigMgr 2012不行为应该?
我想列出一个目录内容,并在其他地方使用结果: bundle agent test { commands: "ls /tmp/test/"; reports: ubuntu:: "print output here for example"; # or add it to a variable which is how I really want to use it. }
在我目前的环境中,我所有的Linux服务器都只能通过启用了MFA的堡垒主机访问。 我设法让Ansible成功地通过堡垒与服务器交谈,唯一的问题是它为每个主机build立了一个新的堡垒连接,这意味着我必须input尽可能多的MFA密钥,因为我有服务器。 不好的时候 🙁 我已经尝试在我的sshconfiguration中尝试使用多路复用工作: Host bastion ControlMaster auto ControlPath ~/.ssh/ansible-%r@%h:%p ControlPersist 5m 不幸的是,似乎没有这样做。 任何人都可以得到一些关于如何阻止Ansible通过我的堡垒主机为其接触到的每个主机重新build立连接的提示。 谢谢!
我通常通过configurationpipe理来学习,特别是使用puppet来实现。 我已经做了一些通用的研究( 也在SF上 ),现在我正在考虑Apache VirtualHosts。 我们在两个系统上托pipe了很多LAMP网站(目前在几百个范围内):一个Apache2 / mod_php一个和一个MySQL一个 – 基本上与SF上的另一个问题相反, 在那里他pipe理大量服务器,每台服务器只有很less的虚拟主机其实不是一个,我不知道)。 我还没有把傀儡的工作configuration放在一起,但这不应该是一个问题,这里有很多 例子和配方。 除了显而易见的apacheconfiguration文件外(我猜这里没有问题),每个虚拟主机都需要创build一些目录并检查权限(例如,每个虚拟主机的根目录包含一个文档目录,一个专用的目录目录,一个专用php会话文件目录,可能是SSL证书等)在Web服务器上,以及用户+ MySQL服务器上的一个或多个数据库。 添加一个新的虚拟主机需要傀儡来创build这些,删除一个将需要傀儡运行一些脚本,将备份用户数据,然后从两台服务器中删除实时数据,但每一个傀儡代理运行,然后将检查存在目录,数据库,权限等 在上百个虚拟主机上运行每个木偶运行的所有这些检查,特别是文件系统(在web服务器上),特别是在将来系统将被加载更多的时候,我是否要求麻烦? (假设我们将1000〜2000个网站的范围定为合理的每个服务器的最大值)。 网上有这样的经验吗? 我googlesearch,但没有发现,也因为有一个低信号/噪音比search“木偶”和“阿帕奇”…
我花了很多时间在HP ProLiant系统和Linux安装上。 由于我工作的业务性质,我不能同时部署大量相同的系统。 另外,我的系统分布在多个地点。 我的许多服务器都是类似的,但是安装过程非常迅速,只需要足够的时间来查看系统configuration,处理器步进,固件版本和其他function的变化。 所以,即使我有一个合理快速的kickstart系统需要5-10分钟,我花了45分钟的时间来升级服务器硬件。 1)。 假设我有我想要的磁盘和物理组件,我开始安装固件DVD和/或SmartStart来configurationSmartArray逻辑驱动器和控制器设置。 根据应用程序的不同,我需要更好地控制SmartArray,而不是BIOS实用程序允许的。 固件更新很有帮助,因为服务器可能随旧版本一起发货。 有时,我将在安装操作系统之后运行固件更新。 2)。 国际劳工组织设置 国际劳工组织的参数需要设置。 pipe理员密码更改,安装的ILO密钥,SNMP参数修改…我通常会在控制台执行此操作,或者在DHCP列表中findILO并远程连接。 3)。 我需要在我pipe理的系统上进行特定的BIOS更改。 例如,closures超线程,设置电源configuration文件,进入高级BIOS菜单启用低延迟设置,减lessASR超时,设置时间… 鉴于上述说明,我怎样才能简化这个过程呢? 所有这些东西都可以编写脚本吗? 大型无头安装环境中的工程师如何做到这一点? 更重要的是,你怎样才能跟踪这些参数或强制一系列的改变?