视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
3主机规划与磁盘分区
2025-10-03 04:02:02 责编:小OO
文档
鸟哥的 Linux 私房菜

为取得较佳浏览结果,请爱用 firefox 浏览本网页

   
 第三章、主机规划与磁盘分区

切换分辨率为 800x600 

最近更新日期:2009/08/06 

事实上,要安装好一部Linux主机并不是那么简单的事情,你必须要针对distributions的特性、服务器软件的能力、 未来的升级需求、硬件扩充性需求等等来考虑,还得要知道磁盘分区、文件系统、Linux操作较频繁的目录等等, 都得要有一定程度的了解才行,所以,安装Linux并不是那么简单的工作喔! 不过,要学习Linux总得要有Linux系统存在吧?所以鸟哥在这里还是得要提前说明如何安装一部Linux练习机。 在这一章里面,鸟哥会介绍一下,在开始安装Linux之前,您应该要先思考哪些工作? 好让您后续的主机维护轻松愉快啊!此外,要了解这个章节的重要性,您至少需要了解到Linux文件系统的基本概念, 所以,在您完成了后面的相关章节之后,记得要再回来这里看看如何规划主机喔! ^_^ 

1. Linux与硬件的搭配

  1.1 认识计算机的硬件配备

  1.2 选择与Linux搭配的主机配备: 硬件支持相关网站

  1.3 各硬件装置在Linux中的文件名

2. 磁盘分区

  2.1 磁盘连接的方式与装置文件名的关系

  2.2 磁盘的组成复习

  2.3 磁盘分区表(partition table)

  2.4 开机流程与主要启动记录区(MBR)

  2.5 Linux安装模式下,磁盘分区的选择(极重要)

3. 安装Linux前的规划

  3.1 选择适当的distribution

  3.2 主机的服务规划与硬件的关系

  3.3 主机硬盘的主要规划(partition)

  3.4 鸟哥说:关于练习机的安装建议

  3.5 鸟哥的两个实际案例

  3.6 大硬盘配合旧主机造成的无法开机问题

4. 重点回顾

5. 本章习题

6. 参考数据与延伸阅读

7. 针对本文的建议:http://phorum.vbird.org/viewtopic.php?t=23874 

Linux与硬件的搭配

虽然个人计算机各组件的主要接口是大同小异的,包括前面第零章计算器概论讲到的种种接口等, 但是由于新的技术来得太快,Linux核心针对新硬件所纳入的驱动程序模块比不上硬件更新的速度, 加上硬件厂商针对Linux所推出的驱动程序较慢,因此你在选购新的个人计算机(或服务器)时, 应该要选择已经过安装Linux测试的硬件比较好。

此外,在安装Linux之前,你最好了解一下你的Linux预计是想达成什么任务,这样在选购硬件时才会知道那个组件是最重要的。 举例来说,桌面计算机(Desktop)的用户,应该会用到X Window系统, 此时,显示适配器的优劣与内存的大小可就占有很重大的影响。如果是想要做成文件服务器, 那么硬盘或者是其他的储存设备,应该就是您最想要增购的组件啰!所以说,功课还是需要作的啊!

鸟哥在这里要不厌其烦的再次的强调,Linux对于计算机各组件/装置的分辨, 与大家惯用的Windows系统完全不一样!因为,各个组件或装置在Linux底下都是『一个档案!』 这个观念我们在第一章Linux是什么里面已经提过, 这里我们再次的强调。因此,你在认识各项装置之后,学习Linux的装置文件名之前, 务必要先将Windows对于装置名称的概念先拿掉~否则会很难理解喔!

认识计算机的硬件配备

『什么?学Linux还得要玩硬件?』呵呵!没错! 这也是为什么鸟哥要将计算器概论搬上台面之故! 我们这里主要是介绍较为普遍的个人计算机架构来设定Linux服务器,因为比较便宜啦! 至于各相关的硬件组件说明已经在第零章计概内讲过了,这里不再重复说明。 仅将重要的主板与组件的相关性图标如下:

图1.1.1、个人计算机各组件的相关性

