1、Linux 与硬件搭配
在安装Linux之前,你最好了解你的Linux预计是想达成什么任务,这样在选购硬件的时候才会知道哪个组件是最重要的。
各组件或设备在Linux下都是一个文件,这个观念不同于Windows操作系统。
游戏机、工作机、桌面型(Desktop)、小/中/大型Linux服务器:CPU、内存、显卡、网卡、磁盘、电源、主板等的考虑;
性价比的机器考虑:并不是贵就好,省电也是一个因素;
支持性的考虑:购买操作系统支持的硬件
1.2、各硬件设备在Linux中的文件名
在Linux系统中,每个设备都被当成一个文件来对待。几乎所有的硬件设备文件都在 /dev 这个目录内。
各设备在Linux中文件名
需要注意的是硬盘(IDE、SCSI、USB都一样),每个磁盘驱动器的磁盘分区不同时,其磁盘文件名还会改变。
2、IDE,ATA,STAT,SCSI,SAC,SSD,FC
IDE(Integrated Drive Electronics集成驱动器电子)的缩写,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,是一种硬盘的传输接口,它有另一个名称叫做ATA(Advanced Technology Attachment),这两个名词都有厂商在用,指的是相同的东西。
使用SATA(Serial ATA)口的硬盘又叫串口硬盘。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范。
ATA的速度是每秒1.5Gbps(150MB/sec),SATA2(Serial ATA 2.0规范)的速度是每秒3Gbps(300MB/sec)。SATA3的速度是每秒6Gbps(600MB/sec)。SATAⅡ接口主板能插SATA硬盘,SATA接口主板不能插SATAⅡ盘硬,这都是向下兼容的。
SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。
SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术。和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性。
固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。
光纤通道的英文拼写是Fiber Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
3、磁盘分区
3.1、磁盘的连接方式与设备文件名的关系
一个IDE接口可以连接到两个IDE设备,IDE接口通常分为 ”primary“ 及 ”secondary“,而每个接口上的两个设备又被区分为 ”主Master“ 与 ”从Slave“ 设备。
由于 SATA/USB/SCSI 等磁盘接口都是使用 SCSI 模块来驱动的,因此这些接口的磁盘设备文件名都是 /dev/sd [ a-p ]的格式。但是与IDE接口不同的是,SATA/USB 接口的磁盘根本就没有一定的顺序,都是根据Linux内核检测到磁盘的顺序来定的。
3.2、磁盘的组成
磁盘盘片上面可以细分出 扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512Byte那么大。
假设磁盘只有一个盘片,那么盘片如下图所示:
整块磁盘的第一个扇区特别重要,磁盘的第一个扇区主要记录了两个重要的信息:
主引导分区(Master Boot Record):可以安装引导加载程序的地方,有 446Byte;
分区表(partition table):记录整块磁盘分区的状态,有64Byte
MBR很重要,因为当系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里并且如何进行开机。如果你要安装多重引导的系统,MBR这个区块的管理就非常重要了。
3.3、磁盘分区表
由于分区表就只有64Byte而已,最多只能容纳四个分区,这四个分区被称为主(Primary)或扩展(Extended)分区。
其实所谓的分区只是针对那个64Byte的分区表进行设置而已;
硬盘默认的分区表仅能写入四组分区信息;
这四组分区信息我们称为 主(Primary)或扩展(Extended)分区;
分区的最小单位为柱面(cylinder);
当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理;
请注意,扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身并不能被拿来格式化。然后我们可以通过扩展分区所指向的那个区块继续做分区的记录。
逻辑分区(logic partition)便是从扩展分区中分出来的,所以逻辑分区的设备名称号码就从5号开始了。这是很重要的特性,不要忘记了。
主分区与扩展分区最多可以有四个(硬盘的限制),1<=P<=3;
扩展分区最多只能有一个(操作系统限制),E<=1;
逻辑分区是有扩展分区切割出来的分区;
能够被格式化作为数据访问的分区为主分区和逻辑分区,扩展分区无法格式化;
逻辑分区数量依赖操作系统而不同;
如果扩展分区被破坏,则逻辑分区将会被删除;
由于第一个扇区所记录的分区表与MBR是如此重要,几乎只要读取硬盘都会先由这个扇区先读起。因此,如果整块硬盘的第一个扇区坏掉了,那这个硬盘大概就没有用了。
3.4、开机流程与主引导分区(MBR)
CMOS是记录各项硬件参数目嵌入在主板上面的存储器,BIOS则是一个写入到主板上的一个韧体(韧体就是写入到硬件上的一个软件程序)
简单来说,整个开及流程到操作系统之前的动作应该是这样的:
BIOS ---> MBR ---> boot loader ---> 内核文件
1、BIOS:开机主动执行的韧体,会认识第一个可开机的设备;
2、MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序;
3、引导加载程序(boot loader):一直可读取内核文件夹来执行的软件;
4、内核文件:开始操作系统的功能;
由以上的说明我们会知道,BIOS与MBR都是硬件本身会支持的功能,至于Boot loader则是操作系统安装在MBR上面的一套软件了。
引导加载程序除了可以安装在MBR之外,还可以安装在每个分区的引导扇区(boot sector)。这个特色才能早就 ”多重引导“ 的功能。
Boot loader的主要任务:
提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能;
载入内核文件:直接指向可开机的程序区段来开始操作系统;
转交其他loader:将引导加载功能转交给其他loader负责;
如果要安装多重引导,最好先安装Windows在安装Linux。
4、安装Linux前的规划
4.1、选择适当的Distribution
是32位还是64位,是RedHat还是Debian系列等
4.2、Linux主机的服务规划
打造Linux和Windows共存的环境;
NAT功能;
SAMBA;
Mail;
Web服务;
FTP;
Proxy代理服务器......
4.3、主机硬盘的主要规划
出于对数据的分类和安全性的考虑,系统对于硬盘的需求就很有关系了。
最简单的懒人式分区方法:
仅分出根目录(/)和内存交换分区(swap)即可
自定义的分区方式:
/
/usr
/home
/var
/boot
/tmp
/Swap
等根据自己实际需要来进行分区