天天看点

Linux磁盘管理

I/O Ports

I/O设备地址是一系列的很小的存储设备,即缓冲器,主要用来和cpu通信,然后cpu触发内核完成数据的接收或发送,所以IO设备一般会用到两个端口即两个缓冲器。

在Linux系统中一切皆文件,所以程序员需要了解的IO调用就非常简洁了,其基本流程为:open()àread()àwrite()àclose();

Linux设备文件类型

         块设备:block,存取单位“块”,典型设备是磁盘

         字符设备:char,存取单位“字符”,典型设备是键盘

         设备文件作用:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信;

对于硬件和系统级别,系统主要是通过设备号进行管理,设备号码分为:

         主设备号:majornumber, 标识设备类型

         次设备号:minornumber, 标识同一类型下的不同设备

硬盘接口类型:并行+串行

         并行:线路并行传输数据

                   IDE:133MB/s

                   SCSI:640MB/s(SCSI比IDE工艺性强,使用年限是IDE的4倍左右)

         串口:线路串行传输数据

                   SATA:6Gbps(750MB/s)

                   SAS:6Gbps(750MB/s)

                   USB:480MB/s

Linux磁盘管理
Linux磁盘管理
Linux磁盘管理
Linux磁盘管理

 注:上述说传输速率是接口速率不是实际体验速率

磁盘分区是按柱面进行分区的,我们把0磁道0扇区叫MBR:(Master Boot Record,是一程序),容量是512bytes,其中:

         446bytes: boot loader 引导加载器

         64bytes:分区表(要软损坏硬盘只要捣毁硬盘分区表就OK了)

                  16bytes: 标识一个分区,所以一个硬盘至多能有4个分区

         2bytes: 55AA 当前MBR的有效性标识

                  4个主分区;

                  3主分区+1扩展分区(N个逻辑分区)

                   逻辑分区(逻辑分区编号一定是从5开始滴)

Linux的分区管理工具:fdisk,parted, sfdisk

fdisk:对于一块硬盘来讲,最多只能管理15分区;

         # fdisk -l [-u][device...]

           子命令:管理功能

               p:print, 显示已有分区;

              n:new, 创建

              d:delete, 删除

              w:write, 写入磁盘并退出

               q:quit, 放弃更新并退出

               m:获取帮助

               l:列表所分区id

               t:调整分区id

例:fdisk /dev/sda建立新分区/dev/sda4 /dev/sda5

Linux磁盘管理

查看内核是否已经识别新的分区:

  # cat /proc/partitions 

通知内核重新读取硬盘分区表:

  partx -a /dev/DEVICE

CentOS 5: 使用partprobe

  partprobe[/dev/DEVICE]

继续阅读