(上述图标主要取自tom's硬件指南,各组件图片分属个别公司所有)

那么我们应该如何挑选计算机硬件呢?随便买买就好,还是有特殊的考虑?底下有些思考角度可以提供给大家参考看看: 

∙游戏机/工作机的考虑

事实上,计算机主机的硬件配备与这部主机未来的功能是很有相关性的!举例来说,家里有小孩, 或者自己仍然算是小孩的朋友大概都知道:『要用来打Game的『游戏机计算机』 所需要的配备一定比办公室用的『工作机计算机』配备更高档』,为什么呢? 因为现在一般的三维(3D)计算机游戏所需要的3D光影运算太多了,所以显示适配器与CPU资源都会被耗用的非常多! 当然就需要比较高级的配备啰,尤其是在显示适配器、CPU(例如Intel的Core 2 Duo及AMD的Athlon X2等)及主板芯片组方面的功能。

至于办公室的工作环境中,最常使用到的软件大多是办公软件(Office),最常使用的网络功能是浏览器, 这些软件所需要的运算并不高,理论上目前的入门级计算机都能够跑得非常顺畅了!(例如Intel Celeron及AMD的Sempron)。 甚至很多企业都喜欢购买将显示适配器、主板芯片组整合在一起的整合型芯片的计算机,因为便宜又好用!

∙效能/价格比的考虑

并不是『贵就比较好』喔!在目前(2009)全球经济萧条的情况下,如何兼顾省钱与计算机硬件的效能问题,很重要! 如果你喜欢购买最新最快的计算机零件,这些刚出炉的组件都非常的贵,而且操作系统还不见得能够完整的支持。 所以,鸟哥都比较喜欢购买主流级的产品而非最高档的。因为我们最好能够考虑到效能/价格比。 如果高一级的产品让你的花费多一倍,但是新增加的效能却只有10%而已,那这个效能/价格的比值太低,不建议啦!

此外,由于电价越来越高,如何『省电』就很重要啦!因此目前硬件评论界有所谓的『每瓦效能』的单位, 每瓦电力所发挥的效能越高,当然代表越省电啊!这也是购买硬件时的考虑之一啦!要知道,如果是做为服务器用, 一年365天中时时刻刻都开机,则你的计算机多花费50瓦的电力时,每年就得要多花450度电左右,如果以企业来讲, 每百部计算机每年多花450度电的话,每年得多花十万块以上的电费呢!所以这也需要考虑啊!

∙支援度的考虑

并非所有的产品都会支持特定的操作系统,这牵涉到硬件开发商是否有意愿提供适当的驱动程序之故。 因此,当我们想要购买或者是升级某些计算机组件时,应该要特别注意该硬件是否有针对您的操作系统提供适当的驱动程序, 否则,买了无法使用,那才是叫人呕死啊!因此,针对Linux来说,底下的硬件分析就重要啦!

选择与Linux搭配的主机配备

由于硬件的加速发展与操作系统核心功能的增强,导致较早期的计算机已经没有能力再负荷新的操作系统了。 举例来说,Pentun-II以前的硬件配备可能已经不再适合现在的新的Linux distribution。 而且较早期的硬件配备也可能由于保存的问题或者是电子零件老化的问题, 导致这样的计算机系统反而非常容易在运作过程中出现不明的当机情况,因此在利用旧零件拼凑Linux使用的计算机系统时, 真的得要特别留意呢!

不过由于Linux运作所需要的硬件配备实在不需要太高档,因此,如果有近期汰换下来的, 比Pentun-III 500还要新的硬件配备, 不必急着丢弃。由于P-III的硬件不算太老旧,在效能方面其实也算的上非常OK了~所以, 鸟哥建议您如果有P-III以后等级的计算机被淘汰,可以拿下来测试一下,说不定能够作为你日常生活的Linux服务器, 或者是备用服务器,都是非常好用的功能哩!

但是由于不同的任务的主机所需要的硬件配备并不相同,举例来说,如果你的Linux主机是要作为企业内部的Mail server或者是Proxy server时,或者是需要使用到图形接口的运算(X Window内的Open GL等等功能), 那么你就必须要选择高档一点的计算机配备了,使用过去的计算机零件可能并不适合呢。

底下我们稍微谈一下,如果你的Linux主要是作为小型服务器使用,并不负责学术方面的大量运算, 而且也没有使用X Window的图形接口,那你的硬件需求只要像底下这样就差不多了:

∙CPU

CPU只要不是老旧到会让你的硬件系统当机的都能够支持!如同前面谈到的,目前(2009)的环境中, Pentun-III的CPU不算太旧而且效能也不错,也就是说P-III就非常好用了。

∙RAM

主存储器是越大越好!事实上在Linux服务器中,主存储器的重要性比CPU还要高的多!因为如果主存储器不够大, 就会使用到硬盘的内存置换空间(swap)。 而由计算器概论的内容我们知道硬盘比内存的速度要慢的多, 所以主存储器太小可能会影响到整体系统的效能的!尤其如果你还想要玩X window的话,那主存储器的容量就不能少。 对于一般的小型服务器来说,建议至少也要512MB以上的主存储器容量较佳。

∙Hard Disk

由于数据量与数据存取频率的不同,对于硬盘的要求也不相同。 举例来说,如果是一般小型服务器,通常重点在于容量,硬盘容量大于20GB就够用到不行了! 但如果你的服务器是作为备份或者是小企业的文件服务器,那么你可能就得要考虑较高阶的磁盘阵列(RAID)模式了。

Tips:

磁盘阵列(RAID)是利用硬件技术将数个硬盘整合成为一个大硬盘的方法,操作系统只会看到最后被整合起来的大硬盘。 由于磁盘阵列是由多个硬盘组成,所以可以达成速度效能、备份等任务。更多相关的磁盘阵列我们会在第十五章中介绍的。 

∙VGA

对于不需要X Window的服务器来说,显示适配器算是最不重要的一个组件了!你只要有显示适配器能够让计算机启动,那就够了。 但如果需要X window系统时,你的显示适配器最好能够拥有32MB以上的内存容量,否则跑X系统会很累喔! 鸟哥曾使用一块只有2MB内存的显示适配器跑X,光是按一个按钮就花费数分钟时间,真是折磨人家的耐心啊!

∙Network Interface Card

网络卡是服务器上面最重要的组件了!目前新式的主板大多拥有10/100/1000Mbps的高速网络,不过,老实说, 只要好一点的10/100网络卡就非常够用了!毕竟我们的带宽并没有大到Gigabit的速度!如果是小型服务器, 一块Realtek RTL8139芯片的网卡就非常好用了,不过,如果是读取非常频繁的网站, 好一点的Intel/3Com网卡应该是比较适合的喔。

∙光盘、软盘、键盘与鼠标

不要旧到你的计算机不支持就好了,因为这些配备都是非必备的喔!举例来说,鸟哥安装好Linux系统后, 可能就将该系统的光驱、鼠标、软盘驱动器等通通拔除,只有网络线连接在计算机后面而已,其他的都是透过网络联机来管控的哩! 因为通常服务器这东西最需要的就是稳定,而稳定的最理想状态就是平时没事不要去动他是最好的。 

底下鸟哥针对一般你可能会接触到的计算机主机的用途与相关硬件配备的基本要求来说明一下好了:

∙一般小型主机且不含X Window系统:

o用途:家庭用NAT主机(IP分享器功能)或小型企业之非图形接口小型主机。 

oCPU:大于P-III 500以上等级即可。 

oRAM:至少128MB,不过还是大于256MB以上比较妥当! 

o网络卡:一般的10/100 Mbps即可应付。 

o显示适配器:只要能够被Linux捉到的显示适配器即可,例如NVidia或ATI的主流显示适配器均可。 

o硬盘:20GB以上即可!

∙桌上型(Desktop)Linux系统/含X Window:

o用途:Linux的练习机或办公室(Office)工作机。(一般我们会用到的环境) 

oCPU:最好等级高一点,例如P-4以上等级。 

oRAM:一定要大于512MB比较好!否则容易有图形接口停顿的现象。 

o网络卡:普通的10/100 Mbps就好了! 

o显示适配器:使用32MB以上内存的显示适配器! 

o硬盘:越大越好,最好有60GB。

∙中型以上Linux服务器:

o用途:中小型企业/学校单位的FTP/mail/WWW等网络服务主机。 

oCPU:最好等级高一点,可以考虑使用双核心系统。 

oRAM:最好能够大于1GB以上,大于4GB更好! 

o网络卡:知名的3Com或Intel等厂牌,比较稳定效能较佳!也可选购10/100/1000 Mbps的速度。 

o显示适配器:如果有使用到图形功能,则一张MB内存的显示适配器是需要的! 

o硬盘:越大越好,如果可能的话,使用磁盘阵列,或者网络硬盘等等的系统架构, 能够具有更稳定安全的传输环境,更佳! 

o建议企业用计算机不要自行组装,可购买商用服务器较佳, 因为商用服务器已经通过制造商的散热、稳定度等测试,对于企业来说,会是一个比较好的选择。

总之,鸟哥在这里仅是提出一个方向:如果你的Linux主机是小型环境使用的,实时当机也不太会影响到企业环境的运作时, 那么使用升级后被淘汰下来的零件以组成计算机系统来运作,那是非常好的回收再利用的案例。 但如果你的主机系统是非常重要的,你想要更一部更稳定的Linux服务器,那考虑系统的整体搭配与运作效能的考虑, 购买已组装测试过的商用服务器会是一个比较好的选择喔!

Tips:

一般来说,目前(2009)的入门计算机机种,CPU至少都是Intel Core的2GHz系列的等级以上, 主存储器至少有1GB,显示适配器内存也有128MB以上,所以如果您是新购置的计算机, 那么该计算机用来作为Linux的练习机,而且加装X Window系统,肯定是可以跑的吓吓叫的啦!^_^ 

此外,Linux开发商在释出Linux distribution之前,都会针对该版所默认可以支持的硬件做说明, 因此,你除了可以在Linux的Howto文件去查询硬件的支持度之外,也可以到各个相关的Linux distributions网站去查询呢! 底下鸟哥列出几个常用的硬件与Linux distributions搭配的网站,建议大家想要了解你的主机支不支持该版Linux时, 务必到相关的网站去搜寻一下喔!

∙Red Hat的硬件支持:https://hardware.redhat.com/?pagename=hcl 

∙Open SuSE的硬件支持:http://en.opensuse.org/Hardware?LANG=en_UK 

∙Mandriva的硬件支持:http://hcl.mandriva.com/ 

∙Linux对笔记本电脑的支援:http://www.linux-laptop.net/ 

∙Linux对打印机的支持:http://www.openprinting.org/ 

∙显示适配器对XFree86/Xorg的支援:http://www.linuxhardware.org/ 

∙Linux硬件支持的中文HowTo:http://www.linux.org.tw/CLDP/HOWTO/hardware.html#hardware 

总之,如果是自己维护的一个小网站,考虑到经济因素,你可以自行组装一部主机来架设。 而如果是中、大型企业,那么主机的钱不要省~因为,省了这些钱,未来主机挂点时, 光是要找出哪个组件出问题,或者是系统过热的问题,会气死人ㄟ! 而且,要注意的就是未来你的Linux主机规划的『用途』来决定你的Linux主机硬件配备喔!相当的重要呢!

各硬件装置在Linux中的文件名

选择好你所需要的硬件配备后,接下来得要了解一下各硬件在Linux当中所扮演的角色啰。 这里鸟哥再次的强调一下:『在Linux系统中,每个装置都被当成一个档案来对待』 举例来说,IDE接口的硬盘的文件名即为/dev/hd[a-d],其中, 括号内的字母为a-d当中的任意一个,亦即有/dev/hda, /dev/hdb, /dev/hdc, 及 /dev/hdd这四个档案的意思。

Tips:

这种中括号[]

型式的表示法在后面的章节当中会使用得很频繁,请特别留意

另外先提出来强调一下,在Linux这个系统当中,几乎所有的硬件装置档案都在/dev这个目录内, 所以你会看到/dev/hda, /dev/fd0等等的檔名喔。 

那么打印机与软盘呢?分别是/dev/lp0, /dev/fd0啰!好了,其他的接口设备呢? 底下列出几个常见的装置与其在Linux当中的档名啰:

装置装置在Linux内的文件名

IDE硬盘机

/dev/hd[a-d]
SCSI/SATA/USB硬盘机

/dev/sd[a-p]
USB快闪碟

/dev/sd[a-p](与SATA相同)

软盘驱动器/dev/fd[0-1]
打印机25针: /dev/lp[0-2]

USB: /dev/usb/lp[0-15]

鼠标USB: /dev/usb/mouse[0-15]

PS2: /dev/psaux

当前CDROM/DVDROM

/dev/cdrom
当前的鼠标/dev/mouse
磁带机IDE: /dev/ht0

SCSI: /dev/st0

需要特别留意的是硬盘机(不论是IDE/SCSI/USB都一样),每个磁盘驱动器的磁盘分区(partition)不同时, 其磁盘文件名还会改变呢!下一小节我们会介绍磁盘分区的相关概念啦!需要特别注意的是磁带机的文件名, 在某些不同的distribution当中可能会发现不一样的档名,需要稍微留意。 总之,你得先背一下IDE与SATA硬盘的文件名就是了!其他的,用的到再来背吧!

Tips:

更多Linux核心支持的硬件装置与文件名,可以参考如下网页:

http://www.kernel.org/pub/linux/docs/device-list/devices.txt 

磁盘分区

这一章在规划的重点是为了要安装Linux,那Linux系统是安装在计算机组件的那个部分呢?就是磁盘啦!所以我们当然要来认识一下磁盘先。 我们知道一块磁盘是可以被分割成多个分割槽的(partition),以旧有的Windows观点来看,你可能会有一颗磁盘并且将他分割成为C:, D:, E:槽对吧!那个C, D, E就是分割槽(partition)啰。但是Linux的装置都是以档案的型态存在,那分割槽的档名又是什么? 如何进行磁盘分区,磁盘分区有哪些?是我们这个小节所要探讨的内容啰。

磁盘连接的方式与装置文件名的关系

由第零章提到的磁盘说明,我们知道个人计算机常见的磁盘接口有两种, 分别是IDE与SATA接口,目前(2009)的主流已经是SATA接口了,但是老一点的主机其实大部分还是使用IDE接口。 我们称呼可连接到IDE接口的装置为IDE装置,不管是磁盘还是光盘设备。

以IDE接口来说,由于一个IDE扁平电缆可以连接两个IDE装置,又通常主机都会提供两个IDE接口,因此最多可以接到四个IDE装置。 也就是说,如果你已经有一个光盘设备了,那么最多就只能再接三颗IDE接口的磁盘啰。 这两个IDE接口通常被称为IDE1(primary)及IDE2(secondary), 而每条扁平电缆上面的IDE装置可以被区分为Master与Slave。这四个IDE装置的文件名为:

IDE\\JumperMasterSlave
IDE1(Primary)/dev/hda/dev/hdb
IDE2(Secondary)/dev/hdc/dev/hdd
例题: 

假设你的主机仅有一颗IDE接口的磁盘,而这一颗磁盘接在IDE2的Master上面,请问他在Linux操作系统里面的装置文件名为何? 

答: 

比较上表的装置文件名对照,IDE2的Master之装置文件名为/dev/hdc 

再以SATA接口来说,由于SATA/USB/SCSI等磁盘接口都是使用SCSI模块来驱动的, 因此这些接口的磁盘装置文件名都是/dev/sd[a-p]的格式。 但是与IDE接口不同的是,SATA/USB接口的磁盘根本就没有一定的顺序,那如何决定他的装置文件名呢? 这个时候就得要根据Linux核心侦测到磁盘的顺序了!这里以底下的例子来让你了解啰。

例题: 

如果你的PC上面有两个SATA磁盘以及一个USB磁盘,而主板上面有六个SATA的插槽。这两个SATA磁盘分别安插在主板上的SATA1, SATA5插槽上,请问这三个磁盘在Linux中的装置文件名为何? 

答: 

由于是使用侦测到的顺序来决定装置文件名,并非与实际插槽代号有关,因此装置的文件名如下: 

1.SATA1插槽上的檔名:/dev/sda 

2.SATA5插槽上的檔名:/dev/sdb 

3.USB磁盘(开机完成后才被系统捉到):/dev/sdc 

通过上面的介绍后,你应该知道了在Linux系统下的各种不同接口的磁盘的装置文件名了。 OK!好像没问题了呦!才不是呢~问题很大呦! 因为如果你的磁盘被分割成两个分割槽,那么每个分割槽的装置文件名又是什么?在了解这个问题之前,我们先来复习一下磁盘的组成, 因为现今磁盘的分割与他物理的组成很有关系!

磁盘的组成复习

我们在计算器概论谈过磁盘的组成主要有磁盘盘、机械手臂、磁盘读取头与主轴马达所组成, 而数据的写入其实是在磁盘盘上面。磁盘盘上面又可细分出扇区(Sector)与磁柱(Cylinder)两种单位, 其中扇区每个为512bytes那么大。假设磁盘只有一个磁盘盘,那么磁盘盘有点像底下这样:

图2.2.1、磁盘盘组成示意图

那么是否每个扇区都一样重要呢?其实整颗磁盘的第一个扇区特别的重要,因为他记录了整颗磁盘的重要信息! 磁盘的第一个扇区主要记录了两个重要的信息,分别是:

∙主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446 bytes 

∙分割表(partition table):记录整颗硬盘分割的状态,有 bytes 

MBR是很重要的,因为当系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行开机。 如果你要安装多重引导的系统,MBR这个区块的管理就非常非常的重要了! ^_^

那么分割表又是啥?其实妳刚刚拿到的整颗硬盘就像一根原木,你必须要在这根原木上面切割出你想要的区段, 这个区段才能够再制作成为你想要的家具!如果没有进行切割,那么原木就不能被有效的使用。 同样的道理,你必须要针对你的硬盘进行分割,这样硬盘才可以被你使用的!

Tips:

更多的磁盘分区与文件系统管理,我们将在第二篇的时候深入介绍喔! 

磁盘分区表(partition table)

但是硬盘总不能真的拿锯子来切切割割吧?那硬盘还真的是会坏掉去!那怎办?在前一小节的图示中, 我们有看到『开始与结束磁柱』吧?那是文件系统的最小单位,也就是分割槽的最小单位啦!没有错, 我们就是利用参考对照磁柱号码的方式来处理啦! 在分割表所在的 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码。 若将硬盘以长条形来看,然后将磁柱以柱形图来看,那么那 bytes的记录区段有点像底下的图示:

图2.3.1、磁盘分区表的作用示意图

假设上面的硬盘装置文件名为/dev/hda时,那么这四个分割槽在Linux系统中的装置文件名如下所示, 重点在于档名后面会再接一个数字,这个数字与该分割槽所在的位置有关喔!

∙P1:/dev/hda1 

∙P2:/dev/hda2 

∙P3:/dev/hda3 

∙P4:/dev/hda4 

上图中我们假设硬盘只有400个磁柱,共分割成为四个分割槽,第四个分割槽所在为第301到400号磁柱的范围。 当你的操作系统为Windows时,那么第一到第四个分割槽的代号应该就是C, D, E, F。当你有资料要写入F槽时, 你的数据会被写入这颗磁盘的301~400号磁柱之间的意思。

由于分割表就只有 bytes而已,最多只能容纳四笔分割的记录, 这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽。 根据上面的图示与说明,我们可以得到几个重点信息:

∙其实所谓的『分割』只是针对那个 bytes的分割表进行设定而已! 

∙硬盘默认的分割表仅能写入四组分割信息 

∙这四组分割信息我们称为主要(Primary)或延伸(Extended)分割槽 

∙分割槽的最小单位为磁柱(cylinder) 

∙当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分割槽进行数据的处理 

咦!你会不会突然想到,为啥要分割啊?基本上你可以这样思考分割的角度:

1.数据的安全性:

因为每个分割槽的数据是分开的!所以,当你需要将某个分割槽的数据重整时,例如你要将计算机中Windows的C槽重新安装一次系统时, 可以将其他重要数据移动到其他分割槽,例如将邮件、桌面数据移动到D槽去,那么C槽重灌系统并不会影响到D槽! 所以善用分割槽,可以让妳的数据更安全。 

2.系统的效能考虑:

由于分割槽将数据集中在某个磁柱的区段,例如上图当中第一个分割槽位于磁柱号码1~100号,如此一来当有数据要读取自该分割槽时, 磁盘只会搜寻前面1~100的磁柱范围,由于数据集中了,将有助于数据读取的速度与效能!所以说,分割是很重要的! 

既然分割表只有记录四组数据的空间,那么是否代表我一颗硬盘最多只能分割出四个分割槽?当然不是啦!有经验的朋友都知道, 你可以将一颗硬盘分割成十个以上的分割槽的!那又是如何达到的呢?在Windows/Linux系统中, 我们是透过刚刚谈到的延伸分割(Extended)的方式来处理的啦!延伸分割的想法是: 既然第一个扇区所在的分割表只能记录四笔数据, 那我可否利用额外的扇区来记录更多的分割信息?实际上图示有点像底下这样:

图2.3.2、磁盘分区表的作用示意图

在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,P1为主要分割,而P2则为延伸分割。请注意, 延伸分割的目的是使用额外的扇区来记录分割信息,延伸分割本身并不能被拿来格式化。 然后我们可以透过延伸分割所指向的那个区块继续作分割的记录。

如上图右下方那个区块有继续分割出五个分割槽, 这五个由延伸分割继续切出来的分割槽,就被称为逻辑分割槽(logical partition)。 同时注意一下,由于逻辑分割槽是由延伸分割继续分割出来的,所以他可以使用的磁柱范围就是延伸分割所设定的范围喔! 也就是图中的101~400啦!

同样的,上述的分割槽在Linux系统中的装置文件名分别如下:

∙P1:/dev/hda1 

∙P2:/dev/hda2 

∙L1:/dev/hda5 

∙L2:/dev/hda6 

∙L3:/dev/hda7 

∙L4:/dev/hda8 

∙L5:/dev/hda9 

仔细看看,怎么装置文件名没有/dev/hda3与/dev/hda4呢?因为前面四个号码都是保留给Primary或Extended用的嘛! 所以逻辑分割槽的装置名称号码就由5号开始了!这是个很重要的特性,不能忘记喔!

主要分割、延伸分割与逻辑分割的特性我们作个简单的定义啰:

∙主要分割与延伸分割最多可以有四笔(硬盘的) 

∙延伸分割最多只能有一个(操作系统的) 

∙逻辑分割是由延伸分割持续切割出来的分割槽; 

∙能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。延伸分割无法格式化; 

∙逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)。 

