鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)

时间:2022-01-01 14:21:11
 第三章、主机规划与磁盘分区
最近升级日期:2009/08/06
3. 安装Linux前的规划
  3.1 选择适当的distribution
  3.2 主机的服务规划与硬件的关系
  3.3 主机硬盘的主要规划(partition)
  3.4 鸟哥说:关於练习机的安装建议
  3.5 鸟哥的两个实际案例
  3.6 大硬盘配合旧主机造成的无法启动问题

鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)安装Linux前的规划

从前面的说明我们知道操作系统与硬件的相关性是很高的,而目前最热门的计算机硬件系统为x86个人计算机系统。我们也讨论了一下各硬件组件在Linux当中的装置档名,同时也了解到磁盘分区与每个分割槽在Linux目录树的关系,也简单谈论了启动管理程序的用途。接下来我们得要开始安装Linux罗。

安装最重要的第一件事,就是要取得Linux distributions的光盘数据,该如何去下载?目前有这么多的distributions,你应该要选择哪一个版本比较好?为什么会比较好?在*,你可以在哪里下载你所需要的Linux distribution呢?这都是这一小节所要讨论的喔!


鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)选择适当的distribution

就如同第一章、Linux是什么里面的distributions谈到的,事实上每个Linux distributions使用的都是来自於http://www.kernel.org官方网站所提供的Linux核心,各家distribution使用的软件其实也都是大同小异,最大的差别或许就是在於软件的安装模式而已。所以,您只要选择其中一套,并且玩得出神入化,那么Linux肯定可以学的成的。

不过,由於近年来网络环境实在不很安全,因此你在选择distribution时,特别要了解到该distribution适合的环境,并且最好选择最新的distribution较佳喔!以鸟哥来说,如果是将Linux定位在服务器上面的话,那么Red Hat Enterprise Linux及SuSE Enterprise Linux应该是很不错的选择,因为他的版本更动幅度较小,并且升级支持的期限较长的原因。

在我们这次的练习中,不想给大家太沈重的$$负担啦,所以鸟哥选择CentOS这一个号称与RHEL完全兼容的版本来练习,目前(2009/08)最新的版本是CentOS 5.3版,你可以选择i386或x86_64的版本来安装,请依据您的硬件来选择。如果你不知道你的硬件规格时,那么建议就直接安装i386的版本即可。因为i386的CentOS 5.x是可以安装在x86_64的硬件中的。

你可以选择到CentOS的官方网站去下载最新的版本,不过我们在*嘛!*有映设站台(mirror site),所以由映设站台来下载比较快啊!底下列出CentOS的下载点:

你要知道的是,因为Linux distributions里面的软件越包越多,所以使用到的光盘(CD)片越来越多了,因此目前各distribution都有提供DVD的版本。以上面的连结来说,每个连结里面的i386版本中,你会发现到有DVD版本例如:CentOS-5.3-i386-bin-DVD.iso,也有CD版本例如:CentOS-5.3-i386-bin-[1-6]of6.iso。鸟哥建议您可以下载DVD版本,因为只有一片,比较环保啦!

Tips:
你所下载的文件扩展名是.iso,这就是所谓的image文件(映像档)。这种image文件是由光盘直接烧录成文件的,文件非常的大,建议你不要使用浏览器(IE/Firefox..)来下载,可以使用FTP用户端程序来下载,例如Filezilla (http://filezilla-project.org/download.php)等。这样比较不需要担心断线的问题,因为可以续传啊!

此外,这种映像档可不能以数据格式烧录成为光盘/DVD的!你必须要使用烧录程序的功能,将他以『映像档格式』烧录成为光盘或DVD才行!切记不要使用烧录数据档格式来烧录喔!重要重要!
鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)

鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)主机的服务规划与硬件的关系

我们前面已经提过,由於主机的服务目的不同,所需要的硬件等级与配备自然也就不一样!底下鸟哥稍微提一提每种服务可能会需要的硬件配备规划,当然,还是得提醒,每个朋友的需求都不一样,所以设计您的主机之前,请先针对自己的需求进行考量。而,如果您不知道自己的考量为何,那么就先拿一部普通的计算机来玩一玩吧!不过要记得!不要将重要数据放在练习用的Linux主机上面。


  • 打造Windows与Linux共存的环境:

