1、磁盘相关名词翻译:
disk 磁盘
head 磁头
sector 扇区
track 磁道
cylinder 柱面
units 单元块
block 数据块
inode 索引节点
2、磁盘内部相关名词知识:
一般来说,一块磁盘有1个到数个盘片不等,其中每个盘片的有效面对应一个读写磁头,从上往下从0开始依次编号,不同的磁盘盘面在逻辑上被划分为磁道、柱面、以及扇区。
在磁盘不工作的时候,磁头停靠在靠近主轴接触盘片的表面,一个不存放任何数据的特殊区域,即内圈线速度最小的地方,称为启停区,启停区以外就是数据区。
在磁盘的最外圈,离主轴最远的磁道成为"0"磁道,磁盘数据的存放就是从最外圈"0"磁道开始的。在磁盘刚开始工作的时候,磁道检测器会将磁头从内圈定位到外圈的"0"磁道。
系统的引导程序在 0 柱面 0 磁道 1扇区的前446Bytes
3、磁盘的盘面
磁盘的每一个盘片都有两个盘面,即上、下盘面,一般来说,每个盘面都可以存储数据,成为有效盘面,也有极个别的磁盘盘面数为单数。每一个这样的有效盘面都有一个盘面号,按顺序从上至下从“0”开始依次编号,盘面号又叫磁头号,盘面的个数等于磁头的个数。磁盘的盘片组在2-14片不等。
4、磁盘的磁道
磁盘在格式化时被划分成许多同心圆,这些同心圆的轨迹叫做磁道(Track),磁道由盘面从外向内一次从0开始顺序编号。
磁盘的每一个盘面一般有 300~1024 个磁道,在同样转速下,外圈在同样时间段里,划过的圆弧长度比内圈划过的圆弧长度大(但是读取到的数据是一样的),这样的每段圆弧叫做一个扇区,扇区从“1”开始编号。一个扇区512Bytes
5、描述Linux系统从开机到登陆界面的启动过程:
(1)BIOS加电自检:主要功能是对CPU、主板、内存等检查
(2)MBR引导
(3)grub2引导菜单:用于计算机寻找操作系统内核并加载到内存的智能软件
(4)加载内核kernel
(5)启动systemd进程。 centos6 -->init
(6)读取inittab文件,执行rc.sysinit文件
(7)执行/etc/rc.d/rc.local(开机自启文件)
(8)启动mingetty,进入系统登陆界面
6、主引导扇区在整个硬盘里是唯一的,也就是一个硬盘只能有一个。
7、磁盘分区的重点:
(1)磁盘分区的是指就是针对 0 磁道 1扇区的前446字节后面接下来的64bytes的分区进行设置,分区工具有fdisk(适合小于2T的磁盘分区),parted(适合大于2T的磁盘分区,可以对小于2T的磁盘分区)。
(2)一块磁盘的分区表仅有64bytes大小,仅支持四个分区表信息(主分区+扩展分区)
(3)磁盘分区的最小单位为柱面(cylinder)
(4)扩展分区不能直接使用,还需要在扩展分区的基础上创建逻辑分区才行。
(5)扩展分区有自己的分区表,因此,扩展分区下面的逻辑分区可以有多个。
8、主分区Primary
一般来说,主分区是磁盘上必须存在的分区,一般为磁盘的第一个分区,可以在主分区上安装操作系统。
问:一个磁盘为什么最多只能有四个主分区?
因为每个主分区都会在主引导扇区中生成分区表DPT,每个分区表需要占用大小16Bytes,硬盘在设计时,只给分区表留下了64bytes的存储空间,所以只能有四个主分区。
当有多个分区且主分区(primary)不够用时,需要使用扩展分区(extended)来实现。
1p+1e、2p+1e、3p+1e 总之主分区的个数不能超过四个。
9、扩展分区Extended
扩展分区上不能存放数据,只能在扩展分区上建立逻辑分区。扩展分区没有MBR,只有扩展分区表,而且扩展分区表没有64bytes限制,可以在扩展分区上划分多个逻辑分区。
一块硬盘只能存在一个扩展分区,并且扩展分区不能直接存放数据。扩展分区就像是一个虚拟出来的硬盘一样。
10、逻辑分区logical
不能在磁盘中单独直接划分逻辑分区(fdisk),逻辑分区必须存在扩展分区内,在扩展分区内可以划分多个逻辑分区,逻辑分区的编号从数字5开始。这个扩展分区内可以划分多个逻辑分区(IDE磁盘大概编号可是5-63),SATA(编号5-15)。
11、磁盘分区注意事项:
一块硬盘的分区方式只能为如下组合之一:
(1)任意多个主分区,但要求 1<=主分区数量<=4
(2)扩展分区可以和主分区组合,但要求 2<=(主分区+扩展分区)数量<=4
例如:3个主分区+1个扩展分区或2个主分区+1个扩展分区或1个主分区+1个扩展翻去
(3)如果要分成四个磁盘分区的话,那么最多可以:
P + P + P + P
P + P + P + E
其中 P 为 Primary ,E 为 Extended
12、fdisk 对磁盘做分区。
(1)新加一块硬盘,10G
(2)对 /dev/sdb 做分区。fdisk /dev/sdb
n 为添加一个新的分区
(3)添加第一个主分区,并给主分区设置大小。
p -- 主分区,e -- 扩展分区,选择主分区,目前有四个空闲分区,所以编号选择1-4,默认为1,扇区的默认大小为范围最小值,给主分区一个 100M 的大小。
(4)打印查看 -- p
(5)再添加一个扩展分区
将所有剩余空间都分给扩展分区,因为扩展分区上可以划分多个逻辑分区。
(6)再次打印查看 --p
(7)在扩展分区上添加逻辑分区,因为所有空间都给了扩展分区,再添加主分区时会显示剩余不足。
因为分区编号1-4是给主分区和扩展分区使用的,因此,逻辑分区的编号从5开始。
(8)打印查看 -- p
(9)保存才能生效 -- w
(10)查看
因为当分区划分完后,系统可能不能够及时察觉分区表的更新,因此需要告诉内核分区表发生变化。
partprobe /dev/sdb ---- 了解即可,一般情况下是可以及时更新的
13、parted做分区(GNU磁盘分区工具,适合大于2T的分区工具)
parted 是一个磁盘分区管理工具,比fdisk更灵活,功能也更丰富,同时支持GUID分区表(GUID Partition Table),同时支持交互模式和非交互模式,除了能够进行分区的田间,删除等常见操作外,还可以移动分区,制作文件系统,调整文件系统大小,复制文件系统。
(1)对/dev/sdb 做分区。-- parted /dev/sdb
rm 分区编号 -- 删除一个分区。
(2)做分区前需要先把整个磁盘改变成 gpt 的格式,这样才能做分区。
(3)打印查看 -- p
(4)创建分区。
mkpart 文件系统类型 起始 结束
(5)创建逻辑分区,从501给到1000
(6)不用保存直接退出
(7)格式化 /dev/sdb 第二块盘
mkfs -t ext4 /dev/sdb2