Linux网络和系统管理的工具包和习惯[关闭]


20

我的任务是管理小型办公室网络以及主要运行Debian和Ubuntu的几个工作站。有两台服务器:一台数据库和打印服务器,一台备份和文件服务器。

作为这方面的新手,我足够了解Linux方面的知识,所以我想知道我可以使用/获得哪些软件工具和任务/习惯来学习该领域,并在此过程中有效。

我不需要知道什么是最好的,而是什么新手sys-admin可以用作入门包来学习和用作发展适当的系统管理的基础。

我需要的是很少的一些基本工具,以及我需要定期做的事情,例如:检查哪些日志,何时监视什么以及监视什么,开始的“正确”地方以及我可以去的地方我需要的广告。


极端的主观话题。“正确”的答案是什么样的?
比尔·魏斯

Answers:


16

1个

监视业务关键流程[例如-数据库正在运行并响应简单查询],操作系统的基本参数[可用磁盘空间,平均负载]。您可以使用nagioszabbix为例。

2

收集统计数据以建立一些基准。在将来,这将对容量规划很有用。您可以使用munin,zabbix,cacti等。

3

运行计划的自动备份,将其中一些离线存储在异地。监视它们是否成功,不时手动检查是否可以恢复关键数据。您可能想使用backupninjaZmanda进行编排,但是还有更多有用的工具。

4

文献。为了自己的利益。不要认为缺少文档会增加您的工作安全性。第一个因缺乏它而遭受苦难的人是你,你可能很快就会忘记事情。

5

从其他随机事物:

学习一些脚本语言-也许您已经知道了吗?perl / python / php可以用于自动化任务,在许多情况下比bash更适合于更复杂的任务

学习您的工具-种类繁多...可能首先想到ssh。看看这个那个


“这是无尽的清单……”-确实;在我问这个问题之前,我用谷歌搜索了它,但是不知所措。我相信KISS,并且希望从一个简单易用的基础开始,并尝试正确地学习事物。
slashmais

1
我想补充一点,第1点和第4点是最重要的。我建议使用像Puppet这样的配置管理系统。至少,您应该使用版本控制(git / svn),但是Puppet会让您执行一次操作,然后在需要添加或重建服务时可以重复。我也相信过度设计。如果您像需要100台计算机那样构建基础结构,则管理10台计算机并根据需要进行扩展会更容易。

4
我想这是一个意见问题,但我认为第3点最为关键。是的,当会计数据库关闭半天时,它糟糕,但是当所有财务状况都由于无/差的备份而消失时,它确实很糟糕。YMMV。
Joe Internet

@pQd-我还将添加监视(nagios,opennms等)和票务系统。不必做任何令人惊奇的事情:仅是存放“待办事项”物品的地方。最终,它可以扩展为提交所需caes的人员,或为其他团队建立队列。
沃伦

阅读Thomas Limoncelli撰写的《系统管理员时间管理》。应该要求所有通过电子邮件工作的人阅读。
沃伦

10

Limoncelli等人的《系统和网络管理实践》是您应该从这里开始的。技术会来来去去(并且可以根据需要轻松地进行谷歌搜索),但是那本书中的信息是永恒的(而且是无价的)。


2
也是Frisch的基本系统管理。
杰森·安特曼

10

一些基本工具

谷歌。不认真 Google是系统管理员的梦想成真。没有更好的方法来利用互联网上的大量信息。而且不要将自己局限于搜索“ Linux初学者”。如果您有要完成的特定任务,则可以通过Google来完成。您经常会发现比所需更多的信息,而对于初学者来说,很多信息似乎是另一种语言,但是通过实践学习是一种快速掌握信息的好方法。

制表符完成。Linux命令行允许所有命令,目录树,目录名和文件名的制表符完成。

手册页。每个命令和许多系统配置文件(/ etc / fstab,/ etc resolv.conf等)都有手册页。只需键入“ man command_name”或“ man file_name”,即可查看所要查找的内容。哦,“ q”退出手册页。

SSH。访问Linux系统的最佳方法之一。如果您对系统没有物理访问权限,则可能最好的方法。

屏幕。屏幕是一个很棒的小应用程序,它使您可以将一个终端变成多个终端,让您将事物从自己的方式/进入后台,并让事物保持运行状态,以便稍后再返回。

纳米。您在上面提到您已经使用过此功能,但我只是认为我会投入两分钱并表示同意。Vi和Vim以及所有这些都很好,但是我爱的是Nano的简单性。就像Linux世界的记事本。

查找并复制。查找是伟大的搜索文件,grep的是伟大的搜索的文件。两者都可以以非常简单的方式使用,并且两者都可以以非常复杂的方式使用,但是两者都非常有用。

须藤 让您像root一样行动,无需root。很有用。

加上我将在下一节中提到的其他一些工具...

您需要定期做的事情