在某些情况之下,你可能会想要在『一部主机上面安装两套以上的操作系统』,例如底下这些状况:

  • 我的环境里面仅能允许我拥有一部主机,不论是经济问题还是空间问题~
  • 因为目前各主要硬件还是针对Windows进行驱动程序的开发,我想要同时保有Windows操作系统与Linux操作系统,以确定在Linux底下的硬件应该使用那个I/O port或者是IRQ的分配等等;
  • 我的工作需要同时使用到Windows与Linux操作系统。

果真如此的话,那么刚刚我们在上一个小节谈到的启动流程与多重启动的数据就很重要了。因为需要如此你才能够在一部主机上面操弄两种不同的操作系统嘛!

Tips:
一般来说,你还可以在Windows操作系统上面安装Virtualbox (http://www.virtualbox.org/) 之类的软件,让你可以在Windows系统上面『同时』使用Linux系统,就是两个操作系统同时启动!不过,那样的环境比较复杂,尤其Virtualbox环境中很多硬件都是模拟的,会让新手很难理解系统控制原理。基本上,鸟哥很不建议您使用这样的方式来学习Linux喔!
鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)

如果你的Linux主机已经是想要拿来作为某些服务之用时,那么务必不要选择太久的硬件喔!前面谈到过,太老旧的硬件可能会有电子零件老化的问题~另外,如果你的Linux主机必须要全年无休的启动著,那么摆放这部主机的位置也需要选择啊!好了,底下再来谈一谈,在一般小型企业或学校单位中,常见的某些服务与你的硬件关系有哪些?


  • NAT(达成IP分享器的功能):

通常小型企业或者是学校单位大多仅会有一条对外的连线,然后全公司/学校内的计算机全部透过这条连线连到网际网络上。此时我们就得要使用IP分享器来让这一条对外连线分享给所有的公司内部员工使用。那么Linux能不能达到此一IP分享的功能呢?当然可以,就是透过NAT服务即可达成这项任务了!

在这种环境中,由於Linux作为一个内/外分离的实体,因此网络流量会比较大一点。此时Linux主机的网络卡就需要比较好些的配备。其他的CPU、RAM、硬盘等等的影响就小很多。事实上,单利用Linux作为NAT主机来分享IP是很不智的~因为PC的耗电能力比IP分享器要大的多~

那么为什么你还要使用Linux作为NAT呢?因为Linux NAT还可以额外的加装很多分析软件,可以用来分析用户端的连线,或者是用来控制频宽与流量,达到更公平的频宽使用呢!更多的功能则有待后续更多的学习罗!你也可以参考我们在服务器架设篇当中的数据罗!


  • SAMBA(加入Windows网络上的芳邻):

在你的Windows系统之间如何传输数据呢?当然就是透过网络上的芳邻来传输啦!那还用问。这也是学校老师在上课过程中要分享数据给同学常用的机制了。问题是,Windows XP的网芳一般只能同时分享十部用户端连线,超过的话就得要等待了~真不人性化。

我们可以使用Linux上面的SAMBA这个软件来达成加入Windows网芳的功能喔!SAMBA的效能不错,也没有用户端连线数的限制,相当适合於一般学校环境的文件服务器(file server)的角色呢!

这种服务器由於分享的数据量较大,对於系统的网络卡与硬盘的大小及速度就比较重要,如果你还针对不同的使用者提供文件服务器功能,那么/home这个目录可以考虑独立出来,并且加大容量。


  • Mail(邮件服务器):

邮件服务器是非常重要的,尤其对於现代人来说,电子邮件几乎已经取代了传统的人工邮件递送了。拜硬盘价格大跌及Google/Yahoo/MicroSoft公平竞争之赐,一般免费的email信箱几乎都提供了很不错的邮件服务,包过Web介面的传输、大於2GB以上的容量空间及全年无休的服务等等。例如非常多人使用的gmail就是一例:http://gmail.com

虽然免费的信箱已经非常够用了,老实说,鸟哥也不建议您架设mail server了。问题是,如果你是一间私人单位的公司,你的公司内传送的email是具有商业机密或隐私性的,那你还想要交给免费信箱去管理吗?此时才有需要架设mail server罗。CentOS一安装完毕就提供了Sendmail及Postfix两种mail server软件了!

