Linux系统由于其免费、稳定,现在越来越受企业的欢迎。随着微软操作系统盗版力度的加强,Linux在企业中逐渐推广开来。不过要利用好Linux系统还真不是一件容易的事情。就以系统安转来说,对不少系统管理员就是一个考验。笔者个人认为,系统管理员在部署Linux系统之前需要先回答三个问题。然后再着手部署Linux系统,可能会取得比较好的效果。毕竟万丈高楼平地起,如果基地没做好,在后续管理中会带来很大的麻烦。
第一个问题:每个用户的磁盘限额是对少?
Linux系统是一个典型的多用户操作系统。故在有些时候,需要给每个用户设置一个磁盘限额,防止某个用户存放文件过多,而消耗了大部分硬盘空间,从而给其他用户带来不利的影响。如笔者以前在Linux系统上部署过一个文件服务器。那时这家企业一共有八个部门。笔者为了安全考虑,每个部门设置了一个用户。部门员工利用自己的用户帐号与密码登陆到文件服务器中读取与存储文件。此时,笔者就会每个帐户设置了一个磁盘限额。那么就不会因为某个用户耗用大部分的硬盘空间而导致其他部门员工无法保存文件。
Linux系统中,磁盘限额是限制用户或者群组可使用磁盘空间或者可建立文件数的一种技术。不过在实际工作中,我们往往只会限制用户的容量,而不会限制可建立的文件数。在Linux系统下,限额是针对分区设置的,故管理员要将需要限额的目录额外对应不同的分区。如系统管理员假设了一个文件服务器,每个用户的文件都是存放在share目录下。则管理员如果将这个目录对应到独立的分区,就可以单独限制每个用户可以占用磁盘空间的大小了。关于具体如何配置磁盘限额,笔者在以后的文章中会详细阐述。大家若对此感兴趣,请关注我后续的文章。
当用户比较多时,对磁盘进行限额是一个很不错的手段。如在Linux系统上部署了邮箱服务器系统,还可以根据这个磁盘限额来限制每个用户邮件占用的空间。这可以很有效的避免因为用户过多而导致邮箱服务器爆满,从而发生拒绝接收邮件的错误。故笔者认为系统管理员在部署Linux系统之前,第一个要回答的问题就是是否需要进行磁盘限额。如果需要的话,那么每个用户或者组的磁盘限额应该设置为多少。
第二个问题:主分区、扩展分区、逻辑分区该如何安排?
在Linux系统下(其他操作系统也有类似的规定),磁盘的分区大致可以分为三类,分别为主分区、扩展分区和逻辑分区等等。Linux系统管理员在部署系统时,必须要对这三个分区进行一个合理的规划,否则的话会浪费宝贵的硬盘空间。
通常情况下,一个硬盘中最多能够分割四个主分区。因为硬盘中分区表的大小只有64Bytes,而分割一个分区就需要利用16Bytes空间来存储这个分区的相关信息。由于这个分区表大小的限制,硬盘之能够分给为四个主分区。如果此时一块硬盘有120个G,而管理员划分了4个主分区,每个主分区的空间为20个G。那么总共才用去了80G的空间。这块硬盘剩余的40G空间就将无法使用。这显然浪费了硬盘的空间。
为了突破这最多四个主分区的限制,Linux系统引入了扩展分区的概念。即管理员可以把其中一个主分区设置为扩展分区(注意只能够使用一个扩展分区)来进行扩充。而在扩充分区下,又可以建立多个逻辑分区。也就是说,扩展分区是无法直接使用的,必须在细分成逻辑分区才可以用来存储数据。通常情况下,逻辑分区的起始位置及结束位置记录在每个逻辑分区的第一个扇区,这也叫做扩展分区表。在扩展分区下,系统管理员可以根据实际情况建立多个逻辑分区,将一个扩展分区划割成多个区域来使用。
所以在扩展分区与逻辑分区的帮助下,一块硬盘可以被划分为六个、七个甚至更多的分区。就如第一个问题所谈到的,有时候由于磁盘限额的需要,要给不同的用户或者应用对应不同的分区。还有下面笔者还要谈到一个用户主目录的规划,这也需要用到一个独立的分区。故系统管理员需要在部署系统之前,先考虑一下系统到底有分几个区合适。故硬盘分区空间该如何规划,这是系统管理员在部署Linux系统之前需要回答的第二个问题。
第三个问题:用户主目录如何规划?
在Linux系统中,/home目录是一个比较特殊的目录。在这个目录中,存储着系统用户的文件。注意,Linux系统一般分为两类用户。一是root用户,是系统默认的管理员。由于其身份特殊,往往系统会安排一个/root目录保存其数据。二是普通用户,即由root用户为其创建的用户。有时候出于安全需要,系统管理员往往不用root帐户来维护系统上的应用。如现在需要安装邮箱服务器或者数据库服务器。则建议的做法是分别建立两个用户,一个用户专门用来负责邮箱服务器;另外一个用户用来管理数据库服务器。即使实际管理中两个服务器是由同一个管理员担任,但是在Linux系统中建立不同的用户来管理不同的服务,仍然是非常有必要的。此时,这两个不同用户所建立的文件就都会保存在home目录下。系统会为这两个用户分别在这个目录下建立不同的路径。
那么系统管理员在考虑这个目录规划的时候,需要考虑哪些内容呢?
如需要考虑用户数据备份与还原的需要。在Linux系统中,管理员可以根据分区备份重要的数据。此时,如果将这个home目录额外对应到一个独立的分区中,那么如果这个用户的数据比较重要,则可以针对这个独立的分区进行备份。如此的话,可以避免备份整个操作系统的数据。只需要备份一个独立的分区,则备份的效率就会高许多。
如需要考虑这个目录的大小。由于这个目录是用来存放用户数据的,所以其大小是动态变化的。为此,在刚开始分区的时候,需要考虑给这个目录一个比较大的空间。否则的话,如果空间不够后续再增加其空间就会比较麻烦。有时候需要先把这个目录中的文件备份,然后再格式化这个分区才能够调整大小。这个工作比较费时。为此系统管理员在起初部署Linux系统的时候,就需要考虑为这个目录设置合适的大小,尽量避免因为空间的不足而把用户文件存放到其他目录下。
另外有时候还需要考虑是否要把用户产生的数据保存在这个目录中。有时候出于特殊的需要,可能会重新设置用户数据存储的目录。如用户现在需要在操作系统中部署一个数据库系统。此时就不宜把数据库中的数据保存在home目录下。为此笔者的意见是,可以另外设置一个目录,如/dba目录。然后给这个用户管理这个目录的权限(如就有写入、程序执行权限等等)。通过独立的一级目录来管理数据库等应用软件产生的数据,是一个不错的想法。故并不是所有的用户数据存放在Home目录下都是合适的。为此系统管理员还需要考虑,哪些数据该放在Home目录下,哪些该独立存放。笔者的意见是,用户手工创建的文件,那么放置在home目录下,比较合适。而对于一些服务器级别的数据,则最好创建一个独立的目录来存放,包括应用程序软件以及相关的数据文件。
故笔者认为,系统管理员在部署Linux系统之前,第三个要问自己的问题,就是home目录该如何规划。要从用户文件备份、空间容量等角度来考虑这个问题。