过去的系统管理员整天都在应付用户和管理服务器,并在早晚之间花费大量时间铺设数百米的电缆。即使在云计算、容器和虚拟机变得复杂的今天,情况依然如此。
从外部来看,很难确切指出系统管理员是做什么的,因为他们在很多方面都扮演着至少很小的角色。没有人一开始就了解职业所需的一切,但每个人都需要坚实的基础。如果您希望开始系统管理之路,那么以下是您应该在个人或正式培训中重点关注的内容。
Bash
当你学习 Bash shell 时,你不仅仅是在学习 Bash shell。你学习的是 Linux 系统、BSD、MacOS 甚至 Windows(在合适的条件下)的通用接口。你学习语法的重性,以便你可以快速适应像 Cisco 路由器命令行或 Microsoft PowerShell 这样的系统,最终,你甚至可以学习更强大的语言,如 Python 或 Go。而且你也会开始程序化思考,这样你就可以分析复杂的问题,并将它们分解为各个组件,这非常关键,因为互联网、组织内部网、Web 服务器或备份解决方案等系统就是这样设计的。
但是等等。还有更多。
由于最近 DevOps 和 容器 的趋势,了解 Bash shell 变得尤为重要。作为系统管理员,您的职业生涯可能会将您带入一个基础设施被视为代码的世界,这通常意味着您必须了解脚本编写的基础知识、基于 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、设置 正确权限 和 配置防火墙 时获得的技能,是您日常需要的相同技能。付出一点努力后,您可能会开始注意到您工作中的某些模式。在尝试管理生产就绪的软件和硬件之前,您可能认为理所当然的一些概念,并且您在作为一名新手管理员的角色中不再受到保护。起初可能会令人沮丧,因为每个人都希望擅长他们所做的一切,但这实际上是一件好事。让自己在新的技能方面表现不佳。这就是你学习的方式。
而且,您在最初的步骤中挣扎得越多,当您最终看到成功的 “it works!” 默认 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 的典型介绍。
破坏东西
计算机出现问题的原因是用户错误、有缺陷的软件、管理员(就是你!)错误以及其他任何数量的因素。无法预测什么会失败或为什么失败,因此您的个人系统管理员培训计划的一部分应该是戳戳您设置的系统,直到它们失败为止。您对自己的实验室基础设施越糟糕,您就越有可能找到弱点。并且您修复这些弱点的次数越多,您对自己的问题解决能力就越有信心。
除了设置所有常用软件和硬件的严格要求外,您作为系统管理员的主要工作是找到解决方案。有时您会遇到超出您的职位描述的问题,甚至可能无法修复它,但这将取决于您找到一种解决方法。
您现在破坏的东西越多,并努力修复它,您就越能更好地准备好成为一名系统管理员。
您是一名在职的系统管理员吗?有没有您希望自己能更好地准备的任务?请在下面的评论中添加它们!
13 条评论