作为程序员,我们倾向于将sysadmins视为理所当然。几次我都没有好的系统管理员,确实让我很欣赏你们所做的事情。当我们进入没有系统管理员的环境时,您能为我们提供什么智慧的话?
作为程序员,我们倾向于将sysadmins视为理所当然。几次我都没有好的系统管理员,确实让我很欣赏你们所做的事情。当我们进入没有系统管理员的环境时,您能为我们提供什么智慧的话?
Answers:
我将从以下内容开始:
<在此处插入大文章免责声明>
其中一些已经说过了,但是值得重复。
说明文件:
记录一切。如果您没有,请安装一个未公开的Wiki,但请确保备份它。从收集事实开始,有一天,将形成一幅大图。
为每个逻辑块创建图并保持更新。我无法计算准确的网络图或群集图为我节省的次数。
保留每个系统的构建日志,即使只是复制和粘贴有关如何构建它的命令。
在构建系统时,请安装和配置应用程序,对其进行测试并执行基准测试。现在,擦拭磁盘。说真的 从磁盘正面的第一个兆字节“ dd”开始,否则会使该盒子无法启动。时间在流逝:证明您的文档可以从头开始重建(或者更好的是,证明您的同事可以仅凭文档就可以重建)。这将构成灾难恢复计划的一半。
现在,您有了灾难恢复计划的前一半,将其余部分记录在案;如何恢复应用程序的状态(从磁带还原文件,从转储重新加载数据库),供应商/支持详细信息,网络要求,如何以及在何处获得替换硬件-您可以想到的任何方法都将帮助您恢复系统。
自动化:
监控:
应用程序工具是纯金。能够监视通过系统的事务使调试和故障排除变得非常容易。
创建端到端测试,不仅可以证明应用程序还处于运行状态,而且可以真正实现其应有的功能。如果可以将其插入监视系统以进行警报,则说明您的要点。这具有双重职责;除了证明该应用程序可以正常工作之外,它还使系统升级变得更加容易(监控系统报告为绿色,升级工作正常,下班时间)。
基准,监控和收集所有理智的指标。基准告诉您什么时候可以期待某些东西会散发出魔力。监视会告诉您什么时候有。度量标准和统计数据使通过管理更容易获得新套件(带有新鲜的魔术烟雾)。
如果您没有监视系统,请实施一个。如果您确实将上述端到端测试纳入其中,则可获得加分。
安全:
“ chmod 777”(也称为授予所有访问/特权)永远不是解决方案。
遵循“最少”原则;如果未在磁盘上安装,复制或以其他方式驻留它,则不会受到损害。在安装阶段安装“厨房水槽”操作系统和软件可能会使工作变得更轻松,但最终还是要为此付出代价。
知道服务器上每个开放端口的用途。经常对其进行审核,以确保没有新的出现。
不要尝试清理受损的服务器。它需要从头开始重建。使用最新下载的介质重建到备用服务器,仅从备份中还原数据(因为二进制文件可能会遭到破坏),或者将受到破坏的主机克隆到隔离的位置进行分析,以便您可以在同一套件上进行重建。这是整个法律的噩梦,因此在保存方面犯错,以防万一您需要寻求法律途径。(注意:IANAL)。
硬件:
永远不要假设任何事情都会像盒子上所说的那样做。证明它可以满足您的需求,以防万一。您会发现自己说“几乎有效”的频率比预期的要多。
不要跳过远程硬件管理。串行控制台和灯光管理应视为强制性的。当您无法选择时,远程控制配电盘的奖励积分。
(另外:凌晨3点有两种解决问题的方法,一种涉及保暖,通过睡衣中的VPN在笔记本电脑上工作,另一种涉及厚外套和到数据中心/办公室的驱动器。我知道哪一个喜欢)。
项目管理:
从项目生命周期的第一天起就需要维护系统的人员参与。试剂盒的交货时间和大脑时间可以而且将会令人惊讶,毫无疑问,它们(应该吗?)将具有成为项目依赖项的标准或要求。
文档是项目的一部分。在项目关闭并且系统已移至维护阶段之后,您将永远没有时间来编写整个内容,因此请确保在开始时就将其包括在计划中。
从项目第一天开始就计划过时,并在您在项目文档中指定的关闭日期前六个月开始刷新周期。
适用于生产的服务器具有定义的生存期。使用寿命的终止通常被定义为每当供应商开始收取的年度维护费用超过更新套件所需的费用时,或三年左右,以较短者为准。在这段时间之后,它们非常适合开发/测试环境,但是您不应该依赖它们来经营业务。在2 1/2年的时间里重新审视环境,可以为您提供足够的时间来跳过必要的管理和财务工作,以订购新套件,并在将旧套件发送到空中大供应商之前实现平稳迁移。
发展:
后备
您不备份的数据就是您不需要的数据。这是一成不变的法律。确保您的现实与此相符。
备份比看起来难。有些文件将被打开或锁定,而另一些文件则需要静默以恢复,希望所有这些问题都得到解决。一些备份软件包具有代理或其他方法来处理打开/锁定的文件,而其他软件包则没有。将数据库转储到磁盘并进行备份是“静默”的一种形式,但这不是唯一的方法。
除非经过测试,否则备份毫无价值。每隔几个月,请从存档中拉出随机磁带,确保其上确实有数据,并且数据是一致的。
最重要的是...
选择您的故障模式,否则墨菲会...而墨菲无法按照您的计划工作。
针对故障进行设计,记录每个系统的设计弱点,触发它们的原因以及如何恢复。出现问题时,一切都会有所不同。
不要以为它很容易。我认识许多程序员,他们认为这是因为他们可以在开发箱上安装IIS或Apache,从而可以运行Web场。了解工作涉及的内容并进行研究和计划,不要仅仅认为sysadmin工作是您在10分钟之内即可完成的部署应用程序的简单操作。
如何调试网络问题并使用sysadmin工具监视程序运行。作为开始从事系统管理的程序员,我对网络“停止”后许多程序员变得无能为力感到惊讶。
openssl s_client -connect target-host:port
一些时间),用于手动连接到网络服务好的,这有点,但是:
a)进行编码时,请假设基础基础架构可能会失败,并且不会来自永远幸福的土地。或谷歌。
b)我们可能没有足够的资源来实现您所了解的基础架构之类的功能,因此当出现问题时,请对我们放轻松。很可能我们知道需要做什么,但是由于某种原因,它还没有发生。我们是您的合作伙伴!
c)就像上面提到的jhs一样,如果您对工具进行基础设施故障排除,如ping,traceroute(或结合使用-mtr),dig等,对您确实很有帮助。即使知道Wireshark,也可以获得大量积分。
d)如果您对计算机进行编程,则您确实应该知道计算机如何连接到网络以及基本知识,例如能够解析ipconfig / all或ifconfig的输出。您应该可以在最少的帮助下启动并运行Internet。
否则,我认为Avery几乎钉牢了它。进行系统管理员一点的开发人员是值得的!但是同样,了解当今开发人员如何处理事物(包括版本控制等)的系统管理员在当今时代至关重要。
目前,这种情况似乎尚未解决,我注意到博客中有关dev / ops关系的更多讨论-查看