在mail server上面,重要的也是硬盘容量与网络卡速度,在此情境中,也可以将/var目录独立出来,并加大容量。


  • Web(WWW服务器):

WWW服务器几乎是所有的网络主机都会安装的一个功能,因为他除了可以提供Internet的WWW连线之外,很多在网络主机上面的软件功能(例如某些分析软件所提供的最终分析结果的画面)也都使用WWW作为显示的介面,所以这家伙真是重要到不行的。

CentOS使用的是Apache这套软件来达成WWW网站的功能,在WWW服务器上面,如果你还有提供数据库系统的话,那么CPU的等级就不能太低,而最重要的则是RAM了!要添加WWW服务器的效能,通常提升RAM是一个不错的考量。


  • DHCP(提供用户端自动取得IP的功能):

如果你是个区域网络管理员,你的局域网内共有20部以上的计算机给一般员工使用,这些员工假设并没有计算机网络的维护技能。那你想要让这些计算机在连上Internet时需要手动去配置IP还是他可以自动的取得IP呢?当然是自动取得比较方便啦!这就是DHCP服务的功能了!用户端计算机只要选择『自动取得IP』,其他的,就是你系统管理员在DHCP服务器上面配置一下即可。这个咚咚的硬件要求可以不必很高罗。


  • Proxy(代理服务器):

这也是常常会安装的一个服务器软件,尤其像中小学校的频宽较不足的环境下,Proxy将可有效的解决频宽不足的问题!当然,你也可以在家里内部安装一个Proxy喔!但是,这个服务器的硬件要求可以说是相对而言最高的,他不但需要较强有力的CPU来运行,对於硬盘的速度与容量要求也很高!自然,既然提供了网络服务,网络卡则是重要的一环!


  • FTP:

常常看到很多朋友喜欢架设FTP去进行网络数据的传输,甚至很多人会架设地下FTP网站去传输些违法的数据。老实说,『FTP传输再怎么地下化也是很容易被捉到的』啦!所以,鸟哥相当不建议您架设FTP的喔!不过,对於大专院校来说,因为常常需要分享给全校师生一些免费的资源,此时匿名使用者的FTP软件功能就很需要存在了。对於FTP的硬件需求来说,硬盘容量与网络卡好坏相关性较高。

大致上我们会安装的服务器软件就是这一些罗!当然啦,还是那句老话,在目前你刚接触Linux的这个阶段中,还是以Linux基础为主,鸟哥也希望你先了解Linux的相关主机操作技巧,其他的架站,未来再谈吧!而上面列出的各项服务,仅是提供给你,如果想要架设某种网络服务的主机时,你应该如何规划主机比较好!


鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)主机硬盘的主要规划

系统对於硬盘的需求跟刚刚提到的主机开放的服务有关,那么除了这点之外,还有没有其他的注意事项呢?当然有,那就是数据的分类与数据安全性的考量。所谓的『数据安全』并不是指数据被网络cracker所破坏,而是指『当主机系统的硬件出现问题时,你的文件数据能否安全的保存』之意。

常常会发现网络上有些朋友在问『我的Linux主机因为跳电的关系,造成不正常的关机,结果导致无法启动,这该如何是好?』呵呵,幸运一点的可以使用fsck来解决硬盘的问题,麻烦一点的可能还需要重新安装Linux呢!伤脑筋吧!另外,由於Linux是多人多工的环境,因此很可能上面已经有很多人的数据在其中了,如果需要重新安装的话,光是搬移与备份数据就会疯掉了!所以硬盘的分割考量是相当重要的!

虽然我们在本章的第二小节部分有谈论过磁盘分区了,但是,硬盘的规划对於Linux新鲜人而言,那将是造成你『头疼』的主要凶手之一!因为硬盘的分割技巧需要对於Linux文件结构有相当程度的认知之后才能够做比较完善的规划的!所以,在这里你只要有个基础的认识即可。老实说,没有安装过十次以上的Linux系统,是学不会Linux与磁盘分区的啦!

