系统管理员职责:9项关键任务

系统管理员负责广泛的职责,但这些是最重要的。
572 位读者喜欢这篇文章。
Tools for the sysadmin

opensource.com

系统管理员对于组织及其网络运营中心和数据中心的可靠和成功运营至关重要。系统管理员必须精通系统的底层平台(即 Windows、Linux),并熟悉多个领域,包括网络、备份、数据恢复、IT 安全、数据库操作、中间件基础知识、负载均衡等等。系统管理员的任务不仅限于服务器管理、维护和维修,还包括支持生产环境平稳运行,最大限度减少(或没有)来自客户和最终用户投诉的任何职能。

尽管系统管理员的职责清单看似无穷无尽,但有些职责比其他职责更为关键。如果您担任系统管理员角色(或希望有一天担任),请确保您已准备好遵循这些最佳实践。

文档

文档是系统管理员记录资产的方式,包括硬件和软件类型、数量和许可证。如果生产环境中出现任何问题,文档有助于识别可能涉及的硬件、虚拟机、设备、软件等。

硬件清单

维护所有物理和虚拟服务器的列表,其中包含以下详细信息

  • 操作系统: Linux 或 Windows,带有版本的虚拟机监控程序
  • 内存: 物理服务器中的 DIMM 插槽
  • CPU: 逻辑 CPU 和虚拟 CPU
  • 硬盘: 硬盘类型和大小
  • 外部存储 (SAN/NAS): 存储的制造商和型号,以及管理 IP 地址和接口 IP 地址
  • 开放端口: 服务器端为传入流量开放的端口
  • IP 地址: 带有 VLAN 的管理和接口 IP 地址
  • 工程设备: 例如 Exalogic、PureApp 等。

软件清单

  • 配置的应用程序: 例如 Oracle WebLogic、IBM WebSphere Application Server、Apache Tomcat、Red Hat JBoss 等。
  • 第三方软件: 任何未随已安装操作系统提供的软件

许可证详细信息

维护物理服务器和虚拟机 (VM) 的许可证数量和详细信息,包括 Windows 许可证、Linux 操作系统的订阅以及虚拟机监控程序主机的许可证限制。

服务器健康检查

  • 正在运行的进程: 检查消耗资源超出预期的进程,并采取措施微调应用程序(在应用程序团队的帮助下)。
  • CPU 利用率: 持续监控和检查关键进程(如“java”、“http”、“mysql”等)的 CPU 利用率,以确保这些进程消耗的 CPU 资源没有超出预期。如果超出预期,则与应用程序团队协调,在应用程序级别检查并微调。同时分析操作系统参数,如“Ulimits”。
  • 内存利用率: 检查内存利用率,并在需要时清除缓存。
  • 僵尸进程: 检查进程表中 PID 仍然存在的已终止进程。僵尸进程会降低服务器性能,因此请查找并终止任何存在的僵尸进程。
  • 负载平均值: 如果您遇到性能问题,请检查负载平均值并调整服务器性能。
  • 磁盘/SAN/NAS 利用率: 检查外部连接存储的 I/O 报告,以跟踪和检查读/写操作的速度。如果您发现任何问题,请立即与存储和网络团队协调以纠正问题。

备份和灾难恢复计划

与备份团队沟通,并向他们提供备份的数据和客户端优先级。生产服务器的建议备份标准是

  • 增量备份: 每天,周一至周五
  • 完全备份: 周六和周日
  • 灾难恢复演练: 每月(最好)或每季度(如有必要)与备份团队进行一次恢复模拟演练,以确保在出现问题时可以恢复数据。

补丁

必须及时实施针对已知漏洞的操作系统补丁。补丁有很多类型和级别,包括

  • 安全
  • 严重
  • 中等

当发布补丁时,检查错误或漏洞详细信息,以查看它如何应用于您的系统(例如,漏洞是否影响您系统中的硬件?),并在需要时采取任何必要措施来应用补丁。确保交叉验证应用程序与补丁或升级的兼容性。

应用程序兼容性

在任何应用程序上线之前,检查其与您的硬件和操作系统的兼容性,并确保进行负载测试(在应用程序团队的支持下)。

服务器加固

Linux

  • 设置 BIOS 密码: 这可以防止用户更改 BIOS 设置。
  • 设置 GRUB 密码: 这可以阻止用户更改 GRUB 引导加载程序。
  • 拒绝 root 访问权限: 拒绝 root 访问权限可以最大限度地减少入侵的可能性。
  • Sudo 用户: 创建 sudo 用户并分配有限的权限来调用命令。
  • TCP 封装器: 这是保护服务器免受黑客攻击的武器。为 SSH 守护程序应用规则,仅允许受信任的主机访问服务器,并拒绝所有其他主机。为其他服务(如 FTP、SSH 文件传输协议等)应用类似的规则。
  • Firewalld/iptables: 为服务器的传入流量配置 firewalld 和 iptables 规则。包括特定端口、源 IP 和目标 IP,并允许、拒绝、拒绝公共区域和私有区域的 ICMP 请求等。
  • 防病毒软件: 安装防病毒软件并定期更新病毒定义。
  • 安全和审计日志: 定期并在需要时检查日志。
  • 轮换日志: 将日志保留有限的时间段,例如“7 天”,以保持足够的磁盘空间以实现完美运行。