监视您的系统。监视磁盘使用情况(df是有用的命令,du也用于特定目录),监视正在运行的进程和任务(通过ps命令和top命令),监视登录到系统的用户(用户和谁的命令将告诉您这一点),并监控您的网络使用情况(例如cacti之类的应用程序非常有用)。如果您碰巧可以访问X Windows环境,我总是会发现GKrellM是一个非常有用的多合一系统监视工具。

备份。对于Tux的热爱,请备份。备份配置文件,备份主目录,备份应用程序数据。备份。即使您要做的只是将数据从服务器复制到另一个盒子和外部硬盘驱动器上的CIFS / NFS共享。是的,您应该为每个备份保留两个副本,并且永远不要在同一介质/系统上。将其视为备份的备份。

检查您的备份。定期检查以确保可以将数据从备份还原到系统上。空的/损坏的/不完整的备份无济于事。

使用您的日志文件。Dmesg,/ var / log / messages,以及/ var / log期间的几乎所有内容。如果某些问题无法正常运行,并且您不知道为什么,日志可能没有答案,但是它们绝对可以帮助您找到答案。/ var / log中的日志和目录被合理命名,因此找到正确的日志并不难。您不需要经常监视每个日志文件,但是密切注意它们将有助于您保持系统的健康和安全。

保持系统更新。不要让您的软件运行数月之久而不进行更新,因为当配置文件语法或依赖项更改时,它可能会导致很多麻烦和麻烦。不同的发行版具有不同的更新程序(apt-get,yum等),但是无论您使用哪个,都要学习并定期使用它。

确保您的系统安全。使用iptables,PAM,hosts.allow / hosts.deny之类的东西来防止不必要的访问和使用系统。

从未停止学习。为了继续我之前所说的内容(通过实践学习),您应该研究的是虚拟机。下载VirtualBox(或者如果您拥有更好的VMWare许可证),然后将自己设置为Linux虚拟机。您可以选择真正想要的任何发行版,但是显然,与您在环境中使用的发行版一起使用可能是最有意义的。在VM中游玩。像沙盒一样使用它。整理东西,弄碎东西,研究,学习。沙盒VM的优点在于,发生什么都不重要。如果您完全使用软管,只需换一个新软管即可。或在设置好原始文件后保留其备份副本,并在需要时重复使用。

正如该线程中的其他文章所提到并提到的那样,这些列表实际上可能是无限的,但是希望这可以让您有一个良好的开端。


它从示例“ man”命令中删除了语法,因此我对其进行了一些调整。您只需将“ command_name”和“ file_name”替换为正确的命令或文件即可。
kingfish

有时在记事本中,我发现自己输入ESC,:wq的问题是这种情况并不罕见。我不知道为什么...
Mircea Vutcovici

8

如果您刚刚起步,尤其是由于您拥有一些Debian(Ubuntu是Debian的核心)系统,我强烈建议您参阅Debian Reference。它概述了几乎系统管理的各个方面,应该涵盖几乎所有有关维护此类系统的知识。

我也同意pQd提出的所有观点,更具体地说,我认为对您来说,建立一个Wiki以记录所有流程和配置是一个好主意。在我的组织中,我们使用Trac,但是任何wiki引擎都应该这样做,只是确保它具有一种显示源代码的好方法,因为这对于微小的脚本和命令列表很有用。


3

老实说,Linux系统管理不是您可以“跳入”的领域。

但是,如果必须这样做,则有一些关于该主题的好书。O'Reilly有两本书(Linux网络管理和Linux系统管理)可以帮助您入门。