无论如何,底下还是说明一下基本硬盘分割的模式吧!

  • 最简单的分割方法
    这个在上面第二节已经谈过了,就是仅分割出根目录与内存置换空间( / & swap )即可。然后再预留一些剩余的磁碟以供后续的练习之用。不过,这当然是不保险的分割方法(所以鸟哥常常说这是『懒人分割法』)!因为如果任何一个小细节坏掉(例如坏轨的产生),你的根目录将可能整个的损毁~挽救方面较困难!

  • 稍微麻烦一点的方式
    较麻烦一点的分割方式就是先分析这部主机的未来用途,然后根据用途去分析需要较大容量的目录,以及读写较为频繁的目录,将这些重要的目录分别独立出来而不与根目录放在一起,那当这些读写较频繁的磁盘分区槽有问题时,至少不会影响到根目录的系统数据,那挽救方面就比较容易啊!在默认的CentOS环境中,底下的目录是比较符合容量大且(或)读写频繁的目录罗:
    • /
    • /usr
    • /home
    • /var
    • Swap

以鸟哥为例,通常我会希望我的邮件主机大一些,因此我的/var通常会给个数GB的大小,如此一来就可以不担心会有邮件空间不足的情况了!另外,由於我开放SAMBA服务,因此提供每个研究室内人员的数据备份空间,所以罗,/home所开放的空间也很大!至於/usr/的容量,大概只要给2-5GB即可!凡此种种均与您当初预计的主机服务有关!因此,请特别注意您的服务项目!然后才来进行硬盘的规划


鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)鸟哥说:关於练习机的安装建议
  • 关於硬件方面

老实说,安装Linux是非常困难的一件事,所以在补教界的教材方面,安装(Installation)通常是在系统管理教完后才教的。那因为我们不是在补教业的教室中,所以没有现成的Linux系统可以用,当然就得要自行安装一个啦!因此这里才会先跟大家介绍如何安装Linux的。虽然很多朋友都喜欢使用Virtualbox安装Linux去学习,但是Virtualbox或其他相关的虚拟化软件都是用模拟的方式去启动Linux的,新手学习方面常常会误解~

有鉴於此,因此,鸟哥『强烈的建议您,务必拥有一*立的主机,而且内含一颗仅有Linux操作系统的硬盘』,以鸟哥自己为例,我的主机上面有一个抽取式硬盘盒,而我有两颗分离的硬盘,分别安装Windows与Linux系统,要使用不同的操作系统时就抽换硬盘,如此一来,主机很单纯,而抽换也很快速,不需要对机壳拆拆装装的,很方便!提供给您做为参考。


  • 关於硬盘分割方面

此外,在硬盘的分割方面,鸟哥也建议新手们,先暂时以/及swap两个分割即可,而且,还要预留一个未分割的空间喔!因为我们是练习机,暂时不会提供网络服务,所以只要有/及Swap提供给我们进行安装Linux的空间即可。不过,我们未来会针对系统的磁碟部分进行分割的练习以及磁碟配额(quota)的练习,因此,预留一个磁碟空间是必须要的!

举例来说,如果你有一个20GB的硬盘,那么建议你分15 GB给/来安装Linux,512 MB给Swap,另外的4 GB左右不要分割,先保留下来,未来我们可以继续来练习喔!^_^


  • 关於软件方面

另一个容易发现问题的地方,在於使用者常常会找不到某些命令,导致无法按照书上的说明去运行某些命令。因为无法运行命令,所以就会一直给他放在那边,不会继续往下学习啊!真是可惜!为什么会找不到命令呢?很简单啊!就是因为没有安装该软件啊!所以,『强烈的建议新手,务必将所有的套件都给他安装上去!』也就是选择『安装所有套件』就是了。

当然啦,上面提到的都是针对『练习机』而言喔!如果是您自己预计要上线的Linux主机,那就不建议按照上面的说明安装了!切记切记!


鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)鸟哥的两个实际案例

