磁盘存储
- 磁盘结构
-
-
- 1.1 设备文件
- 一切皆文件:open(), read(), write(), close()
- 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
-
设备号码:
- 主设备号:major number, 标识设备类型
- 次设备号:minor number, 标识同一类型下的不同设备
-
设备类型:
- 块设备:block,存取单位“块”,磁盘
- 字符设备:char,存取单位“字符”,键盘
- 磁盘设备的设备文件命名:
- /dev/DEV_FILE
- /dev/sdX #SCSI, SATA, SAS, IDE,USB
- /dev/nvme0n# #nvme协议硬盘,(如:第一个硬盘:nvme0n1,第二个硬盘:nvme0n2)
-
-
虚拟磁盘:
/dev/vd /dev/xvd
-
虚拟磁盘:
-
不同磁盘标识:a-z,aa,ab…
- 示例:/dev/sda,/dev/sdb, ...
- 同一设备上的不同分区:1,2, ...
-
- /dev/sda1
- /dev/sda5
- 范例:创建设备文件
- 1.2 硬盘类型
- IDE:133MB/s,并行接口,早期家用电脑
- SCSI:640MB/s,并行接口,早期服务器 SATA:6Gbps,
- SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线
- SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而 SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入 SAS主板上,反之不成
- USB:480MB/s
- M.2:
-
服务器硬盘大小
- LFF:3.5寸,一般见到的那种台式机硬盘的大小
- SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘
- L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘 容量、增强散热、减小功耗
- 1.3 机械硬盘和固态硬盘
- 机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电 机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
- 固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单 元(FLASH芯片、DRAM芯片)组成。
- 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD 的2倍 相较于SSD,HDD在价格、容量占有绝对优势 硬盘有价,数据无价,目前SSD不能完全取代HHD
- 1.4 硬盘存储术语
- 1.1 设备文件
-
硬盘存储术语 CHS
- head:磁头 磁头数=盘面数
- track:磁道 磁道=柱面数
- sector:扇区,512bytes
- cylinder:柱面 1柱面=512 * sector数/track*head数=512*63*255=7.84M
- 范例:
#查看CHS
范例:识别SSD和机械硬盘类型
#1表示机械,0表示SSD
- CHS(是FDISK在分区期间所需磁盘信息)
- CHS采用 24 bit位寻址
- 其中前10位表示cylinder,中间8位表示head,后面6位表示sector
- 最大寻址空间 8 GB
-
- LBA是一个整数,通过转换成 CHS 格式完成磁盘具体寻址
- ATA-1规范中定义了28位寻址模式,以每扇区512位组来计算,ATA-1所定义的28位LBA上限达到 128 GiB。2002年ATA-6规范采用48位LBA,同样以每扇区512位组计算容量上限可达128Petabytes
-
- LBA和CHS区别
-
一、主体不同
1、lba模式:是描述计算机存储设备上数据所在区块的通用机制,用在像硬盘这样的辅助记忆设备。
2、chs模式:是FDISK在分区期间所需zhidao的磁盘信息。
-
二、方式不同
1、lba模式:从0开始编号来定位区块,第一区回块LBA=0,第二区块LBA=1,依此类推。
2、chs模式:每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁 头就可以表示数据答在哪个磁面。
-
三、作用不同
1、lba模式:可以意指某个数据区块的地址或是某个地址所指向的数据区块。
2、chs模式:可用于某些不能自动检测模式的BIOSCHS寻址模式。
-
管理存储
-
- 使用磁盘空间过程
- 使用磁盘空间过程
-
- 设备分区
- 创建文件系统
- 挂载新的文件系统
-
-
- 2.1 磁盘分区
-
-
-
- 磁盘分区的作用
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个OS
- 采用不同文件系统
-
-
分区方式
两种分区方式:MBR,GPT
- MBR分区
-
分区方式
-
-
- MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
-
-
-
-
- 划分分区的单位:
-
- CentOS 5 之前按整柱面划分
- CentOS 6 版本后可以按Sector划分
- 0磁道0扇区:512bytes
- 446bytes: boot loader
- 64bytes:分区表,其中每16bytes标识一个分区
- 2bytes: 55AA
-
-
-
管理分区
- 列出块设备: lsblk
- 创建分区命令
- fdisk 管理MBR分区
- gdisk 管理GPT分区
- parted 高级分区操作,可以是交互或非交互方式
- 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 列出所有硬盘分区信息
- 分区工具fdisk和gdisk
-
- gdisk [device...] 类fdisk 的GPT分区工具
- fdisk -l [-u] [device...] 查看分区
- fdisk [device...] 管理MBR分区
- 子命令:
- p 分区列表
- t 更改分区类型
- n 创建新分区
- d 删除分区
- v 校验分区
- u 转换单位
- w 保存并退出
-
q 不保存并退出
-
查看内核是否已经识别新的分区
-
管理分区
-
cat /proc/partations
新增分区用:
partx -a /dev/DEVICE
kpartx -a /dev/DEVICE -f: force
删除分区用:
partx -d --nr M-N /dev/DEVICE
范例:非交互式创建分区
echo -e \'n\np\n\n\n+2G\nw\n\' | fdisk /dev/sdc