Linux磁盘管理
目录
三、分区管理工具:fdisk, parted, sfdisk
一、Linux一切皆文件
块设备:block,存取单位“块”,磁盘
字符设备:char,存取单位“字符”,键盘
设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
P.S. 设备文件通常只有元数据(属性)
设备号码:
主设备号:major number, 标识设备类型
次设备号:minor number, 标识同一类型下的不同设备
硬盘接口类型:不同的接口类型有着不同的电器特性规定,使用特殊线缆运用某种通信协议传输数据
并行:
IDE:133MB/s
SCSI:640MB/s,工业级应用,使用年限大概是IDE年限4-8倍
串口:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
rpm:rotations per minute转数
二、磁盘设备的设备文件命名
1./dev/DEV_FILE
IDE:/dev/hd
SCSI, SATA, SAS, USB:/dev/sd
P.S. CentOS6, 7 都sd来命名磁盘设备
不同设备:a-z
/dev/sda, /dev/sdb, ...
同一设备上的不同分区:1,2, ...
/dev/sda1, /dev/sda5
2.机械式硬盘
track:磁道
cylinder:柱面
sector:扇区
512bytes
问题:如何分区?
按柱面
4个主分区;
3主分区+1扩展分区(N个逻辑分区,从5开始编号)
逻辑分区:由扩展分区持续分割出来的分区
分区方式 P:Primary E:Extended
P+P+P+E ( L+L+ … )
P+E ( L+L+ … )
0磁道0扇区:512bytes,不属于任何分区
MBR:Master Boot Record
446bytes:boot loader 主引导记录
64bytes:分区表
16bytes:标识一个分区
2bytes:55AA 有效性标识
硬盘单盘容量大于2T,MBR没办法识别2T以后的空间
问题:UEFI, GPT?
3.UEFI
一种个人计算机系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案
可扩展固件接口负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口
4.GPT
全局唯一标识分区表(GUID Partition Table,缩写:GPT)
一个实体硬盘的分区表的结构布局的标准
在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头
为了减少分区表损坏的风险,GPT在硬盘最后保存了一份分区表的副本
三、分区管理工具:fdisk, parted, sfdisk
1.fdisk
P.S. 对于一块硬盘来讲,最多只能管理15分区
用法:
# fdisk -l [-u] [device...] 列出(指定设备)所有分区信息
# fdisk device 管理分区
子命令:管理功能
p:print, 显示已有分区表信息
n:new, 创建
d:delete, 删除
w:write, 写入磁盘并退出
q:quit, 放弃更新并退出
m:获取帮助
l:列表所分区id(P.S. id用于标识分区类型)
t:调整分区id
查看内核是否已经识别新的分区:
# cat /proc/partitions
问题:发现未识别新的分区怎么办
命令:通知内核重新读取硬盘分区表
partx -a /dev/DEVICE
partx -n M:N /dev/DEVICE
kpartx -a /dev/DEVICE
-f:force
CentOS 5:使用partprobe
partprobe [/dev/DEVICE]
2.parted
磁盘分区和分区大小调整工具
3.sfdisk
分区表操作工具
回顾
磁盘接口类型、磁盘分区、fdisk、mkfs、mke2fs, tune2fs, blkid, dumpe2fs, e2label
vfs: xfs, ext{2|3|4}, btrfs
参考资料:
马哥随堂笔记
注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。