事实上,分割是个很麻烦的东西,因为他是以磁柱为单位的『连续』磁盘空间, 且延伸分割又是个类似的磁盘空间,所以在分割的时候得要特别注意。我们举底下的例子来解释一下好了:

例题: 

在Windows操作系统当中,如果你想要将D与E槽整合成为一个新的分割槽,而如果有两种分割的情况如下图所示,图中的特殊颜色区块为D与E槽的示意,请问这两种方式是否均可将D与E整合成为一个新的分割槽?

图2.3.3、磁盘空间整合示意图

答: 

∙上图可以整合:因为上图的D与E同属于延伸分割内的逻辑分割,因此只要将两个分割槽删除,然后再重新建立一个新的分割槽,就能够在不影响其他分割槽的情况下,将两个分割槽的容量整合成为一个。

∙下图不可整合:因为D与E分属主分割与逻辑分割,两者不能够整合在一起。除非将延伸分割破坏掉后再重新分割。但如此一来会影响到所有的逻辑分割槽,要注意的是:如果延伸分割被破坏,所有逻辑分割将会被删除。 因为逻辑分割的信息都记录在延伸分割里面嘛! 

由于第一个扇区所记录的分割表与MBR是这么的重要,几乎只要读取硬盘都会先由这个扇区先读起。 因此,如果整颗硬盘的第一个扇区(就是MBR与partition table所在的扇区)物理实体坏掉了,那这个硬盘大概就没有用了! 因为系统如果找不到分割表,怎么知道如何读取磁柱区间呢?您说是吧!底下还有一些例题您可以思考看看:

