成为系统管理员你需要知道什么

通过掌握这些最低能力来启动您的系统管理员职业生涯。
176 位读者喜欢这个。
Avoiding data disasters with Sanoid

Opensource.com

过去的系统管理员整天都在管理用户和服务器,早上和晚上都在铺设数百米的电缆。今天仍然如此,但增加了云计算、容器和虚拟机的复杂性。

从外部来看,很难准确地指出系统管理员做什么,因为他们在很多地方都扮演着至少很小的角色。没有人进入一个职业已经知道他们工作所需的一切,但每个人都需要一个坚实的基础。如果您希望开始系统管理之路,那么这是您应该在个人或正式培训中重点关注的内容。

Bash

当您学习 Bash shell 时,您不仅仅是学习 Bash shell。您学习了 Linux 系统、BSD、MacOS 甚至 Windows(在正确的条件下)的通用接口。您了解语法的重要性,因此您可以快速适应 Cisco 路由器的命令行或 Microsoft 的 PowerShell 等系统,最终,您甚至可以学习更强大的语言,如 Python 或 Go。并且您也开始以程序化的方式思考,以便您可以分析复杂的问题并将它们分解为单独的组件,这是关键,因为互联网、组织的内联网、Web 服务器或备份解决方案等系统就是这样设计的。

等等,还有更多。

了解 Bash shell 变得特别重要,因为最近 DevOps 和 容器的趋势。 您作为系统管理员的职业可能会将您带入一个将基础设施视为代码的世界,这通常意味着您必须了解脚本的基本知识、基于 YAML 的配置的结构,以及如何与容器(在沙盒文件中运行的微型 Linux 系统)交互。 了解 Bash 是有效管理最令人兴奋的开源技术的门户,所以去获取 Bourne Again

资源

有很多方法可以练习 Bash shell。

尝试一个 便携式 Linux 发行版。 您不必安装 Linux 即可使用 Linux,因此请拿一个备用 U 盘,并在晚上或周末花时间熟悉基于文本的界面。

在 opensource.com 上以及 在 Enable SysAdmin 上,有几篇关于 Bash 的优秀文章

告诉别人练习 Bash 的问题在于,要练习,你必须有事可做。在你知道如何使用 Bash 之前,你可能想不出任何要做的事情。如果这是你的情况,请访问 Over The Wire 并玩 Bandit。 这是一个面向绝对初学者的游戏,包含 34 个级别的交互式基本黑客攻击,让您熟悉 Linux shell。

Web 服务器设置

一旦你熟悉了 Bash,你应该尝试设置一个 Web 服务器。 并非所有系统管理员都会设置 Web 服务器,甚至维护 Web 服务器,但在安装和启动 HTTP 守护程序、配置 Apache 或 Nginx、设置正确的权限以及 配置防火墙时获得的技能,是您每天需要的相同技能。 经过一番努力,您可能会开始注意到您工作中的某些模式。 在您尝试管理生产就绪的软件和硬件之前,您可能认为理所当然的概念,并且您不再在新兴的管理员角色中免受它们的影响。 一开始可能会令人沮丧,因为每个人都喜欢擅长他们所做的一切,但这实际上是一件好事。 让自己不擅长新技能。 这就是你学习的方式。

此外,您在最初的步骤中挣扎得越多,当您最终看到胜利的“它工作了!”默认 index.html 时,它就越甜蜜。

资源

David Both 写了一篇关于 Apache Web 服务器 配置的优秀文章。 对于额外的学分,请逐步阅读他关于如何在一台机器上 托管多个站点的后续文章。

DHCP

动态主机配置协议 (DHCP) 是将 IP 地址分配给网络上设备的系统。 在家里,您的 ISP(互联网服务提供商)支持的调制解调器或路由器可能嵌入了 DHCP 服务器,因此它可能不在您的权限范围内。 如果您曾经登录到您的家用路由器来调整 IP 地址范围或为某些网络设备设置静态地址,那么您至少对这个概念有些熟悉。 您可能了解网络上的设备被分配了相当于电话号码的 IP 地址,并且您可能意识到计算机通过广播发送到特定 IP 地址的消息来相互通信。 消息标头由路径上的路由器读取,每个路由器都努力将消息定向到沿着路径朝其最终目标前进的下一个最合乎逻辑的路由器。

即使您理解这些概念,对 DHCP 基本熟悉的不可避免的升级是设置 DHCP 服务器。 安装和配置您自己的 DHCP 服务器为您提供了在您的家庭网络上引入 DHCP 冲突的机会(如果您可以的话,尽量避免这种情况,因为它肯定会破坏您的网络,直到解决),控制地址的分配,创建子网,并监视连接和租用时间。

更重要的是,设置 DHCP 并试验不同的配置有助于您了解互连网络。 您了解网络如何表示数据传输中的“分区”,以及您必须采取哪些步骤才能将信息从一个分区传递到另一个分区。 这对于系统管理员来说至关重要,因为网络很容易成为工作中最重要的方面之一。

资源

在运行您自己的 DHCP 服务器之前,请确保您的家用路由器(如果您有)中的 DHCP 服务器处于非活动状态。 一旦您启动并运行它,请阅读 Archit Modi 的 网络命令指南,以获取有关如何探索您的网络的提示。

