Linux之磁盘管理
硬盘类型:固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)
接口类型:IDE接口(速率MBps)、SATA接口(600MBps)、SCSI接口(320MBps)、SAS接口(3.0Gbit/s)、FC接口、USB接口(480MB/s)
硬盘组织结构:固定面板、控制电路板、磁头、盘片、主轴、电机、接口及其它附件组成。其中磁头盘片组件是构成硬盘的核心,它封装在硬盘的净化腔体内,包括有浮动磁头组件、磁头驱动机构、盘片、主轴驱动装置及前置读写控制电路等部分。
硬盘的工作原理是利用特定的磁粒子的极性来记录数据。磁头在读取数据时,将磁粒子的不同极性转换成不同的电信号,再利用数据转换器将这些原始信号变成电脑可以使用的数据,写的操作正好与此相反。
磁盘接口一般分为两种:IDE并行接口;SATA串行接口。在linux上面IDE接口的硬盘被识别为/dev/hd[a-z]这样的设备,其中hdc表示光驱设备。其他如SCSI,SAS,SATA,USB等接口的设备在linux识别为/dev/sd[a-z]。
磁盘分区:在Linux 中规定每一个硬盘设备最多能有 4个主分区(其中包含扩展分区)构成。主分区(或者扩展分区)占用 1 至 16 号码中的前 4 个号码。以第一个SAS硬盘为例说明,主分区(或者扩展分区)占用了 sda1、sda2、sda3、sda4,而逻辑分区占用了 sda5 到 sda16 等 12 个号码。因此,Linux 下面每一个硬盘总共最多有 16 个分区。
主流的分区机制分为MBR和GPT两种。MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS引导的PC设备(苹果使用EFI的方式);很多Server服务器即支持BIOS也支持EFI的引导方式。MBR支持32bit和64bit系统;MBR支持的分区数量有限制;不支持超过2TB的硬盘,超过2TB的硬盘只能使用2TB的空间(但是有第三方解决方法);Linux最多支持63个IDE分区和15个SCSI分区。GPT(GUID Partition Table):是一个较新的分区机制,支持超过2TB的磁盘;必须使用64位操作系统,Mac、LInux系统都能支持GPT分区格式。
常用的设备文件:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。“块”:block,随机设备;“字符”:character,线性设备。
常见的分区工具:fdisk, parted, sfdisk
fdisk常见参数选项
p:显示分区表
n:新建一个新分区
d:删除一个分区
q:退出不保存
w:把分区写进分区表,保存并退出
parted常见参数选项:
-h:显示帮助信息
-l:列出所有设别的分区信息
-i:在必要时,提示用户
常见的操作命令
检查 MINOR :对文件系统进行一个简单的检查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR :将文件系统复制到另一个分区
mklabel 标签类型:创建新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型:在 MINOR 创建类型为“文件系统类型”的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点:创建一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点:创建一个带有文件系统的分区
move MINOR 起始点 终止点:移动编号为 MINOR 的分区
name MINOR 名称:将编号为 MINOR 的分区命名为“名称”
print [MINOR]:打印分区表,或者分区
quit:退出程序
rm MINOR:删除编号为 MINOR 的分区
select 设备:选择要编辑的设备
set MINOR 标志 状态:改变编号为 MINOR 的分区的标志
sfdisk语法:sfdisk [options] device …
常见参数选项
-s or --show-size: 显示一个分区的大小
-c or --id: 显示或者修改文件系统类型ID
-l or --list: 显示每个设备的分区表信息
-d or --dump: 同上,但是以一个格式化的方式输出
-i or --increment: number cylinders etc. from 1 instead of from 0
-uS, -uB, -uC, -uM: 以扇面/块/柱面数/MB为单位 显示或形成报告
-T or --list-types:显示所有已知的sfdisk能辨识的文件系统ID
-D or --DOS: 兼容DOS但是会浪费一点磁盘空间
-R or --re-read: 让内核重新读取分区表
-N# : 只改变分区的编号 #
-n : 修改但实际上并没有保存到磁盘
-O file : 保存扇面修改并写入分区表文件
-I file : 重新恢复修改的扇面
partx,kpartx多路径块设备分区增加设备映射
partx,kpartx通知内核去识别、登记某个硬盘上的分区信息。并不是加载,只是识别并记录而已。或者删除某个分区的记录。
常见参数选项
-a:登记某块盘上的所有分区信息,如果某个分区信息已有记录,就会报错:
BLKPG: Device or resource busy
error adding partition 4
-d:删除内核中关于某磁盘上的所有分区的记录(不是卸载)
已挂载,则无法删除登记,并报错:
error deleting partition 5: BLKPG: Device or resource busy
-l:列出某磁盘上的分区情况。数据从磁盘上获取,并不是来源于/proc/partitions