例题: 

如果我想将一颗大硬盘『暂时』分割成为四个partitions,同时还有其他的剩余容量可以让我在未来的时候进行规划,我能不能分割出四个Primary?若不行,那么你建议该如何分割? 

答: 

∙由于Primary+Extended最多只能有四个,其中Extended最多只能有一个,这个例题想要分割出四个分割槽且还要预留剩余容量,因此P+P+P+P的分割方式是不适合的。因为如果使用到四个P,则即使硬盘还有剩余容量,因为无法再继续分割,所以剩余容量就被浪费掉了。

∙假设你想要将所有的四笔记录都花光,那么P+P+P+E是比较适合的。所以可以用的四个partitions有3个主要及一个逻辑分割,剩余的容量在延伸分割中。

∙如果你要分割超过4槽以上时,一定要有Extended分割槽,而且必须将所有剩下的空间都分配给Extended,然后再以logical的分割来规划Extended的空间。 另外,考虑到磁盘的连续性,一般建议将Extended的磁柱号码分配在最后面的磁柱内。 

例题: 

我能不能仅分割出一个Primary与一个Extended即可? 

答: 

当然可以,这也是早期Windows操作系统惯用的手法!此外,逻辑分割槽的号码在IDE可达63号,SATA则可达15号,因此仅一个主要与一个延伸分割即可,因为延伸分割可继续被分割出逻辑分割槽嘛! 

