9=3 磁盘存储与分区

Posted kjalbert

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9=3 磁盘存储与分区相关的知识,希望对你有一定的参考价值。

磁盘存储与分区

设备文件

一切皆文件:open(), read(), write(), close()
设备类型:

  • 块设备:block,存取单位“块”,磁盘
  • 字符设备:char,存取单位“字符”,键盘

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

  • 主设备号:major number, 标识设备类型
  • 次设备号:minor number, 标识同一类型下的不同设备

磁盘设备的设备文件命名:/dev/DEV_FILE
SCSI, SATA, SAS, IDE,USB: /dev/sd
虚拟磁盘:/dev/vd 、/dev/xvd
不同磁盘标识:a-z,aa,ab…

  • /dev/sda, /dev/sdb, ...

同一设备上的不同分区:1,2, ...

  • /dev/sda1, /dev/sda5
    硬盘存储术语
  • head:磁头
  • track:磁道
  • sector:扇区,512bytes
  • cylinder:柱面

并行:

  • IDE:133MB/s
  • SCSI:640MB/s

串口:

  • SATA:6Gbps
  • SAS:6Gbps
  • USB:480MB/s

机械硬盘和固态硬盘

机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤

固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致

  • 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍
  • 相较于SSD,HDD在价格、容量占有绝对优势
  • 硬盘有价,数据无价,目前SSD不能完全取代HHD

CHS和LBA

CHS

  • 采用24bit位寻址
  • 其中前10位表示cylinder,中间8位表示head,后面6位表示sector
  • 最大寻址空间8GB

LBA(logical block addressing)

  • LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址
  • ATA-1规范中定义了28位寻址模式,以每扇区512位组来计算,ATA-1所定义的28位LBA上限达到128 GiB。2002年ATA-6规范采用48位LBA,同样以每扇区512位组计算容量上限可达128 Petabytes

由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式

分区

使用分区空间:

  • 设备识别
  • 设备分区
  • 创建文件系统
  • 标记文件系统
  • 在/etc/fstab文件中创建条目
  • 挂载新的文件系统

分区的原因:

  • 优化I/O性能
  • 实现磁盘空间配额限制
  • 提高修复速度
  • 隔离系统和程序
  • 安装多个OS
  • 采用不同文件系统

分区方式:

  • 两种分区方式:MBR,GPT
  • MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
  • 如何分区:按柱面
  • 0磁道0扇区:512bytes
    • 446bytes: boot loader
    • 64bytes:分区表,其中每16bytes标识一个分区
    • 2bytes: 55AA
  • MBR分区中一块硬盘最多有4个主分区,也可以3主分区+1扩展(N个逻辑分区)

MBR分区结构

技术图片

硬盘主引导记录MBR由4个部分组成:

  • 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序
  • 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节
  • 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
  • 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA

技术图片
技术图片

GPT分区结构

技术图片

Bios和UEFI

BIOS:

  • BIOS是固化在电脑主板上一个程序,主要用于开机系统自检和引导操作系统。目前新式的电脑基本上都是UEFI启动
  • BIOS(Basic Input Output System 基本输入输出系统)对于普通用户来说,主要完成系统硬件自检和引导操作系统,操作系统开始启动之后,BIOS的任务就完成了。系统硬件自检:如果系统硬件有故障,主板上的扬声器就会发出长短不同的“滴滴”音,可以简单的判断硬件故障,比如“1长1短”通常表示内存故障,“1长3短”通常表示显卡故障
  • BIOS在1975年就诞生了,使用汇编语言编写,当初只有16位,因此只能访问1M的内存,其中前640K称为基本内存,后384K内存留给开机和各类BIOS本身使用。BIOS只能识别到主引导记录(MBR)初始化的硬盘,最大支持2T的硬盘,4个主分区(逻辑分区中的扩展分区除外),而目前普遍实现了64位系统,传统的BIOS已经无法满足需求了,这时英特尔主导的EFI就诞生了

UEFI:

  • EFI(Extensible Firmware Interface)可扩展固件接口,是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是BIOS 的继任者 ? UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织
  • UEFI(Unified Extensible Firmware Interface)统一的可扩展固件接口, 是一种详细描述类型接口的标准。UEFI 相当于一个轻量化的操作系统,提供了硬件和操作系统之间的一个接口,提供了图形化的操作界面。最关键的是引入了GPT分区表,支持2T以上的硬盘,硬盘分区不受限制

BIOS和UEFI区别:

  • BIOS采用了16位汇编语言编写,只能运行在实模式(内存寻址方式由16位段寄存器的内容乘以16(10H)当做段基地址,加上16位偏移地址形成20位的物理地址)下,可访问的内存空间为1MB,只支持字符操作界面UEFI采用32位或者64位的C语言编写,突破了实模式的限制,可以达到最大的寻址空间,支持图形操作界面

BIOS+MBR与UEFI+GPT:

  • 传统BIOS运行流程:
    1. 开机
    2. BIOS初始化
    3. BIOS自检
    4. 引导操作系统
    5. 进入系统
  • UEFI运行流程
    1. 开机
    2. UEFI初始化
    3. 引导操作系统
    4. 进入系统

管理分区

  • 列出块设备
    • lsblk
  • 创建分区使用:
    • fdisk 创建MBR分区
    • gdisk 创建GPT分区
    • parted 高级分区操作
  • 重新设置内存中的内核分区表版本
    • partprobe

parted命令

parted的操作都是实时生效的,小心使用
用法:parted [选项]... [设备 [命令 [参数]...]...]

  • parted /dev/sdb mklabel gpt|msdos
  • parted /dev/sdb print
  • parted /dev/sdb mkpart primary 1 200 (默认M)
  • parted /dev/sdb rm 1
  • parted –l 列出分区信息

以上是关于9=3 磁盘存储与分区的主要内容,如果未能解决你的问题,请参考以下文章

认识文件存储与磁盘管理

CentOS6.10初探

linux的磁盘管理与文件系统

RHCE 第9节课 存储结构与磁盘划分

Linux磁盘管理与文件系统

磁盘存储文件系统的知识概括