操作环境只要有6和7版本的虚拟机就可以了
本章内容
- 磁盘结构
- 分区类型
- 管理分区
- 管理文件系统
- 挂载设备
- 管理虚拟内存
磁盘管理基础入门
在windows或者Linux里,对新的磁盘进行管理,要进行下面3个步骤才可以使用:
1分区
2创建文件系统也就是格式化
3分配盘符或者的挂载到目录下
一设备文件的介绍
I/O Ports: I/O设备地址
一切皆文件:
open(), read(), write(), close()
1设备文件的类型
设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
1.1块设备:block,存取单位“块”,磁盘或者光盘。
2620涉及到了扇区,一个扇区是512字节。
1.2字符设备:char,存取单位“字符”,键盘,比如/dev/null
[root@centos65 ~]# file /dev/null /dev/null: character special
2设备号码:
主设备号:major number, 标识设备类型
次设备号:minor number, 标识同一类型下的不同设备
[root@centos73 ~]# ll /dev/sda1 brw-rw----. 1 root disk 8, 1 Feb 17 16:28 /dev/sda1 [root@centos73 ~]# ll /dev/sda2 brw-rw----. 1 root disk 8, 2 Feb 17 16:28 /dev/sda2 [root@centos73 ~]# ll /dev/sda3 brw-rw----. 1 root disk 8, 3 Feb 17 16:28 /dev/sda3 [root@centos73 ~]# ll /dev/sda4 brw-rw----. 1 root disk 8, 4 Feb 17 16:28 /dev/sda4 [root@centos73 ~]# ll /dev/sda5 brw-rw----. 1 root disk 8, 5 Feb 17 16:28 /dev/sda5 [root@centos73 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 50G 0 part / ├─sda3 8:3 0 20G 0 part /app ├─sda4 8:4 0 1K 0 part └─sda5 8:5 0 2G 0 part [SWAP] sr0 11:0 1 4.2G 0 rom /mnt
2硬盘接口类型
2.1并行:
早期是使用并行接口,并行传输数据的。
(1)IDE:133MB/s
适用于家用电脑
右上角接口处有很多帧,左下角是电源接口
(2)SCSI:640MB/s
服务器上的接口
大写的B表示的是字节,不需要除以8
目前不使用并行接口,因为会有比较强的干扰。
2.2串行接口
(1)SATA:6Gbps
家用电脑目前都是这种类型。
(2)SAS:6Gbps
小写的b表示每秒钟传递多少位为单位,要除以8才可以转换成字节。
问题1T的固态磁盘是什么概念?
(3)USB:480MB/s
rpm表示机械磁盘的转速。其里面有盘片和马达。转的越快读写性能就越好。
笔记本电脑一般是5000多的转速。台式电脑性能会更好。
rpm: rotations per minute
3硬盘存储的分类
3.1机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘。
主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。
机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,
磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。
磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。
数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。
硬盘为精密设备,进入硬盘的空气必须过滤。
3.2固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。
固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致。
相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍。
相较于SSD,HDD在价格、容量、使用寿命上占有绝对优势。
注意硬盘有价,数据无价,目前SSD不能完全取代HHD。因为一方面是如果硬盘损坏了,固态的不能还原,机械的可以还原一部分。
另外一方面是前者的价格更高,1T的固态磁盘要2000多,机械磁盘是300多。
4设备文件的命名
磁盘设备的设备文件命名:/dev/DEV_FILE
4.1在6和7上面,SCSI, SATA, SAS, IDE,USB: /dev/sd
4.2虚拟磁盘:/dev/vd
虚拟化的使用很广泛,比如我们在电脑上安装和使用vmvare,在其上面又安装了操作系统。
在Linux上面运行windows操作系统也可以的。模拟出来的硬盘就叫做vd
在生产中可能会使用到云服务器,比如阿里云,实际上是虚拟机。
很多企业都使用云服务器,因为比较省事。
一般是使用混合云,公有云和私有云相结合。
4.3不同磁盘标识:a-z,aa,ab…
/dev/sda, /dev/sdb, ...
同一设备上的不同分区:1,2, ...
/dev/sda1, /dev/sda5
5分区策略
分区策略有两种,MBR和GPT
MBR分区有3种类型,主分区,扩展分区,逻辑分区。
主分区最多4个,而且不能再细分了,是最小的使用单位。在电脑上至少要有一个主分区来引导计算机使用。
如果是有好几块硬盘,那么有的硬盘是可以不要有主分区的,只要有一个硬盘上面有主分区引导启动就可以了,其他的可以作为数据磁盘。
并且扩展分区加上主分区最多4个,也就是扩展分区要占用主分区的名额。
扩展分区是不能直接使用的,只能作为容器使用。也就是要对其进行细分,细分成逻辑分区。
二硬盘存储的相关术语
硬盘存储术语,针对的是机械磁盘
head:磁头
track:磁道
cylinder: 柱面
sector: 扇区,512bytes
1head:磁头
磁头悬浮在贴近但是不挨着盘片的位置,利用电磁来读取上面的数据。
盘片固定在轴上的,盘片会随着轴的转动而转动。
磁头要从里圈到外圈来回的转动才可以读取整个盘片的数据。
因为盘片有内圈和外圈,如果不转的话只能读取内圈数据。
2磁道,扇区
磁头处于什么位置,当盘片转动的时候那么就把一圈的数据读取出来了。
这一圈就是磁道,就好比是操场的跑道一样。
磁道是逻辑上的概念,实际上看不到的。
内圈磁道要短,外圈磁道要长。但是在早期不论是内外都划分了更小的单位就是扇区,而且是按照中心线划的。
内圈的扇区空间明显要比外圈的扇区空间要小,但是每个扇区的容量都是512字节。
这样内圈空间就比较紧张,外圈就比较空旷。
注意是6个位存放一圈磁道的扇区。也就是00000-111111,一共是2^6,64个扇区。
但是要去除起始的一个扇区,所以一圈磁道存储了63个扇区,这63个扇区是用来存储数据的。
一圈63个扇区,每个扇区512字节,一圈占的空间就是512x63
磁道,是以10个位来存储的,也就是1024条磁道。
最外圈的磁道,也就是最长的磁道的编号是0,最里圈是1023
注意在计算机里面0是有存在意义的,所以第1条磁道编号是0
root账号的ID也是0
注意盘片是很多张的,而且都是正反两面。
也就是一张盘片有两个盘面,而且都存储了数据。有几个盘面就有几个磁头。
下面就是有6个盘面,那么就有6个磁头。
磁头数量是用8个位来表示的。也就是支持256个磁头。
那么一块硬盘的最大容量是 63x512x1024x256=8455716864字节=8257536K=8064M
这是早期时候的空间了,现在更大了。
计算和查看磁盘空间,文件大小的单位是字节,在网络中传输数据也就是网速是以位为单位。
[root@centos73 ~]# bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 63*512*1024*256 8455716864 8455716864/1024 8257536 8257536/1024 8064
这是早期时候的空间了,现在更大了。
后来做了改进了, ZBR(Zoned Bit Recording)区位记录磁盘扇区结构
早期的扇区最外圈很空旷,最里圈很挤。
磁头不论是在里圈还是在外圈读取的扇区数是一样的。
而ZBR不一样,磁头处于外圈,那么读取的扇区数量就更多。
如果要提高数据的访问速度,那么磁头就要放到外圈。
可以把要求访问快的数据放到外圈,也就是放到编号更小的磁道上。
盘片是固定在轴上的,只要轴转,盘片也会转。所有的磁头位置也是一样的。
如果硬盘没有数据读取了,那么磁头就会移动到磁头的停泊区。
所以在电脑处于开机状态的时候要防止硬盘损坏,也就是磁头不要划伤盘片。
3柱面
每个盘面都有最外圈,也就是0磁道。把所有的0磁道称为0柱面。所有的1磁道称为1柱面,所有的1023磁道称为1023柱面。
因为相同的磁道看起来像立体的柱子一样。
一个柱面存放了 512x63x256=8257536=8064K
不到8M
早期的版本,比如centos5划分分区是以柱面的整数倍为单位的,
比如1柱面,2柱面,3柱面放到1个分区里面,4柱面,5柱面放到另外一个分区里面。
不能出现2.5柱面,3.5柱面这样划分,而是要整柱面划分分区的。
所以早期的分区大小都是8M的整数倍。
现在不上这样了,从centos6开始可以精确到以扇区来划分。也就是只要是512字节的整数倍都可以。
但是不是整柱面划分会出现报警提示。Partition 1 does not end on cylinder boundary.
[root@centos65 ~]# fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes 255 heads, 63 sectors/track, 26108 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0000c75a Device Boot Start End Blocks Id System /dev/sda1 * 1 131 1048576 83 Linux Partition 1 does not end on cylinder boundary.不是以柱面的边界划分 /dev/sda2 131 6505 51200000 83 Linux /dev/sda3 6505 9055 20480000 83 Linux /dev/sda4 9055 26109 136985600 5 Extended /dev/sda5 9055 9316 2097152 82 Linux swap / Solaris
Start End表示一个分区的开始柱面到结束的柱面,第2个分区和第1个分区都使用了131号柱面。
如果是以扇区为单位划分1G的分区就更不好计算。而以柱面划分就更好计算。
一般精确到柱面也够用了,因为现在的硬盘更大了,不在乎这么点空间的区别了
买硬盘1T,实际上是达不到的,也就是1000G左右。商家卖的硬盘是以10的几次方计算的。
所有的商家都是这么卖的,算是行业的潜规则了。
三硬盘的寻址方式
CHS和LBA
CHS磁盘3维
采用24bit位寻址,涉及前面所所有使用到的位,组合加起来。6位+8位+10位
其中前10位表示cylinder柱面,中间8位表示head磁头,后面6位表示sector扇区。
最大寻址空间8GB,现在不使用这种方法了。
LBA(logical block addressing)
LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址
LBA采用48个bit位寻址
最大寻址空间128PB
由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式。
在磁盘容量大于大概8GB时,则只能使用LBA寻址方式。