1、“懒惰” Linux 管理员的 10 个关键技巧好的系统管理员区分在效率上。如果一位高效的系统管理员能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间就是金钱,不是吗? 技巧是为了提高管理效率。虽然本文不打算对 所有 技巧进行讨论,但是我会介绍 “懒惰” 管理员所用的 10 个基本法宝。这些技巧可以节约时间 即使没有因为高效而得到更多的报酬,但至少可以有更多的时间去玩。技巧 1:卸载无响应的 DVD 驱动器网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时,它会立
2、即弹出。他然后抱怨说,在大多数企业 Linux 服务器中,如果在那个目录中运行某个进程,弹出就不会发生。作为一名长期的 Linux 管理员,我会重启机器。如果我不清楚正在运行什么,以及为何不释放 DVD 驱动器,我则会弹出磁盘。但这样效率很低。下面介绍如何找到保持 DVD 驱动器的进程,并轻松弹出 DVD 驱动器:首先进行模拟。在 DVD 驱动器中放入磁盘,打开一个终端,装载 DVD 驱动器:# mount /media/cdrom# cd /media/cdrom# while 1 ; do echo “All your drives are belong to us!“; sleep 30
3、; done 现在打开第二个终端并试着弹出 DVD 驱动器:# eject 将得到以下消息:umount: /media/cdrom: device is busy 在释放该设备之前,让我们找出谁在使用它。# fuser /media/cdrom 进程正在运行,无法弹出磁盘其实是我们的错误。现在,如果您是根用户,可以随意终止进程:# fuser -k /media/cdrom 现在终于可以卸载驱动器了:# eject fuser 很正常。技巧 2:恢复出现问题的屏幕尝试以下操作:# cat /bin/cat 注意!终端就想垃圾一样。输入的所有内容非常零乱。那么该怎么做呢?输入 reset。但是
4、,输入 reset 与输入 reboot 或 shutdown 太接近了。吓得手心冒汗了吧 特别是在生产机器上执行这个操作时。 放心吧,在进行此操作时,机器不会重启。继续操作:# reset 现在屏幕恢复正常了。这比关闭窗口后再次登陆好多了,特别是必须经过 5 台机器和 SSH 才能到达这台机器时。技巧 3:屏幕协作来自产品工程的高级维护用户 David 打电话说:“为什么我不能在您部署的这些新机器上编译 supercode.c”。您会问他:“您运行的是什么机器?”David 答道:“ Posh”。(这个虚够的公司将它的 5 台生产服务器以纪念 Spice Girls 的方式命名)。这下您可以
5、大显身手了,另一台机器由 David 操作:# su - david 转到 posh:# ssh posh 到达之后,运行以下代码:# screen -S foo 然后呼叫 David:“David,在终端运行命令 # screen -x foo”。这使您和 David 的会话在 Linux shell 中联接在一起。您可以输入,他也可以输入,但彼此可以看到对方所做的事情。这避免了进入其他层次,而且双方都有相同的控制权。这样做的好处是 David 可以观察到您的故障诊断技巧,并能准确了解如何解决问题。最后大家都能看到问题所在:David 的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。将
6、它装载后再次编译即可解决问题,然后 David 继续工作。您则可以继续之前的娱乐活动。关于此技巧需要注意的一点是,双方需要以同一用户登录。screen 命令还可以:实现多个窗口和拆分屏幕。请阅读手册页获取更多相关信息。对于 screen 会话,我还有最后一个技巧。要从中分离并让它打开,请输入 Ctrl-A D (即按住 Ctrl 键并点击 A 键。然后按 D 键)。然后通过再次运行 screen -x foo 命令可以重新拼接起来。技巧 4:找回根密码如果忘记根密码,就必须重新安装整台机器。更惨的是,许多人都会这样做。但是启动机器并更改密码却十分简单。这并非在所有情况下都适用(比如设置了一个
7、GRUB 密码,但也忘记了),但这里介绍一个 Cent OS Linux 示例,说明一般情况下的操作。首先重启系统。重启时会跳出如图 1 所示的 GRUB 屏幕。移动箭头键,这样可以保留在此屏幕上,而不是进入正常启动。图 1. 重启后的 GRUB 屏幕然后,使用箭头键选择要启动的内核,并输入 E 编辑内核行。然后便可看到如图 2 所示的屏幕: 图 2:准备编辑内核行再次使用箭头键突出显示以 kernel 开始的行,按 E 编辑内核参数。到达如图 3 所示的屏幕时,在图 3 中所示的参数后追加数字 1 即可:图 3. 在参数后追加数字 1然后按 Enter 和 B,内核会启动到单用户模式。然后运
8、行 passwd 命令,更改用户根密码:sh-3.00# passwd New UNIX password:Retype new UNIX password:passwd: all authentication tokens updated successfully 现在可以重启了,机器将使用新密码启动。技巧 5: SSH 后门有很多次,我所在的站点需要某人的远程支持,而他却被公司防火强阻挡在外。很少有人意识到,如果能通过防火墙到达外部,那么也能轻松实现让外部的信息进来。从本意讲,这称为 “在防火墙上砸一个洞”。我称之为 SSH 后门 。为了使用它,必须有一台作为中介的连接到 Internet
9、 的机器。在本例中,将这样台机器称为 。公司防火墙后面的机器称为 ginger。此技术支持的机器称为 tech。图 4 解释了设置过程。图 4. 在防火墙上砸一个洞以下是操作步骤:1.检查什么是允许做的,但要确保您问对了人。大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。而且,必须破解外部机器才能进入公司内部。不过,您可能属于 “敢作敢为” 型的人物。自己进行判断应该选择的方式,但不如意时不抱怨别人。2.使用 -R 标记通过 SSH 从 ginger 连接到 。假设您是 ginger 上的根用户,tech 需要根用户 ID 来帮助使用系统。使用 -R 标记将 blackbox 上端口
10、 2222 的说明转发到 ginger 的端口 22 上。这就设置了 SSH 通道。注意,只有 SSH 通信可以进入 ginger:您不会将 ginger 放在无保护的 Internet 上。 可以使用以下语法实现此操作:# ssh -R 2222:localhost:22 进入 blackbox 后,只需一直保持登录状态。我总是输入以下命令:thedudeblackbox:$ while 1 ; do date; sleep 300; done 使机器保持忙碌状态。然后最小化窗口。3.现在指示 tech 上的朋友使用 SSH 连接到 blackbox,而不需要使用任何特殊的 SSH 标记。
11、但必须把密码给他们: roottech:# ssh . 4.tech 位于 blackbox 上后,可以使用以下命令从 SSH 连接到 ginger: thedudeblackbox:$: ssh -p 2222 rootlocalhost 5.Tech 将提示输入密码。应该输入 ginger 的根密码。6.现在您和来自 tech 的支持可以一起工作并解决问题。甚至需要一起使用屏幕!(参见 技巧 4)。 技巧 6:通过 SSH 通道进行远程 VNC 会话VNC 或虚拟网络计算已经存在很长时间了。通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要 VNC。例如,假设在 技巧 5
12、 中,ginger 是一台存储服务器。许多设备都使用 GUI 程序来管理存储控制器。这些 GUI 管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。因此,只能通过 ginger 访问这个 GUI。可以尝试使用 -X 选项通过 SSH 连接到 ginger 并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。VNC 是一个网络友好的工具,几乎适用于所有操作系统。假设设置与技巧 5 中的一样,但希望 tech 能访问 VNC 而不是 SSH。对于这种情况,需要进行一些类似的操作,不过转发的是 VNC 端口。执行以下操作步骤:1.在 ginger 上启动一个 VN
13、C 服务器会话。运行以下命令: rootginger:# vncserver -geometry 1024x768 -depth 24 :99 这些选项指示启动服务器,分辨率为 1024x768,像素深度为每像素 24 位。如果使用较慢的连接设置,8 也许是更好的选项。使用 :99 指定可访问 VNC 服务器的端口。VNC 协议在 5900 处启动,因此 :99 表示服务器可从端口 5999 访问。启动该会话时,要求您指定密码。用户 ID 与启动 VNC 服务器时的用户相同(本例中就是根用户)。2.从 ginger 连接到 的 SSH 将 blackbox 上的端口 5999 转发到 gin
14、ger。这通过运行以下命令在 ginger 中完成: rootginger:# ssh -R 5999:localhost:5999 运行此命令后,需要将此 SSH 会话保持为打开状态,以便保留转发到 ginger 的端口。此时,如果在 blackbox 上,那么运行以下命令即可访问 ginger 上的 VNC 会话:thedudeblackbox:$ vncviewer localhost:99 这将通过 SSH 将端口转发给 ginger,但我们希望通过 tech 让 VNC 访问 ginger。为此,需要另一个通道。3.在 tech 中,打开一个通道,通过 SHH 将端口 5999 转
15、发到 blackbox 上的端口 5999。这通过运行以下命令完成: roottech:# ssh -L 5999:localhost:5999 这次使用的 SSH 标记为 -L,它不是将 5999 放到 blackbox,而是从中获取。到达 blackbox 后,需要保持此会话为打开状态。现在即可在 tech 中使用 VNC 了!4.在 tech 中,运行以下命令使 VNC 连接到 ginger: roottech:# vncviewer localhost:99 .Tech 现在将拥有一个直接到 ginger 的 VNC 会话。设置虽然有点麻烦,但比为修复存储阵列而四处奔波强多了。不过多
16、实践几次这就变得容易了。对此技巧我还要补充一点:如果 tech 运行的是 Windows 操作系统,并且没有命令行 SSH 客户端,那么 tech 可以运行 Putty。Putty 可以设置为通过查找侧栏中的选项来转发 SSH 端口。如果端口是 5902 而不是本例中的 5999,则可以输入图 5 中的内容。图 5. Putty 可以转发用作通道的 SSH如果进行了此设置,那么 tech 就可以使用 VNC 连接到 localhost:2,如同 tech 正在 Linux 操作系统上运行一样。技巧 7:检查带宽设想:公司 A 有一个名为 ginger 的存储服务器,并通过名为 beckham
17、的客户端节点装载 NFS。公司 A 确定他们需要从 ginger 得到更多的带宽,因为有大量的节点需要 NFS 装载 ginger 的共享文件系统。实现此操作的最常用和最便宜的方式是将两个吉比特以太网 NIC 组合在一起。这是最便宜的,因为您通常会有一个额外的可用 NIC 和一个额外的端口。所以采取此这个方法。不过现在的问题是:到底需要多少带宽?吉比特以太网理论上的限制是 128MBit/s。这个数字从何而来?看看这些计算:1Gb = 1024Mb;1024Mb/8 = 128MB;“b“ = “bits,“、“B“ = “bytes“ 但实际看到的是什么呢,有什么好的测量方法呢?我推荐一个工
18、具 iperf。可以按照以下方法获得 iperf:# wget http:/ 需要在 ginger 和 beckham 均可见的共享文件系统上安装此工具,或者在两个节点上编译并安装。我将在两个节点均可见的 bob 用户的主目录中编译它:tar zxvf iperf*gzcd iperf-2.0.2./configure -prefix=/home/bob/perfmakemake install 在 ginger 上,运行:# /home/bob/perf/bin/iperf -s -f M 这台机器将用作服务器并以 MBit/s 为单位输出执行速度。在 beckham 节点上,运行:# /home/bob/perf/bin/iperf -c ginger -P 4 -f M -w 256k -t 60
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。