例题: 

假如我的PC有两颗SATA硬盘,我想在第二颗硬盘分割出6个可用的分割槽(可以被格式化来存取数据之用),那每个分割槽在Linux系统下的装置文件名为何?且分割类型各为何?至少写出两种不同的分割方式。 

答: 

由于P(primary)+E(extended)最多只能有四个,其中E最多只能有一个。现在题目要求6个可用的分割槽,因此不可能分出四个P。底下我们假设两种环境,一种是将前四号全部用完,一种是仅花费一个P及一个E的情况: 

∙P+P+P+E的环境:

图2.3.4、分割示意图

实际可用的是/dev/sdb1, /dev/sdb2, /dev/sdb3, /dev/sdb5, /dev/sdb6, /dev/sdb7这六个,至于/dev/sdb4这个延伸分割本身仅是提供来给逻辑分割槽建立之用。 

∙P+E的环境:

图2.3.5、分割示意图

注意到了吗?因为1~4号是保留给主要/延伸分割槽的,因此第一个逻辑分割槽一定是由5号开始的!再次强调啊!所以/dev/sdb3, /dev/sdb4就会被保留下来没有用到了! 

开机流程与主要启动记录区(MBR)

我们在计算器概论里面谈到了,没有执行软件的硬件是没有用的,除了会电人之外..., 而为了计算机硬件系统的资源合理分配,因此有了操作系统这个系统软件的产生。由于操作系统会控制所有的硬件并且提供核心功能, 因此我们的计算机就能够认识硬盘内的文件系统,并且进一步的读取硬盘内的软件档案与执行该软件来达成各项软件的执行目的。

问题是,你有没有发现,既然操作系统也是软件,那么我的计算机又是如何认识这个操作系统软件并且执行他的? 明明开机时我的计算机还没有任何软件系统,那他要如何读取硬盘内的操作系统档案啊?嘿嘿!这就得要牵涉到计算机的开机程序了! 底下就让我们来谈一谈这个开机程序吧!

在计算器概论里面我们有谈到那个可爱的BIOS与CMOS两个东西, CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS则是一个写入到主板上的一个韧体(再次说明, 韧体就是写入到硬件上的一个软件程序)。这个BIOS就是在开机的时候,计算机系统会主动执行的第一个程序了!

接下来BIOS会去分析计算机里面有哪些储存设备,我们以硬盘为例,BIOS会依据使用者的设定去取得能够开机的硬盘, 并且到该硬盘里面去读取第一个扇区的MBR位置。 MBR这个仅有446 bytes的硬盘容量里面会放置最基本的开机管理程序, 此时BIOS就功成,而接下来就是MBR内的开机管理程序的工作了。

这个开机管理程序的目的是在加载(load)核心档案, 由于开机管理程序是操作系统在安装的时候所提供的,所以他会认识硬盘内的文件系统格式,因此就能够读取核心档案, 然后接下来就是核心档案的工作,开机管理程序也功成,之后就是大家所知道的操作系统的任务啦!

简单的说,整个开机流程到操作系统之前的动作应该是这样的:

1.BIOS:开机主动执行的韧体,会认识第一个可开机的装置; 

2.MBR:第一个可开机装置的第一个扇区内的主要启动记录区块,内含开机管理程序; 