Windows

  • 设置 BIOS 密码: 这可以防止用户更改 BIOS 设置。
  • 防病毒软件: 安装防病毒软件并定期更新病毒定义。
  • 配置防火墙规则: 防止未经授权的方​​访问您的系统。
  • 拒绝管理员登录: 限制用户更改的能力,这些更改可能会增加系统的漏洞。

使用 syslog 服务器

通过在环境中配置 syslog 服务器以记录系统和应用程序日志,在发生入侵或问题时,系统管理员可以检查以前和实时的日志来诊断和解决问题。

自动化

许多系统管理员任务(例如服务器健康检查、资源利用率、备份触发器、传输文件和日志等)必须在特定时间完成。因此,系统管理员必须编写脚本或使用外部工具,并将它们配置为 cron 作业,以便在适当的时间自动执行任务。

监控工具

安装和配置 Nagios、HP 等实时监控工具,以监控您的 IT 基础设施并发布有关潜在问题的警报。

结论

虽然这些是系统管理员负责的最重要任务,但该角色不仅仅限于此列表中的职责。

例如,系统管理员必须与多个团队协调以解决问题,与客户沟通并更新客户,保持 100% 的正常运行时间,与审计团队进行讨论,准备每周/每月/每季度报告,使用适当的工具持续监控服务器和服务,并维护硬件控制台并响应任何触发的警报。

对于与 Web 托管、应用程序和服务器中断以及其他关键 IT 运营问题相关的问题,系统管理员始终是数据中心或网络运营中心内的单一联系点 (SPOC)。

您认为系统管理员还有哪些其他基本任务或最佳实践?请在评论中分享您的意见。

接下来阅读什么
User profile image.
Alok Sharma 出生于印度斋浦尔并在那里长大。Alok 拥有马拉维亚国立理工学院 (M.N.I.T),斋浦尔的 VLSI 设计硕士学位 (M.Tech.)。Alok 曾在高等技术机构研究实验室和其他 IT 组织担任 Linux 系统管理员,并以主管身份管理服务器团队。

7 条评论

非常好的列表,谢谢。对于新的系统管理员来说,这是一个很好的模板,可以作为起点。

老实说,我认为这篇文章现在不太符合目标。

例如,“维护服务器列表?” 如果您维护一台服务器和大约十几台 PC,这是一种不错的方法。即使是一家小型商店也有太多的设备无法再手动管理。此外,维护部署到第三方服务的容器镜像的需求又如何呢?一个更好的建议是,“学习如何使用自动发现工具以及如何将它们与您的 CMDB 集成。”

自动化 - “...编写脚本或使用外部工具...” 一个更好的建议是,学习基础设施即代码的概念。学习使用 Ansible 等工具而不是手动执行任何任务。学习如何使用 git 等版本控制系统来管理您的 playbook、配置文件、脚本等。

我想在这里表达的观点是,IT 世界正在以令人难以置信的速度变化。敏捷和 DevOps 实践正在渗透到每个组织。本文中概述的实践根本不符合这个新世界。如果系统管理员想要保持相关性,他们必须适应。

感谢您的反馈。
我想提一下,并非每个系统管理员都是 Ansible、DevOps 等方面的专家/能手,因为通常系统管理员分为 L1、L2、L3 级别,职责级别不同,例如文档、监控、工单处理、升级处理等。
并且客户端位置的系统管理员必须遵循客户端的指示,并受到约束以及最少的工具和资源。例如,在许多组织中,补丁是手动的,而在某些组织中,补丁可能是自动化的。
自动发现工具是一种选择,但可以通过从虚拟环境(如 VMware)导出数据来简单地完成清单,物理服务器也可以这样做。仍然有多个组织没有使用容器化环境,而是仅使用私有云。
集成、自动发现、使用什么、如何使用、何时使用仅由客户决定,系统管理员必须遵守并遵循指示,尽最大努力使事情变得更好。
所以,重点是,这篇文章是关于系统管理员“待办事项”的通用文章,而不是针对特定或自定义环境。
如何做只能由服务提供商和客户协议决定,同时考虑资源限制。

回复 作者 sgtrock

我既同意也不同意你的观点。:) 是的,承包商系统管理员必须适应客户的实践。然而,撰写这样一篇文章而不提及行业正在发生的事情以及它对工作产生的变革性影响,至少会给读者留下不完整的印象。

例如,我在一家相当大的美国公司(员工人数接近 10 万)工作。我们今天才刚刚开始采取初步措施来采用 DevOps 实践,但几乎我们所有人都清楚,如果您不在敏捷/DevOps 的列车上,您很可能会被碾压。即便如此,我们的许多竞争对手和供应商也比我们领先多年,我们在游戏中已经非常晚了。

换句话说,我认为任何关于系统管理员实践的文章,如果不讨论这种真正具有变革性的转变对他们在不久的将来从事工作的方式的影响,都是在误导读者。

这一切都说得通吗?

回复 作者 aloksharma08

你只关注硬币的一面。系统管理不仅仅是 DevOps。它远比 DevOps 重要得多。

回复 作者 sgtrock

这一切都说得通吗?

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.