曝光:Linux企业运维实战
上QQ阅读APP看书,第一时间看更新

7.1 计算机硬盘简介

硬盘是计算机主要存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成,碟片外覆盖有铁磁性材料,硬盘内部由磁道、柱面、扇区、磁头等部件组成,如图7-1所示。

图7-1 硬盘内部结构组成

Linux系统中硬件设备相关配置文件存放在/dev/下,常见硬盘命名为/dev/hda、/dev/sda、/dev/sdb、/dev/sdc、/dev/vda。不同硬盘接口,在系统中识别的设备名称不一样。

IDE硬盘接口在Linux中设备名为/dev/hda,SAS、SCSI、SATA硬盘接口在Linux中设备名为sda,高效云盘硬盘接口会识别为/dev/vda等。

文件储存在硬盘上,硬盘的最小存储单位叫作sector(扇区),每个sector储存512字节。操作系统在读取硬盘的时候,不会逐个sector地去读取,这样效率非常低,为了提升读取效率,操作系统会一次性连续读取多个sector,即一次性读取多个sector称为一个block(块)。

由多个sector组成的block是文件存取的最小单位。block的大小常见的有1KB、2KB、4KB,block在Linux中常设置为4KB,即连续8个sector组成一个block。

/boot分区的block一般为1KB,而/data/分区或者/分区的block为4KB。可以通过以下3种方法查看Linux分区的block大小:

例如创建一个普通文件,文件大小为10B,而默认设置block为4KB,如果有1万个小文件,由于每个block只能存放一个文件,如果文件的大小比block大,会申请更多的block,相反如果文件的大小比默认block小,仍会占用一个block,这样剩余的空间会被浪费掉。说明如下。

□1万个文件理论只占用空间大小:10000 ∗ 10=100000B=97.65625MB。

□1万个文件真实占用空间大小:10000 ∗ 4096B=40960000B=40000MB=40GB。

□根据企业实际需求,此时可以将block设置为1KB,从而节省更多的空间。