3.开机管理程序(boot loader):一支可读取核心档案来执行的软件; 

4.核心档案:开始操作系统的功能... 

由上面的说明我们会知道,BIOS与MBR都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR上面的一套软件了。由于MBR仅有446 bytes而已,因此这个开机管理程序是非常小而美的。 这个boot loader的主要任务有底下这些项目:

∙提供选单:用户可以选择不同的开机项目,这也是多重引导的重要功能! 

∙载入核心档案:直接指向可开机的程序区段来开始操作系统; 

∙转交其他loader:将开机管理功能转交给其他loader负责。 

上面前两点还容易理解,但是第三点很有趣喔!那表示你的计算机系统里面可能具有两个以上的开机管理程序呢! 有可能吗?我们的硬盘不是只有一个MBR而已?是没错啦!但是开机管理程序除了可以安装在MBR之外, 还可以安装在每个分割槽的启动扇区(boot sector)喔!瞎密?分割槽还有各别的启动扇区喔? 没错啊!这个特色才能造就『多重引导』的功能啊!

我们举一个例子来说,假设你的个人计算机只有一个硬盘,里面切成四个分割槽,其中第一、二分割槽分别安装了Windows及Linux, 你要如何在开机的时候选择用Windows还是Linux开机呢?假设MBR内安装的是可同时认识Windows/Linux操作系统的开机管理程序, 那么整个流程可以图标如下:

图2.4.1、开机管理程序的工作执行示意图

在上图中我们可以发现,MBR的开机管理程序提供两个选单,选单一(M1)可以直接加载Windows的核心档案来开机; 选单二(M2)则是将开机管理工作交给第二个分割槽的启动扇区(boot sector)。当使用者在开机的时候选择选单二时, 那么整个开机管理工作就会交给第二分割槽的开机管理程序了。 当第二个开机管理程序启动后,该开机管理程序内(上图中)仅有一个开机选单,因此就能够使用Linux的核心档案来开机啰。 这就是多重引导的工作情况啦!我们将上图作个总结:

∙每个分割槽都拥有自己的启动扇区(boot sector) 

∙图中的系统槽为第一及第二分割槽, 

∙实际可开机的核心档案是放置到各分割槽内的! 

∙loader只会认识自己的系统槽内的可开机核心档案,以及其他loader而已; 

∙loader可直接指向或者是间接将管理权转交给另一个管理程序。 

那现在请你想一想,为什么人家常常说:『如果要安装多重引导, 最好先安装Windows再安装Linux』呢?这是因为:

∙Linux在安装的时候,你可以选择将开机管理程序安装在MBR或各别分割槽的启动扇区, 而且Linux的loader可以手动设定选单(就是上图的M1, M2...),所以你可以在Linux的boot loader里面加入Windows开机的选项;

∙Windows在安装的时候,他的安装程序会主动的覆盖掉MBR以及自己所在分割槽的启动扇区,你没有选择的机会, 而且他没有让我们自己选择选单的功能。 

