Linux 运维中运维人员主要针对服务器的I/O设备管理:磁盘和网卡,这里主要介绍对磁盘的管理
Linux中一切皆文件,硬件设备也有对应的文件。Linux中访问设备,其实就是访问对应的文件接口。
文件接口:open(),read(),write(),close()等等。
设备类型:
块设备(block):随机访问的特性,数据交换单位为“块”
字符设备(character):线性设备,数据交换单位为“字符”。比如:键盘输入
设备文件:FHS(文件系统的层级标准)
Linux中/dev/目录用于存放设备文件,设备文件是关联至设备驱动程序及访问设备的入口
设备的管理:设备号
设备号:主设备号(major),次设备号(minor)
major: 设备类型,区别设备类型,用于表明所需驱动程序
minor: 同一类型下的不同设备,驱动程序驱动的具体设备(c,字符设备,b块设备)
Linux磁盘设备文件命名:
IDE (ATA):133MB/s,/dev/hd
SCSI: 640MB/s
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
除IDE外Linux中识别硬盘设备:/dev/sd
标记不同的硬盘设备:/dev/sd[a-z]
标记同一设备上的不同分区:/dev/sd[a-z][1-]
1-4: 主或扩展分区标识
5+:逻辑分区标识
机械硬盘介绍:track 磁道,sector 扇区,cylinder 柱面
MBR:0磁道0扇区,主引导扇区(master boot record)
MBR分三部分:446bytes:bootloader,引导程序
64bytes: 分区表
16bytes:标记一个分区
2bytes:55AA,当前MBR信息是否有效的标记
如果单块硬盘超过2T就不能使用MBR分区,只能使用 GPT分区
分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;
分区工具:
fdisk, parted, sfdisk
fdisk工具的使用:
fdisk最多支持在一块硬盘上的15个分区;
fdisk分区管理子命令:
m: 获取帮助,用于显示子命令的功能
p: 显示现有分区表
n: 创建
d: 删除
t: 修改分区ID
l: 列出所有支持ID类型
w: 保存退出
q: 放弃修改并退出
创建完成之后,查看内核是否已经识别新的分区:
# cat /proc/partitions
有三个命令可以让内核重读磁盘分区表:
CentOS 5: partprobe [DEVICE]
CentOS 6,7:
partx
kpartx
partx命令:注意:已挂载的硬盘上分区需执行,可能需要命令重复执行2次或以上才能读取分区成功
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M
M:
:N
kpartx命令:
kpartx -af DEVICE
创建分区后需创建文件系统和格式化