就我个人而言,如果我是您,我只会花几天时间来处理不同的发行版,安装软件,设置Nagios / Cacti / Apache2 / SSH / NFS类型的东西,也许还要学习某种脚本语言(我使用Perl,我自己;但是我的许多管理员更喜欢使用Python。不过,这实际上取决于您要学习的知识。

并且一定要学习命令行。不要将图形工具当作拐杖。

学习vi。即使您只学得足够好,可以进行基本的编辑,也可以-但学习vi很重要,因为有时您会陷入没有Vim / Nano / Emacs的系统。在这种情况下,您会很高兴花了一两天学习vi。

如果您需要任何帮助,请随时给我发送电子邮件(出于安全原因,我的电子邮件已删除)-我很乐意在ServerFault之外为您提供帮助。


我认识Perl;我知道/ some / vi(如何插入,保存并退出-首选nano)。幸运的是,我的处境是一种“低压力”,因此我无需马上成为系统管理员,我可以成长为它(并让服务器故障和您(感谢您的信任)询问我什么时候真正被卡住了(也属于非常有用的LUG)。我需要的是一些基本工具,以及我需要定期进行的操作,例如:检查哪些日志,何时监视什么以及一种“正确的”起点,我可以根据需要
向其

然后,我建议您研究设置Cacti,Nagios,Snort和Postfix。这些可能是您最常用来监视系统的四个工具。设置这些设置还将为您节省大量手动检查日志文件的时间。至于手动检查日志,/ var / log /中的任何内容可能都是不错的选择。我没有指向您的特定文件,但是如果某些文件无法正常工作,则最好登录/ var / log
Michael Pobega 2009年

曾几何时,我也喜欢nano,slashmais。始终开始编辑文件后,您将需要更详细地学习vi。现在
凯尔·史密斯

3

如果您愿意在服务器上安装应用程序,请考虑使用webmin,因为它为大多数日志记录和配置提供了“一站式”服务。使用SSL对其进行设置,使其可以在高阶端口上运行,并且它为自己提供了易于检查的价格。


2

我将告诉您系统和网络管理的最大秘密。你准备好了吗?好的,这是:

学习基础知识。让我详细说明。

任何人(或差不多)都可以学习该软件或特定软件的功能,以及如何在该工具上按此按钮以使x,y或z工作。没什么特别的

如果您想成为一名优秀的 sys / net管理员,请学习高级知识。在典型的网络连接中,事件的顺序是什么?帧和数据包有什么区别?平均负载在Unix系统上真正意味着什么?一台机器的典型启动过程是什么(一个人,如果您从头到尾地遵循它,将提供丰富的知识)。

一旦您了解了基础知识并真正地理解了这些基础知识,则在一个良好的基础之上放置知识就容易得多。但是,如果您从头开始,并尝试学习特定的软件位,而又不知道底层的内容,那将使您……基本上就是另一位高科技管理员。


2

首先,找到您的日志。大多数Linux发行版都记录到/ var / log / messages,尽管我已经看到一些记录到/ var / log / syslog的日志。如果出了什么问题,日志中很可能会有一些相关信息。另外,如果您要处理电子邮件,请不要忘记/ var / log / mail。仔细检查您的应用程序,找出其中是否有任何日志记录在syslog之外的荒谬地方。

重温您的vi技能。Nano可能是当今所有酷孩子所使用的,但是经验告诉我,vi是唯一可以保证在系统上使用的文本编辑器。一旦习惯了键盘快捷键,并开始创建自己的触发器,vi便会成为您的第二天性。

阅读手册页,然后在每台计算机上运行以下命令,然后将结果复制到文档中:

hostname
cat /etc/*release*
cat /etc/hosts
cat /etc/resolv.conf
cat /etc/nsswitch
df -h
ifconfig -a
free -m
crontab -l
ls /etc/cron.d
echo $SHELL

这将作为您文档的开始。这些命令可以让您知道您的环境,并可以在以后帮助缩小问题范围。

Grep通过您的日志并搜索“错误”或“失败”。这将使您了解什么不起作用。您的用户将对出现的问题发表意见,并认真听取他们的意见。他们不了解系统,但是他们以与您不同的方式看待它。

遇到问题时,请按以下顺序检查:

  1. 磁盘空间(df -h):Linux和一些在Linux上运行的应用程序在磁盘空间用尽时会做一些非常奇怪的事情。在您检查并找到100%已满的文件系统之前,这似乎无关紧要。

  2. 顶部:顶部将让您知道是否有某个进程卡住了所有可用的CPU周期。任何长时间都不会消耗99%的CPU。如果它是一个合法的过程,它可能会上下波动。当您位于顶部时,请检查...

  3. 系统负载:标准服务器或工作站上的系统负载通常应低于3。系统负载基于CPU,内存和I / O。

  4. 内存(free -m):Linux中的RAM使用有所不同。看到服务器几乎所有RAM都用完的情况并不少见。不要惊慌,如果您看到此消息,它主要只是缓存,并且会根据需要清除。但是,请密切注意所使用的交换量。如果可能,请尽可能将其保持为零。内存不足会导致各种性能问题。

  5.  日志:返回日志,运行tail -500 / var / log / messages | 并开始阅读并查看正在发生的事情。希望日志可以为您指明下一步的方向。

维护良好的Linux服务器可以正常运行数年。我们只是关闭了一个已经运行了748天的软件,我们之所以关闭它,是因为我们已经将应用程序迁移到了新硬件上。希望这将帮助您弄湿自己,并使您有一个良好的开端。

最后一件事,请始终复制要更改的配置文件,并始终复制要更改的行,并注释掉原始行,并添加更改原因。这将使您养成随身携带记录的习惯,并且可以节省9个月的皮革使用时间。


1

好问题。

我的建议。学习使用您的外壳。

标准是重击。您只需键入帮助即可获取文档。

学习管道“ |” 将从一个命令的输出获取到第二个命令的输入。

最后一件事,很久以前对我有帮助: Linux一页手册

努力工作,永不放弃。

在3-4年内,您将拥有足够的知识,很多事情都来自于自己:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.