因此,如果先安装Linux再安装Windows的话,那MBR的开机管理程序就只会有Windows的项目,而不会有Linux的项目 (因为原本在MBR内的Linux的开机管理程序就会被覆盖掉)。 那需要重新安装Linux一次吗?当然不需要,你只要用尽各种方法来处理MBR的内容即可。 例如利用全中文的spfdisk(http://spfdisk.sourceforge.net/)软件来安装认识Windows/Linux的管理程序, 也能够利用Linux的救援模式来挽救MBR即可。

Tips:

开机管理程序与Boot sector的观念是非常重要的,我们会在第二十章分别介绍,您在这里只要先对于(1)开机需要开机管理程序, 而(2)开机管理程序可以安装在MBR及Boot Sector两处这两个观念有基本的认识即可, 一开始就背太多东西会很混乱啦! 

Linux安装模式下, 磁盘分区的选择(极重要)

∙目录树结构(directory tree)

我们前面有谈过Linux内的所有数据都是以档案的形态来呈现的,所以啰,整个Linux系统最重要的地方就是在于目录树架构。 所谓的目录树架构(directory tree)就是以根目录为主,然后向下呈现分支状的目录结构的一种档案架构。 所以,整个目录树架构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线『/』, 所有的档案都与目录树有关。目录树的呈现方式如下图所示:

图2.5.1、目录树相关性示意图

如上图所示,所有的档案都是由根目录(/)衍生来的,而次目录之下还能够有其他的数据存在。上图中长方形为目录, 波浪形则为档案。那当我们想要取得mydata那个档案时,系统就得由根目录开始找,然后找到home接下来找到dmtsai, 最终的档名为:/home/dmtsai/mydata的意思。

我们现在知道整个Linux系统使用的是目录树架构,但是我们的档案数据其实是放置在磁盘分区槽当中的, 现在的问题是『如何结合目录树的架构与磁盘内的数据』呢? 这个时候就牵扯到『挂载(mount)』的问题啦!

∙文件系统与目录树的关系(挂载)

所谓的『挂载』就是利用一个目录当成进入点,将磁盘分区槽的数据放置在该目录下; 也就是说,进入该目录就可以读取该分割槽的意思。这个动作我们称为『挂载』,那个进入点的目录我们称为『挂载点』。 由于整个Linux系统最重要的是根目录,因此根目录一定需要挂载到某个分割槽的。 至于其他的目录则可依用户自己的需求来给予挂载到不同的分割槽。我们以下图来作为一个说明:

图2.5.2、目录树与分割槽之间的相关性

上图中假设我的硬盘分为两槽,partition 1是挂载到根目录,至于partition 2则是挂载到/home这个目录。 这也就是说,当我的数据放置在/home内的各次目录时,数据是放置到partition 2的,如果不是放在/home底下的目录, 那么数据就会被放置到partition 1了!

其实判断某个档案在那个partition底下是很简单的,透过反向追踪即可。以上图来说, 当我想要知道/home/vbird/test这个档案在那个partition时,由test --> vbird --> home --> /,看那个『进入点』先被查到那就是使用的进入点了。 所以test使用的是/home这个进入点而不是/喔!

例题: 

现在让我们来想一想,我的计算机系统如何读取光盘内的数据呢?在Windows里面使用的是『光驱』的代号方式处理(假设为E槽时),但在Linux底下我们依旧使用目录树喔!在默认的情况下,Linux是将光驱的数据放置到/media/cdrom里头去的。如果光盘片里面有个档案文件名为『我的档案』时,那么这个档案是在哪里? 

答: 

这个档案最终会在如下的完整档名中: 

∙Windows: 桌面\我的计算机\\E:\我的档案 

∙Linux: /media/cdrom/我的档案

如果光驱并非被挂载到/media/cdrom,而是挂载到/mnt这个目录时,刚刚读取的这个档案的档名会变成: 

∙/mnt/我的档案

如果你了解这个档名,这表示你已经知道挂载的意义了!初次接触Linux时,这里最容易搞混,因为他与Windows的分割槽代号完全不一样! 

∙distributions安装时,挂载点与磁盘分区的规划:

既然我们在Linux系统下使用的是目录树系统,所以安装的时候自然就得要规划磁盘分区与目录树的挂载了。 实际上,在Linux安装的时候已经提供了相当多的默认模式让你选择分割的方式了, 不过,无论如何,分割的结果可能都不是很能符合自己主机的样子!因为毕竟每个人的『想法』都不太一样! 因此,强烈建议使用『自定义安装, Custom 』这个安装模式!在某些Linux distribution中,会将这个模式写的很厉害,叫做是『Expert, 专家模式』,这个就厉害了, 请相信您自己,了解上面的说明后,就请自称为专家了吧!没有问题!

∙自定义安装『Custom』:

oA:初次接触Linux:只要分割『 / 』及『swap』即可:

通常初次安装Linux系统的朋友们,我们都会建议他直接以一个最大的分割槽『 / 』来安装系统。 这样作有个好处,就是不怕分割错误造成无法安装的困境!例如/usr是Linux的可执行程序及相关的文件摆放的目录, 所以他的容量需求蛮大的,万一你分割了一块分割槽给/usr,但是却给的不够大,那么就伤脑筋了! 因为会造成无法将数据完全写入的问题,就有可能会无法安装啦!因此如果你是初次安装的话, 那么可以仅分割成两个分割槽『 / 与 Swap 』即可。

oB:建议分割的方法:预留一个备用的剩余磁盘容量!

在想要学习Linux的朋友中,最麻烦的可能就是得要常常处理分割的问题,因为分割是系统管理员很重要的一个任务。 但如果你将整个硬盘的容量都用光了,那么你要如何练习分割呢?^_^。所以鸟哥在后续的练习中也会这样做, 就是请你特别预留一块不分割的磁盘容量,作为后续练习时可以用来分割之用!

此外,预留的分割槽也可以拿来做为备份之用。因为我们在实际操作Linux系统的过程中, 可能会发现某些script或者是重要的档案很值得备份时,就可以使用这个剩余的容量分割出新的分割槽, 并使用来备份重要的配置文件或者是script。这有个最大的好处, 就是当我的Linux重新安装的时候,我的一些软件或工具程序马上就可以直接在硬盘当中找到!呵呵!重新安装比较便利啦。 为什么要重新安装?因为没有安装过Linux十次以上,不要说你学会了Linux了啦!慢慢体会这句话吧! ^_^

∙选择Linux安装程序提供的默认硬盘分割方式:

对于首次接触Linux的朋友们,鸟哥通常不建议使用各个distribution所提供预设的Server安装方式, 因为会让你无法得知Linux在搞什么鬼,而且也不见得可以符合你的需求!而且要注意的是, 选择Server的时候,请『确定』你的硬盘数据是不再需要!因为Linux会自动的把你的硬盘里面旧有的数据全部杀掉! 此外,硬盘至少需要2 GB以上才可以选择这一个模式!

现在你知道Linux为什么不好学了吧?因为很多基础知识都得要先了解!否则连安装都不知道怎么安装~ 现在你知道Linux的可爱了吧!因为如果你学会了,嘿嘿!很多计算机系统/操作系统的概念都很清晰, 转换到不同的信息跑道是比较容易的喔!^_^

安装Linux前的规划

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

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

选择适当的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_的版本来安装,请依据您的硬件来选择。 如果你不知道你的硬件规格时,那么建议就直接安装i386的版本即可。因为i386的CentOS 5.x是可以安装在x86_的硬件中的。

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

∙国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/5/isos/ 

∙义守大学:http://ftp.isu.edu.tw/pub/Linux/CentOS/5.3/isos/ 

∙CentOS官方网站:http://mirror.centos.org/centos/5/isos/ 

你要知道的是,因为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主机上面。

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

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

∙我的环境里面仅能允许我拥有一部主机,不论是经济问题还是空间问题~ 

∙因为目前各主要硬件还是针对Windows进行驱动程序的开发,我想要同时保有Windows操作系统与Linux操作系统, 以确定在Linux底下的硬件应该使用那个I/O port或者是IRQ的分配等等; 

∙我的工作需要同时使用到Windows与Linux操作系统。 

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

Tips:

一般来说,你还可以在Windows操作系统上面安装Virtualbox (http://www.virtualbox.org/) 之类的软件,让你可以在Windows系统上面『同时』使用Linux系统, 就是两个操作系统同时启动!不过,那样的环境比较复杂,尤其Virtualbox环境中很多硬件都是仿真的, 会让新手很难理解系统控制原理。基本上,鸟哥很不建议您使用这样的方式来学习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的相关主机操作技巧,其他的架站,未来再谈吧! 而上面列出的各项服务,仅是提供给你,如果想要架设某种网络服务的主机时,你应该如何规划主机比较好!

主机硬盘的主要规划

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

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

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

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

∙最简单的分割方法:

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

∙稍微麻烦一点的方式:

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

o/ 

o/usr 

o/home 

o/var 

oSwap 

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

鸟哥说:关于练习机的安装建议

∙关于硬件方面

老实说,安装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服务器,IP分享与档案分享中心:

∙提供服务:

提供家里的多部计算机的网络联机分享,所以需要NAT功能。提供家庭成员的数据存放容量,由于家里使用Windows系统的成员不少, 所以建置SAMBA服务器,提供网芳的网络驱动器功能。

∙主机硬件配备:

oCPU使用P-III 800 MHz; 

o内存大小为512 MB的RAM; 

o两张网络卡,控制芯片为常见的螃蟹卡(Realtek); 

o共有两颗磁盘,一颗系统碟一颗数据碟。资料碟高达160 GB; 

o显示适配器为以前很流行的GeForce 2 MX含32 MB的内存; 

o安装完毕后将屏幕,键盘,鼠标,DVD-ROM等配备均移除,仅剩下网络线与电源线。 

∙硬盘分割:

o分成/boot, /, /usr, /var, /tmp等目录均; 

o/home出来,放置到那颗160GB的磁盘,提供给家庭成员存放个人资料; 

o1 GB的Swap; 

∙案例二:提供Linux的PC丛集(Cluster)计算机群:

∙提供服务:

提供研究室成员对于模式仿真的软、硬件平台,主要提供的服务并非因特网服务, 而是研究室内部的研究工作分析。

∙主机硬件配备:

o利用两部双CPU(均为双核)的x86_系统(泰安主板提供的特殊功能); 

o使用Geforce 7300显示适配器,内含MB的内存; 

o使用一颗硬盘作为主系统,六颗磁盘组成磁盘阵列,以储存模式仿真的结果; 

o使用PCI-Express接口的网络卡,速度为Gbps; 

o共有4 GB的主存储器容量; 

∙硬盘分割:

o全部的磁盘阵列容量均给/cluster/raid目录,占有2TB的容量; 

o2 GB的swap容量; 

o分割出/, /usr, /var, /tmp等目录,避免程序错误造成系统的困扰; 

o/home也出来,让每个研究室成员可以拥有自己的数据存放容量; 

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

大硬盘配合旧主机造成的无法开机问题

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

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

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

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

∙/boot 

∙/ 

∙swap

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

重点回顾

∙新添购计算机硬件配备时,需要考虑的角度有『游戏机/工作机的考虑』、『效能/价格笔的考虑』、『支持度的考虑』等; 

∙旧的硬件配备可能由于保存的问题或者是电子零件老化的问题, 导致计算机系统非常容易在运作过程中出现不明的当机情况 

∙Red Hat的硬件支持:https://hardware.redhat.com/?pagename=hcl 

∙在Linux系统中,每个装置都被当成一个档案来对待,每个装置都会有装置文件名。 

∙磁盘的装置文件名主要分为 (1)IDE接口的/dev/hd[a-d]及 (2)SATA/SCSI/USB界面的/dev/sd[a-p]两种; 

∙磁盘的第一个扇区主要记录了两个重要的信息,分别是: (1)主要启动记录区(Master Boot Record, MBR):可以安装开机管理程序的地方,有446 bytes (1)分割表(partition table):记录整颗硬盘分割的状态,有 bytes; 

∙磁盘的主要与延伸分割最多可以有四个,逻辑分割的装置文件名号码,一定由5号开始; 

∙开机的流程由:BIOS-->MBR-->-->boot loader-->核心档案; 

∙boot loader的功能主要有:提供选单、加载核心、转交控制权给其他loader 

∙boot loader可以安装的地点有两个,分别是 MBR 与 boot sector 

∙Linux操作系统的档案使用目录树系统,与磁盘的对应需要有『挂载』的动作才行; 

∙新手的简单分割,建议只要有/及swap两个分割槽即可 

本章习题

(要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看)

实作题部分: 

∙请分析你的家庭计算机,以你的硬件配备来计算可能产生的耗电量,最终再以计算出来的总瓦数乘上你可能开机的时间, 以推估出一年你可能会花费多少钱在你的这部主机上面? 

硬件里面包括 CPU/硬盘/主板/内存/显示适配器/屏幕等等都会消耗电力,同时电源供应器也会消耗一部份的电力。 若有实际测量工具时,请使用测量结果来计算。若无测量工具,请上网找出每个组件的最大理论消耗功率来计算。 

问答题部分: 

∙一部计算机主机是否只要 CPU 够快,整体速度就会提高? 

不见得!一部计算机系统的速度与整体计算机系统的运作有关,每个组件皆会影响计算机的速度! 这包括了内存、CPU、AGP与显示适配器速度,硬盘的速度以及其他相关的输入输出接口等等! 所以,如果您的系统是升级的,那么还得必须要注意各个旧组件是否可以保留, 或者旧的可以用的组件必须要舍弃! 

∙Linux 对于硬件的要求需要的考虑为何?是否一定要很高的配备才能安装 Linux ? 

Linux 对于硬件的要求是因『服务种类、服务范围及主机的角色』而定的。例如一部专门用来运算数值解析的 Linux 运算工作站,需要比较强大的 CPU 与足够的 RAM 来进行工作,至于一般家庭用的仅用来做为 ADSL 宽带分享器的 Linux 主机,则只要 P-III 等级的计算机,甚至 P-II 系列的等级,就可以很顺利的运行 Linux 了。 

∙一部好的主机在安装之前,最好先进行规划,哪些是必定需要注意的 Linux 主机规划事项? 

依据上一题的答案内容,我们知道 Linux 对于硬件的要求是『因地制宜』地!所以,要进行 Linux 的安装之前,一定需要规划 Linux 主机的定位与角色!因此, Linux 的主机是否开放网络服务?这部主机的未来规划中,是否需要进行大量的运算?这 部主机是否需要提供很大的硬盘容量来服务客户端的使用?这部主机预计开放的网络服务内容? 等等,都是需要经过考虑的,尤其未来的『套件选择安装』上面,更需要依据这些规划来设定。 

∙请写下下列配备中,在 Linux 的装置文件名: 

IDE 硬盘: 

CDROM: 

打印机: 

软盘驱动器: 

网络卡: 

oIDE 硬盘:/dev/hd[a-d] 

oCDROM:/dev/cdrom 

o打印机:/dev/lp[0-2] 

o软盘驱动器:/dev/fd[0-1] 

o网络卡:/dev/eth[0-n]

∙如果您的系统常常当机,又找不到方法解决,您可以朝硬件的那个方向去搜寻? 

如果软件没有问题的话,那么当然发生当机的,可能就是硬件的问题了。 1.可以先检测系统有没有超频? 2.再来则是查阅当系统运作时,系统的机壳内温度会不会过高? 因为过高的温度常常会造成当机。 3.再者,检查一下 CPU 的温度,这也很重要。 4.再来,则是检查是否插了多条的内存,因为不同厂牌的内存混插很容易造成系统不稳定。 5.电源供应器是否合乎标准?这些都可以进行检测喔! 

∙目前在个人计算机上面常见的硬盘与主板的连接接口有哪两个? 

有早期的 IDE 接口与最近的 SATA 接口,购买时要分的很清楚! 

参考数据与延伸阅读

∙SPFdisk http://spfdisk.sourceforge.net/ 

2002/04/08:第一次完成吧?

2003/02/02:重新编排与加入 FAQ 

2005/06/04:将旧的文章移动到 这里

2005/06/12:风格修订之外,新增了 Linux 练习机硬件选择与软件安装的建议

2005/06/15:感谢上奇编辑 Tim 兄来信告知一些可能有争议的部分!包括 AthlonXP 已被 Sempron 取代,已经修订!

2008/07/29:将旧的FC4文章移动到此处。

2008/08/21:将整份文件作个重新整理,移除计概有谈到的硬件部分,增加partition的数据量。

2009/08/06:重新修订习题与解答,尤其一些计概方面的问题将他挪开!

2002/02/03以来统计人数

 
   

本网页主要以 firefox 配合分辨率 1024x768 作为设计依据

http://linux.vbird.org is designed by VBird during 2001-2009. Aerosol Lab. 下载本文

显示全文
专题