网线

听起来可能很平凡,但熟悉网线的工作原理不仅可以带来一个非常有趣的周末,还可以让您对数据如何通过电线传输有一个全新的理解。 学习的最佳方法是去当地的爱好商店购买 Cat 5 刀具和压线钳以及一些 Cat 5 端接器。 然后回家,拿一根备用的以太网电缆,然后切断端接器。 花费任何时间将电缆恢复使用。

一旦您解决了这个难题,再次这样做,这次创建一个工作 交叉电缆

你现在也应该开始痴迷于电缆管理。 如果您天生不倾向于沿着地板线条或桌子边缘整齐地铺设电缆,或者将电缆捆绑在一起以保持它们的有序性,那么请将自己永久性地设置为害怕凌乱电缆的目标。 您一开始不会理解为什么这是必要的,但是当您第一次走进服务器机房时,您会立即知道。

Ansible

Ansible 是配置管理软件,它是系统管理员和 DevOps 之间的一座桥梁。 系统管理员使用 Ansible 来配置操作系统的全新安装,并维护机器上的特定状态。 DevOps 使用 Ansible 来减少花费在工具上的时间和精力,以便将更多的时间和精力花费在开发上。 您应该将学习 Ansible 作为系统管理员培训的一部分,着眼于 DevOps 的实践,因为 DevOps 现在正在开创的大部分内容最终将成为您未来系统管理工作流程的一部分。

关于 Ansible 的好处是,您可以立即开始使用它。 它是跨平台的,并且可以向上和向下扩展。 Ansible 对于单用户计算机来说可能有点过头了,但是,Ansible 可能会改变您启动虚拟机的方式,或者它可以帮助您同步家庭或 家庭实验室中所有计算机的状态。

资源

阅读 Jay LaCroix 的“如何使用 Ansible 管理您的工作站配置”,这是以随意的方式开始使用 Ansible 的典型介绍。

破坏东西

电脑出现问题的原因有很多,包括用户错误、软件漏洞、管理员(就是你!)的错误以及其他各种因素。无法预测什么会出错或为什么出错,因此你个人系统管理员培训的一部分应该是不断测试你设置的系统,直到它们出现故障。你对自己的实验室基础设施越苛刻,就越有可能发现薄弱环节。你越频繁地修复这些薄弱环节,就越能增强解决问题的能力。

除了设置所有常见的软件和硬件的严谨性之外,你作为系统管理员的主要工作是寻找解决方案。有时你会遇到超出你工作范围的问题,甚至你可能无法修复它,但你仍然有责任找到解决方法。

现在你破坏的东西越多,并且努力修复它们,将来作为系统管理员工作时就越有准备。


你是一名在职的系统管理员吗?有什么任务是你希望自己能更好地做好准备的吗?请在下面的评论中添加它们!

Seth Kenlon
Seth Kenlon 是一位 UNIX 爱好者、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,而且经常同时从事这两个行业。

13 条评论

很好的入门列表……我建议将 Vim 编辑器添加到列表中 :)

在所有技巧中,我真的很喜欢“破坏东西”,因为这种经验方法会将你带到对知识充满信心的状态,而这种信心是解决问题能力的基础。

我非常同意 Marco 和 Kim 的观点;我还会将 LVM 添加到列表中,可能还有 DNS 和虚拟化的概念,至少要了解这些概念。

这些都是很棒的补充。你可以想象,这篇文章本来可以写得很长,所以很难选择重点关注什么。

回复 Dave Harding (未验证)

我也同意……除了 LVM 之外,了解如何识别新添加的驱动器(通过热插拔、光纤通道或虚拟附加)对于在磁盘空间不足时保持系统正常运行至关重要。

回复 Dave Harding (未验证)

我会添加“man pages”。参考给定命令的手册页真的很有用。

不要告诉我的客户,但我知道的一些重要的事情是通过实验他们的计算机和服务器学到的(有时我会修复它,有时我会让它更糟);-)

只是在这里回复关于 Ansible 的部分
>> Ansible 对于单用户计算机来说可能有点过头了

我强烈建议系统管理员不要因为为 1 台机器所做的努力太高而跳过学习某些东西。正是这种行为让我们一直被锁定在许多低影响的手动任务中,我们需要记住一遍又一遍地执行。

我鼓励人们开始学习 Ansible 来管理他们的一两台机器,并使用它们来练习你的技能。Ansible 极其简单的 playbook 语法会自动为你创建出色的文档,记录你所做的事情,并最终可以节省大量时间,否则这些时间将花费在繁琐和乏味的任务上……更不用说你为 1 台机器开发的任何任务通常都可以轻松地在其他机器上重复使用。

我喜欢它!我后悔花了很多时间推迟学习它,因为手头的问题“太简单了”。

> 我强烈建议系统管理员不要因为学习某些东西而跳过,因为付出的努力
> 对于 1 台机器来说太高了。正是这种行为让我们一直被锁定在许多
> 低影响的手动任务中,我们需要记住一遍又一遍地执行。

多么棒的观点。谢谢!

回复 JamesF

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.