linux下的磁盘管理

 

最近工作涉及到linux下面的磁盘管理相关的东西。在了解相关知识的时候,发现网上有很多资料里面使用的概念的确相当乱,比如:磁盘分区,物理分区,逻辑分区,等等,让初学者不知云里雾里,着实可恶。 就是一个PE,在不同的文档里面说法就千差万别,有的称为物理分区,有的称为物理区段,有的称为物理扩展区,这些又与磁盘管理中的逻辑分区,扩展分区混为一谈,实在是够乱的,在这里,主要的目的是要澄清这些概念,同样一个东西,到了中国,说法就各异,这样很容易导致混乱的。

    不管是windos还是linux,都会涉及到磁盘管理的。 只不过在linxu下面有如了一个lvm的东西,所以其磁盘管理要相对复杂一些,涉及到的东西也要多一些,但是带来的好处就是提供了更好的管理灵活性。

  

    windows下面的磁盘管理相对比较好说明, 一块磁盘拿过来,里面自带一个硬盘驱动器,这样将其插入电脑中时电脑的操作系统才能识别该磁盘。这时候这块磁盘是一个全新的磁盘,首先需要分区。一块磁盘的MBR分区表中最多只能包括4个分区的记录(主分区或者扩展分区的记录),如果需要更多的分区,则需要建立一个扩展分区,然后在该扩展分区上建立逻辑分区,一个扩展分区可以包括最多23个逻辑分区。每个逻辑分区上有一个逻辑磁盘驱动器。在操作系统中,是看不到扩展分区的,因为扩展分区是不能直接使用的,是没有盘符的,只有在扩展分区里面再划分逻辑分区后才会有盘符,才可以使用。 说道盘符,有必要再多说一点, 其实盘符就像linux下面的挂载点的概念一样,不同的分区(主分区和逻辑分区)会挂载到不同的盘符下。

    虽然Windows硬盘分区分为“主分区”、“扩展分区”和“逻辑分区”三种类型,但是能够完成操作系统引导过程的只有主分区,一般需要安装多个操作系统的时候,会建立多个主分区,一块硬盘最多设置四个主分区,或者一至三个主分区加一个扩展分区。

      分区以后,会在磁盘的主分区中的最前面产生一个主分区表MBR,MBR 共计 512字节,其中的前 446个 字节存放程序内容,其余空间中包含一个 55AA 标志和一个 4*16 字节的主分区表数据。在主分区表数据中每16个字节表示一个主分区或者扩展分区。

     每个扩展分区中的逻辑分区的分区表数据会保存在该逻辑分区所在的扩展分区的扩展分区表(EBR)中,操作系统启动的时候,BIOS首先会直接执行MBR的程序段,该程序段会扫描后面的主分区表信息,找到标记为激活的找的主分区,然后就读取这个主分区的 superblock 的 boot 区,并且运行 boot 区程序来启动操作系统。在操作系统启动的过程中,操作系统会读取主分区表,找到其中扩展分区表的信息从而确定其入口位置,这个位置其实就是扩展分区的EBR信息,其中保存了逻辑分区表信息,他是一个链式数据,除了含有本扩展分区中的逻辑分区的信息以外,还包含一个指针指向下一个扩展分区的开始位置.硬盘的容量=主分区的容量+扩展分区的容量 ;扩展分区的容量=各个逻辑分区的容量之和 .windos分区就是从该磁盘中划分一定的空间,同时为其写入一个逻辑的磁盘驱动器,让这个存储空间作为一个相对独立的部分使用。未被分区的磁盘空间是不被操作系统识别的。 分区以后,虽然操作系统能够识别该块空间的大小,但是其还只是一块单纯的空间,不能向里面写入数据,要写入数据,必须使用某种文件系统格式将其格式化。

 

 

 

Linux下的分区和lvm:

   上面讲了windows下面的磁盘管理,下面进入linux的磁盘管理的讲述。linux的磁盘管理比windows要稍微复杂一些,主要是在linux中引入了lvm的概念。

和Windows一样,  在linxu系统中,MBR存放在第一个主分区的最前面,,一个磁盘中主分区和扩展分区之和不得超过4. Linux 下面每一个硬盘总共最多有 16 个分区。前4个编号用于主分区和扩展分区,5-16编号用于逻辑分区。    linux 自身带了一个树状结构,你也可以通过mkdir来扩展该树状结构,所有的主分区和逻辑分区都是挂载在某个路径下的,例如:/; /root;这里/并非包含/root,这2个路径只是一个标识符,就好象windows下面的C:/这样的标识符一样,你在命令行:  C:就进入了C分区;同样,在linux下,你cd /root就进入了/root这个路径对应的分区,cd /则进入了/所对应的另一个分区了。 虽然表面上看好像/包含/root,但是实际上不是那样的,/和/root只是2个不同的路径,你进入到不同的路径就进入了该路径下的分区中的文件系统,/和/root只是这些分区的挂载点。linux 中无论有几个分区,分给哪一目录使用,它归根结底就只有一个目录结构,一个独立且唯一的目录结构系统。red hat linux中每个分区都是用来组成整个目录结构的一部分.    对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了

       一个新的磁盘,在linux系统下分区时,可以有1-4个主分区或扩展分区(以编号1-4表示),这些分区的空间加起来如果小于该硬盘的大小,那么剩下的未分区的空间将会丢失不被操作系统识别了。 linux系统下最多可以有3个扩展分区,在扩展分区可以创建逻辑分区,   逻辑分区SCSI硬盘 最多 16 个,IDE硬盘 最多 63 个。

    分区表示法:目前硬盘接口主要有IDE和SCSI两种,IDE接口速度虽然不如SCSI接口,但价格低廉,主要用于抵挡服务器和工作站;SCSI接口具有应用范围广多任务带宽大CPU占用率低,以及支持热插拔等优点,其价格较高,主要应用于中,高端服务器和高档工作站中。主板上有2个ide接口ide1和ide2,每个接口可以接2个ide硬盘,一个主盘一个从盘,分别命名为:ide1接口的主盘:/dev/hda,ide1接口的从盘:/dev/hdb,ide2接口的主盘:/dev/hdc,ide2接口的从盘:/dev/hdd;

 SCSI接口可以接16个SCSI硬盘,分别命名为:/dev/sda,:/dev/hdb.......

 

            磁盘分区划分好了以后,就可以挂载到目录系统的某个目录下面来使用了。使用的方式各种各样,例如:在分区上建立文件系统,如何写入数据;或者将分区转换成物理卷,然后再将多个物理卷合成一个卷组,再从卷组中动态划分逻辑卷,最好可以把逻辑卷当成一个分区来使用。

 

 

 

 

 

 

 

  

 

 

如果硬盘是ide硬盘,其分区使用hd表示,hda表示第一个ide硬盘,hdb表示第2个ide硬盘,hda1-4表示第一个ide硬盘的主分区或者逻辑分区,hda5开始表示第一个ide硬盘的逻辑分区。 如果是SCSI硬盘,则将hd改为sd,其余是一样的。

  

      

    

你可能感兴趣的:(linux下的磁盘管理)