一、 磁盘管理的基本概念
linux系统中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,在Linux下的/dev目录中有大量的设备文件,根据设备文件的不同,又分为字符设备文件和块设备文件。
字符设备文件的存取是以字符流的方式来进行的,一次传送一个字符。常见的有打印机,终端(TTY)、绘图仪和磁带设备等等,字符设备文件有时也被称为“raw” 设备文件。
块设备文件是以数据块的方式来存取的,最常见的设备就是磁盘。系统通过块设备文件存取数据的时候,先从内存中的buffer中读或写数据。而不是直接传送数据到物理磁盘。这种方式有效的提高了磁盘的I/O性能。
关于硬盘设备文件的概念,我们在第二章已经进行了初步的介绍,这里进行更深入的讲述。
1.1 磁盘设备在linux下的表示方法
现在常见的磁盘类型有IDE并口硬盘、STAT串口硬盘以及SCSI硬盘,不同类型的硬盘在linux下对应的设备文件名称不尽相同,linux下磁盘设备常用的表示方案有两种:
方案一:
主设备号+次设备号+磁盘分区编号
对于IDE硬盘:hd[a-z]x
对于SCSI硬盘:sd[a-z]x
方案二:
(主设备号+[0-n],y)
对于IDE硬盘:(hd[0-n],y)
对于SCSI硬盘:(sd[0-n],y)
主设备号代表设备的类型,可以唯一地确定设备的驱动程序和界面,主设备号相同的设备是同类型设备,即,使用同一个驱动程序,比如hd表示IDE硬盘,sd表示SCSI硬盘,tty表示终端设备等。
次设备号代表同类设备中的序号,“a-z”就表示设备的序号。如/dev/hda表示第一块IDE硬盘,/dev/hdb表示第二块IDE硬盘。同理,/dev/sda以及/dev/sdb分别表示第一、第二块SCSI硬盘。在有些情况下,系统只有一块硬盘,但是设备文件却显示为hdb,这与硬盘的跳线有关,只用知道设备表示的意思就行了。
磁盘分区编号,用“x”表示在每块磁盘上划分的磁盘分区编号。在每块硬盘上可能会划分一定的分区,分区的意思类似与windows中C盘、D盘的概念,针对每个分区,linux用/dev/hdax或者/dev/sdbx表示,这里的“x”代表第一块IDE硬盘的第“x”个分区和第二块SCSI硬盘的第“x”个分区。
除了用“a-z”表示同类硬盘的序号,也可以用“0-n”表示硬盘的序号,第二种方案中的“y”是一个数字,从“1”开始,表示磁盘分区编号。比如,(hd0,8)与hda7是等同的,表示第一块IDE硬盘的第七个分区,而(sd4,3)等同与sde2,表示第5块SCSI硬盘的第二个分区。