实时管理 Linux 使用 /proc 文件系统来把持系统
Graham Whitegwhite at uk.ibm.
IT 专家,Hursley,IBM
2003 年 8 月
/proc 文件系统是 Linux 的优良特征之一,本文向你具体讲述了它的一些最适用的基本常识。应用 /proc,您再也不必封闭并从新领导机器来治理操作体系的很多细节问题,这对那些请求系统的可用性尽可能高的管理员来说十分有用。
任何管理过存在贸易重要性的系统的人都知道盘算机正常运行时间的价值 ― 或者反过来讲,知道用户因故障时间会给您带来诸多头痛问题。公司采用 UNIX 服务器的主要原因之一是因为它的牢靠性和稳固性。如果仔细管理,通常可以很长时光不需重启这些服务器。为了做到尽如人意,您可以实时履行一些管理任务,甚至是内核这一级别的任务,从而坚持服务器的可用性。固然因进级硬件或因某人踢掉电源线而仍需要重启系统,但了解到许多管理义务可以在不烦扰服务的情况下执行,老是有利的。
本文提供了不需要重新引导就可以执行关于各种管理任务和更改系统的提醒和技能。Linux 提供了各种方法,用以在保持系统正常运行的情况下,更改底层操作系统的值和设置。这些方法有两种根本形式,一种形式对于所有 Linux 系统都是通用的,并在 Linux 内核中提供这一情势您可以在 Linux Kernel Archives 上查找更多关于 Linux 内核的信息和下载内核源代码;请参阅参考资料,里面有至 Linux Kernel Archives 的链接,还有一种形式是各散发版所独占的,并且由供给商提供。本文将探讨这两种方法。
更改运行中的内核的参数
Linux 向管理员提供了无比好的方式,使他们可以在系统运行时更改内核,而不须要重新引诱内核/系统。这是通过 /proc 虚构文件系统实现的。Linux Gazette 给出了一份有关 /proc 的参考,它是我所看到过的最简略且最轻易的参考之一。请参阅参考材料,其中有至这篇文章的链接。/proc 文件系统重要能够让您查看运行中的内核,这一点对监控机能、查找系统信息、懂得系统是如何配置的以及更改该配置很有用。该文件系统被称为虚拟文件系统,由于它实际上基本不是一个文件系统。它只是内核供给的一个映射,被附加在通常的文件系统构造之上,从而使您可能拜访它。
咱们可以采取某种办法在系统畸形运行的同时更改运行中的内核的参数,这一事实赋予了系统管理员在更改内核设置方面强盛的能力和高的机动性。这种实现是出自局部 Linux 内核开发职员富有灵感的主意。但才能太大会是一件坏事吗·有时确切如斯。如果筹备更改 /proc 文件系统中的任何内容,您必须确保本人晓得在更改什么以及这会对系统发生什么影响。这些技巧确实有用,但过错的举措会带来完整不盼望得到的成果。如果您不熟习这方面的内容,或者不断定您所做的某项更改会带来什么影响,那么请在一台对您或您公司不主要的机器长进行实际。
如何更改
首先,斟酌怎么做不会对内核进行更改。有两条充足的理由解释了为什么不能直接切换至 /proc 文件系统,用文本编辑器打开一个文件,做一系列更改,然后保存该文件,再退出。这两条理由是:
数据完全性:所有这些文件描写了运行中的系统,因为内核可以随时更改这些文件中的任何一个,因此如果翻开一个编辑器,然后更改某些数据,而同时,系统也正在底层更改这些数据,那么无论您保存下来的任何内容都不可能是内核所冀望的内容。
虚拟文件:所有这些文件实际上都不存在。如何使保留的数据同步,等等·
所以,解决措施是,不使用编纂器来更改任何这些文件。每当更改 /proc 文件系统中的任何内容时,应当使用 echo 命令,而后从命令即将输出重定向至 /proc 下所选定的文件中。例如:
echo "YourNewKernelValue" > /proc/your/file
相似的,如果愿望查看 /proc 中的信息,应该使用专门用于此用处的命令,或者使用命令行下的 cat 命令。
更改什么
要很好地使用 /proc 不需要您是一位内核方面的高手,只要基础了解这个文件系统的结构就可以极大地赞助您。直到有一天用户向您讯问某些特定的功能,使您很愉快曾下工夫了解过在哪里进行更改,您才可能会感到有必要知道关于 /proc 中的任何事件。在这方面,/proc 文件系统通过其结构和文件许可权辅助系统管理员。
/proc 中的每个文件都有一组调配给它的非常特别的文件许可权,并且每个文件属于特定的用户标识。这一点实现得异常细心,从而提供应管理员跟用户准确的功效。下面这个列表汇总了各个文件上有哪些特定的允许权:
只读:任何用户都不能更改该文件;它用于表现系统信息
root 写:假如 /proc 中的某个文件是可写的,则通常只能由 root 用户来写
root 读:有些文件对个别系统用户是不可见的,而只对 root 用户是可见的
其它:出于各种起因,您可能会看到不同于上面常见的三种许可权的组合
对于 /proc,您会发明最通常的情形是,它的大多数文件是只读的,除了 /proc/sys 目录。该目录下寄存着大多数的内核参数而不是信息,并且设计成可以在系统运行的同时进行更改。因而这个目录是本文的宗旨所在。
就更改 /proc 中什么内容而言,要了解的最后一点是,应该向这些文件实际写些什么。当查看 /proc 中各种文件时,会发现其中一些文件对我们来说是可读的,一些文件是数据文件。通过用特定的实用程序譬如 top、lspci 和 free,这些数据文件依然也可读。您还会留神到,对我们来说可读文件有两种不同格局:一些是二进制开关,另一些包含其它信息。二进制开关文件只包含代表特定内核功能的 0关或 1开。
进行更改
详细先容有关 /proc 中每个文件的用法和确实信息超越了本文所涉及的范畴。要取得任何关于本文不波及到的 /proc 文件的其它信息,一个最佳起源就是 Linux 内核源代码自身,它包括了一些非常优秀的文档。对于系统管理员,/proc 中的以下文件较有用。这不象征着它是一份详尽的阐明,而只是日常使用中便于查阅的参考。
/proc/scsi
/proc/scsi/scsi
作为系统管理员,需要了解的最有用内容是,在有热交流驱动器情况下,如何不重启系统就可以增加更多磁盘空间。倘若不使用 /proc,您可以插入驱动器,但为了使系统识别新磁盘,必需随即重新引导系统。这里,可以用以下命令来使系统辨认新的驱动器:
阅读(172) | 评论(0) | 转发(0) |