Linux学习笔记 -- 03 主机规划与磁盘分区

1.各个硬件设备在Linux中的文件名
注意:各个组件或设备在Linux下面都是一个文件。这个观念是不同Windows操作系统的

常见的设备在Linux中的文件名如下:

Linux学习笔记 -- 03 主机规划与磁盘分区_第1张图片
注意:在Linux系统中,几乎所有的硬件设备文件都在 /dev 这个目录下
      /dev/hd[a-d]中的[a-d]表述可以取a,b,c,d 即/dev/hda、/dev/hdb、/dev/hdc、/dev/hdd
      在磁带机中,不同的distribution当中文件名可能不同。
      SCSI硬盘:SCSI硬盘是采用SCSI接口的硬盘,SCSI是Small Computer System Interface(小型计算机系统接口)的缩写,使用50针接口,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。
2.磁盘分区
(1)磁盘连接方式与设备文件名的关系
常见的磁盘接口:IDE(旧), SATA(新)

>>IDE设备
我们将可连接到IDE接口的设备称为IDE设备,不管是磁盘还是光盘设备。
一个主机通常提供两个IDE接口(IDE1, IDE2),而每个IDE扁平电缆可以连接两个IDE设备(Master, Slave),因此一个主机最多可以连接4个IDE设备
  
主机
  ┃
   IDE1(Primary)
        ┃
         Master:/dev/hda
         Slave:/dev/hdb
   IDE2(Secondary)
        ┃
         Master:/dev/hdc
         Slave:/dev/hdd

>>SATA接口
SATA/SCSI/USB等磁盘接口都是使用SCSI模块来驱动的,因此这些接口的磁盘设备文件名称都是/dev/sd[a-p]
与IDE接口不同,该接口的磁盘没有固定顺序,是以Linux内核检测到的磁盘的顺序来命名的。

例如:PC上连接了两个SATA磁盘,以及一个USB磁盘,主板上有6个SATA插槽,这两个SATA安插在SATA1,SATA5
的插槽上,那么这单个磁盘的名称如何?
    SATA1插槽的上的文件名:/dev/sda
    SATA5插槽的上的文件名:/dev/sdb
    USB磁盘(开机完成后才能被系统识别)文件名:/dev/sdc


(2)磁盘组成

    磁盘的物理组成:
        盘片
        机械手臂
        磁头(head)
        主轴马达
        
        
    磁盘的第一个扇区最重要,里面记录了两个信息:
       ┃
        主引导分区(Master Boot Record, MBR):可以安装引导加载程序的地方,有446bytes。系统在开机时要读取该区块的内容,这样系统才会知道你的程序放在哪里且如何开机
        分区表(partirion table):记录整个磁盘分区的状态,有64bytes。只有将磁盘分区了,才能更有效的利用它
                
                
    注意:如果一个硬盘的第一个扇区物理损坏了,这个硬盘基本也就报废了。因为系统会找不到分区
        表,从而就知道如何读取柱面区间了。
    
(3)磁盘分区表
Linux学习笔记 -- 03 主机规划与磁盘分区_第2张图片
        64bytes分区表,假如该硬盘设备的文件名为 /dev/hda
            P1: 1~100     文件名:/dev/hda1
            P2: 101~200   文件名:/dev/hda2
            P3:201~300   文件名:/dev/hda3
            P4:301~400   文件名:/dev/hda4
    
    分区表只有64bytes而已,最多只能容纳4个分区,  

    注意:
        1.所谓的分区只是针对64bytes的分区表进行设置而已
        2.磁盘默认的分区表仅能写入四组分区信息?
            这是因为早期的硬盘一个分区大小划分为16bytes,而分区表只有64bytes大小
        3.分区的最小单位是柱面(Cylinder)
        4.这四组分区信息我们称为主或扩展分区( 分法如4P、3P+1E )  
                
    为啥要分区?
        1.数据的安全性:操作这个分区的数据并不会影响另一个分区的数据
        2.系统的性能考虑:由于分区了,所以,每次在某一个分区查找数据时,只需在固定
            柱面区查找,这样就缩小范围,可以达到数据读取的速度与性能。


    逻辑分区
    
        尽管整个磁盘只能分区为4块,但是其扩展分区可以使用额外的扇区来记录分区的信息,
    从而使扩展分区被分割为若干个分区,称为逻辑分区
        是在扩展分区的区块内使用额外的扇区来记录分区的信息,扩展分区本身并不能被
    拿来格式化?(直接使用的意思吗?因为格式后才能被访问、使用)
