Linux 磁盘管理
I/O ports: I/O设备地址
在Linux上一切皆是文件,每一个设备也都是一个文件,设备文件的类型包括:
块设备: block 存储单位是块, 例如磁盘设备;
字符设备: char 存储单位是"char", 例如键盘设备;
设备文件
作用: 设备文件用来关联一个设备的驱动程序,从而能够和与之对应的硬件设备进行通信。不同的硬件设备需要不同的设备文件。
每一个设备都需要一个设备号码,从而能够被识别到。
设备号
主设备号: major number,用来标识设备类型
次设备号: minor number, 标识同一类型下的不同设备
说明: 使用ls -l 查看到的c/b类型的文件,其文件大小由两位数字构成,第一位是主设备号,第二位是次设备号,没有大小。
设备文件
为了让用户识别,Linux将设备文件路径的形式进行展示。 设备文件位于/dev/目录下。
硬盘设备的接口类型包括:
并行: IDE/SCSI/
串口: DATA/SAS/USB
硬盘设备的文件名命名规则如下:
IDE: /dev/hd
SCSI/DATA/SAS/USB: /dev/sd
不同的块设备命名: a-z, 例如: sda,sdb...
同一个设备上的不同分区使用数字1...n...来标识, 例如: sda1, sda2...
磁盘结构
在磁盘的0磁道0扇区,大小为512bytes,用来存放特殊信息:
mbr: master boot record 主引导记录,包括如下内容:
446bytes: boot loader 引导器
64bytes: 分区表
一个分区用16bytes来表示,因此基于mbr的早期硬盘最多只能分4个主分区。 如果需要分多个区可以使用扩展分区来实现。扩展分区内的分区叫逻辑分区。另外基于mbr机制的磁盘管理机制不能识别超过2t的磁盘。 因此就需要GTP/UEFI来实现。
2bytes: 55AA(16进制), 表示存储信息的有效性。
磁盘参数:
rpm: rotations per minute 每分钟转速
磁盘分区
磁盘分区工具: fdisk, parted, sfdisk
fdisk:
fdisk: 对于一个磁盘来说,最多只能管理15个分区;
用法:
fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [device...]
fdisk -s partition...
fdisk -v
fdisk -h
fdisk /dev/DEVICE 的分区子命令
p: print 显示已有分区
n: new 创建分区
d: delte 删除分区
w: write 写入磁盘并退出
q: quit 放弃修改退出
m: 获取帮助
l: 列出分区id
t: 调整分区id
查看内核是否已经识别新的分区:
cat /proc/partitions
通知内核重新获取分区列表:
partx 命令 和 kpartx 命令 可以实现重新获取分区列表
partx -a /dev/DEVICE
partx -m m:n 指定范围
网友评论