这里说一下鸟哥的两个实际的案例,这两个案例是目前还在运行的主机喔!要先声明的是,鸟哥的范例不见得是最好的,因为每个人的考量并不一样。我只是提供相对可以使用的方案而已喔!


  • 案例一:家用的小型Linux服务器,IP分享与文件分享中心:
  • 提供服务
    提供家里的多部计算机的网络连线分享,所以需要NAT功能。提供家庭成员的数据存放容量,由於家里使用Windows系统的成员不少,所以建置SAMBA服务器,提供网芳的网络磁碟功能。

  • 主机硬件配备
    • CPU使用P-III 800 MHz;
    • 内存大小为512 MB的RAM;
    • 两张网络卡,控制芯片为常见的螃蟹卡(Realtek);
    • 共有两颗磁碟,一颗系统碟一颗数据碟。数据碟高达160 GB;
    • 显卡为以前很流行的GeForce 2 MX含32 MB的内存;
    • 安装完毕后将萤幕,键盘,鼠标,DVD-ROM等配备均移除,仅剩下网络线与电源线。

  • 硬盘分割
    • 分成/boot, /, /usr, /var, /tmp等目录均独立;
    • /home独立出来,放置到那颗160GB的磁碟,提供给家庭成员存放个人数据;
    • 1 GB的Swap;


  • 案例二:提供Linux的PC丛集(Cluster)计算机群:
  • 提供服务
    提供研究室成员对於模式模拟的软、硬件平台,主要提供的服务并非网际网络服务,而是研究室内部的研究工作分析。

  • 主机硬件配备
    • 利用两部双CPU(均为双核)的x86_64系统(泰安主板提供的特殊功能);
    • 使用Geforce 7300显卡,内含64MB的内存;
    • 使用一颗硬盘作为主系统,六颗磁碟组成磁盘阵列,以储存模式模拟的结果;
    • 使用PCI-Express介面的网络卡,速度为Gbps;
    • 共有4 GB的主内存容量;

  • 硬盘分割
    • 全部的磁盘阵列容量均给/cluster/raid目录,占有2TB的容量;
    • 2 GB的swap容量;
    • 分割出/, /usr, /var, /tmp等目录,避免程序错误造成系统的困扰;
    • /home也独立出来,让每个研究室成员可以拥有自己的数据存放容量;

在上面的案例中,案例一是属於小规模的主机系统,因此只要使用预计被淘汰的配备即可进行主机的架设!唯一可能需要购买的大概是网络卡吧!呵呵!而在案例二中,由於我需要大量的数值运算,且运算结果的数据非常的庞大,因此就需要比较大的磁碟容量与较佳的网络系统了。以上的数据请先记得,因为下一章节在实际安装Linux之前,你得先进行主机的规划呀!


鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.3. 安装Linux前的规划)大硬盘配合旧主机造成的无法启动问题

随著时代的演变,在2009年中的目前,个人计算机上面的硬盘容量竟然都已经高达750 GB以上了!这么大的硬盘用起来当然是很爽快的啦~不过,也有一些问题的~那就是~启动的问题~

某些比较旧的主板中,他们的BIOS可能找不到比较大容量的磁碟的。所以,你在旧主板上面安装新的大容量磁碟时,很可能你的磁碟容量会被误判!不过,即使是这样,Linux还是能够安装喔!而且能够顺利的捉到完整的硬盘容量呢!为什么呢?因为当Linux核心顺利启动启动后,他会重新再去侦测一次整个硬件而不理会BIOS所提供的资讯,所以就能够顺利的捉到正确的硬盘,并且让你安装Linux。

但是,安装完毕后,可能会无法启动喔!为什么啊?前一小节里面我们不是谈到过启动流程与MBR的内容吗?安装的时候是以光盘启动并且由光盘加载Linux核心,所以核心可以被顺利加载来安装。但是若以这样的配备来启动时,因为BIOS捉到的硬盘是不对的,所以使用硬盘启动可能就会出现无法启动的错误了。那怎办?

由於BIOS捉到的磁碟容量不对,但是至少在整颗磁碟前面的磁区他还读的到啊!因此,你只要将这个磁碟最前面的容量分割出一个小分割槽,并将这个分割槽与系统启动文件的放置目录摆在一起,那就是 /boot 这个目录!就能够解决了!很简单吧!其实,重点是:『将启动磁区所在分割槽规范在小於1024个磁柱以内~』即可!那怎么做到呢?很简单,在进行安装的时候,规划出三个磁区,分别是:

  • /boot
  • /
  • swap

那个/boot只要给100M Bytes左右即可!而且/boot要放在整块硬盘的最前面!这部份你先有印象与概念即可,未来我们谈到第二十章的启动流程时,会再加强说明的! ^_^


出处:http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux_3.php