Linux学习笔记 -- 03 主机规划与磁盘分区_第3张图片
该逻辑分区在Linux系统中的设备的文件名:
P1, /dev/hda1
P2, /dev/hda2
P3和P4记录为空,其文件名保留。
L1, /dev/hda5,  注意:逻辑分区是从 5 开始了,因为前面的四个号码都是给主、扩展分区保留的
L2, /dev/hda6
L3, /dev/hda7
L4, /dev/hda8
L5, /dev/hda9
L6, /dev/hda10
L7, /dev/hda11
    
注意:
    1)逻辑分区的设备名称号码是从5号开始的,
    2)主分区和扩展分区最多可以只有4个(硬盘的限制, 上面的划分只有2个,主、扩展分区各一个)
    3)扩展分区最多只能有1个(操作系统的限制,如3P和1E、4P)
    4)逻辑分区是有扩展分区持续切割出来的分区
    5)能被格式化后作为数据访问的分区为主分区与逻辑分区。扩展分区无法格式化
    6)逻辑分区的数量与操作系统有关,在Linux中,IDE硬盘最多分为59个逻辑分区(5-63号)SATA硬盘则只能有11个逻辑分区(5-15号)
                  
                  
(4)开机流程与主引导分区(MBR)  
  计算机是一堆硬件组成,需要操作系统(本质仍是软件)来合理的分配这些硬件资源。那么问题是,在计算计刚开机的
那一刻是如何认识这个操作系统并执行它的?
  这就要涉及到计算计的开机程序了。            
  BIOS(写入到主板上的一个韧体,即写入到硬件上的一个软件)
  CMOS(是记录各项硬件参数且嵌入在主板上面的存储器)     
                  
开机到操作系统之前的动作过程:
1.BIOS:开机主动执行的韧体,会引导到第一个可开机的设备(如硬盘、光盘、U盘等)的第一个扇区的MBR位置
2.MBR:第一个可开机设备的第一个扇区内的主引导分区块、内包含引导加载程序
3.引导加载程序(Boot loader):一支可读取内核文件来执行的软件。
  具体需要执行的任务:
  (1)提供菜单:用户可以选择不同的开机选项(如多个系统),这是多重引导的重要功能
  (2)载入内核文件:直接指向可开机的程序段来开始操作系统
  (3)转交其他loader:将引导加载功能转交给其他loader负责。(例如装了双系统)
4.内核文件:开始操作系统的功能                  
  
   注意:
      1)BIOS和MBR是硬件本身要支持的功能
      2)Boot loader 是操作系统安装在MBR上的一套软件,由于MBR仅有446bytes,因此这个引导加载程序是非常小和完美的
      3)每个分区都有自己的启动扇区(boot sector)
      4)实际可开机的内核文件(不同的操作系统)是放置到各个分区内的
      5)引导加载程序只会认识自己系统分区的可开机内核文件和其他的loader而已,因此,loader可直接指向或间接将管理权转交给另一个管理程序
                              
(5)Linux安装模式下,磁盘分区的选择                             
  >>目录结构(directory tree)
    Linux内的所有数据都是已文件的形态来呈现的,所以,目录结构对于Linux是很重的。整个目录体系的根目录是:/(所有的文件都是由根目录衍生来的,如/home/dmtsai/mydata)
        
  >>文件系统与目录树的关系(挂载)       
    根据目录树去磁盘内取真正的数据,这个时候就牵扯到挂载的问题
            
    "挂载":就是利用一个目录当成进入点(称为挂载点),将磁盘分区的数据放在该目录下。换言之,进入该目录就可以读取该分区的数据
            
    从挂载的含义来看,根目录则是一定要挂载到某一个分区的。至于其他的目录则可以依用户自己的需求来选择挂载到不同的分区
                        
    例如:计算计读取光盘的数据,在Linux系统下,一般是将光驱的数据放置在/media/cdrom里的,那么此时光盘里的文件:/media/cdrom/具体文件
    如果将光驱挂载到/mnt目录时,则光盘的文件变为:/mnt/具体文件
3.安装Linux前的规划
(1)选择适当的distribution              
              
    选择CentOS这个distribution版本开始
    
    官网:http://mirror.centos.org/centos/5/isos/
    
    .iso为扩展名的文件就是所谓的image文件(镜像文件)         

(2)主机硬盘的分区  
最简单的分区:仅分出根目录(/)和内存交换空间(swap)
坏轨的出现,容易造成根目录损毁
稍微复杂的分法:分析主机的用途,将使用(如读取)频繁的目录单独分离出来,不要与根目录放置在同一个分区(这样做的原因:因为使用频繁的目录,容易造成其所在的分区物理损坏,如果根目录也放在这里那将使根目录下的其他数据也一起完蛋)       
        
例如下面的目录分法:
/
/usr
/home
/var
Swap

注意:新手经常会发现找不到某些命令,这是因为在你的系统里没有安装相应的软件。

你可能感兴趣的:(Linux学习笔记 -- 03 主机规划与磁盘分区)