1 Linux磁盘管理体系简介
Linux磁盘管理分为五个步骤:首先在服务器上添加相应的硬盘(如/dev/sda、sdb、sdc等),对全新的服务器(即没有操作系统)做硬RAID0、RAID1、RAID5、RAID10或者逻辑卷LVM,然后进行磁盘分区,
创建完分区后进行格式化分区(初始化inode和block),最后就是挂载到linux文件系统中就可以进行安装操作系统或者存放数据
磁盘管理体系图一
1.1 磁盘读写数据的原理
1) 磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径 的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道 2) 不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换 3) 磁头寻道是机械运动,切换磁头是电子切换
2 Linux磁盘分区类型 2.1 16字节分区表说明 3 Linux磁盘分区重点小结
1) 给磁盘分区的实质就是针对上述0磁头0磁道1扇区的前446字节之后的64bytes的分区表进行设置,即主要是划分起始以及结束磁头号、扇区号即柱面号
2) 给磁盘分区的工具有fdisk(适合给小于2TB的磁盘分区),parted(擅长给大于2TB的磁盘分区,也可以对小于2TB的磁盘分区),首选fdisk,只有磁盘大于2TB时才去选parted
补充:(企业面试题:一台服务器6块600G的磁盘,raid5后,总大小3TB,此时无法安装系统,请问为什么?)
解决办法:
方法1:做raid5后,不要重启装系统,而是再回到raid界面,继续分1个小的虚拟磁盘vd 200G,用这个200G的虚拟磁盘装系统,装完系统后再把剩余的2.8T分区通过parted
方法2:先拿1块盘做raid0,剩下5块盘做raid5,在raid0上安装操作系统
方法3:装系统时,选择gpt分区格式,即可安装操作系统
3) 一块磁盘的分区表仅有64bytes大小,每个分区表要占用16字节,因此一块硬盘仅支持四个分区表信息,即主分区+扩展分区的总量不超过4个
4) 磁盘分区是按照柱面(cylinder)来划分的
5) 扩展分区不能直接使用,需要在扩展分区的基础上创建逻辑分区才行
6) 扩展分区有自己的分区表,因此扩展分区下面的逻辑分区可以有多个
磁盘在使用前一般要进行分区,当然如果不分区直接格式化使用也是没问题的,但这不是常见情况;磁盘分区有主分区、扩展分区和逻辑分区之分;一块硬盘最多可以有4个分区表信息(磁盘本身限制),其中一个主分区的
位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区(操作系统限制),在这个扩展分区内可以划分多个逻辑分区(IDE磁盘逻辑分区大概编号可以是5-63,SATA编号5-15)
RAID是廉价的冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称,有时也简称磁盘阵列(Disk Array)
RAID是一种把多块独立的物理磁盘按不同的技术方式组合起来形成一个磁盘组,在逻辑上(做完RAID,装系统后)看起来就是一块大的磁盘,可以提供比单个物理磁盘更大的存储容量或更高的存储性能,
同时又能提供不同级别数据冗余备份的一种技术
RAID技术分类:基于硬件的RAID技术和基于软件的RAID技术
RAID级别
关键优点
关键缺点
实际应用场景
RAID 0
读写速度最快
没有任何冗余
Mysql Slave,集群节点RS
RAID 1
100%冗余,镜像
读写性能一般,成本高
单独的,数据重要,且不能宕机的业务。监控,系统盘等
RAID 5
具备一定性能和冗余性,可以坏一块盘,读性能不错,奇偶校验
写入性能不高
一般业务都可以用
RAID 0+1
RAID 10
读写速度很快,100%冗余
成本高
性能和冗余要求都很好的业务,数据库主库和存储主节点
4.3 RAID级别定义说明
RAID级别
描述
速度
容错性能
RAID 0
磁盘分段
磁盘并行输入\输出
无
RAID 1
磁盘镜像
没有提高
有(允许单个磁盘故障)
RAID 2
磁盘分段加海明码纠错
没有提高
有(允许单个磁盘故障)
RAID 3
磁盘分段加专用奇偶校验盘
磁盘并行输入\输出
有(允许单个磁盘故障)
RAID 4
磁盘分段加专用奇偶校验盘需异步磁盘
磁盘并行输入\输出
有(允许单个磁盘故障)
RAID 5
磁盘分段加奇偶校验分布在各个磁盘上
磁盘并行输入\输出,比RAID0稍慢
有(允许单个磁盘故障)
RAID 10
速度快、完全容错,成本高
速度快
有(允许50%个磁盘故障)
4.4 RAID与LVM的区别 4.4.1 什么是LVM?