1 磁盘基础
1.1 硬盘的物理结构
- 盘片:硬盘有多个盘片,每盘片2面扇区(正反两面)
- 磁头:每面一个磁头,并不是只有一个磁头,磁头也不会碰到盘面,磁头等于盘片数量
1.2 硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
- 磁道:同一盘片不同半径的同心圆
- 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成(柱面和磁道数量相同)
1.3 磁盘接口类型
硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI,接口速度不是实际硬盘传输速度。
- IDE(并行):并行接口,133MB/s,应用于早期家用电脑。数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
- SCSl:640MB/s,并行接口,应用于早期服务器,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时 CPU占用率较低,转速快,支持热插拔等
- SATA(串行):6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线。抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SAS:SAS 是新一代的SCSI技术, 和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s。
2 MBR与磁盘分区
2.1 为什么分区
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个OS
- 采用不同文件系统
2.2 主引导记录—MBR
主引导记录(MBR:Master Boot Record):1982年,使用32位表示扇区数,磁盘分区不超过支持最大卷为2.2TB
- MBR位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表
- MBR中包含硬盘的主引导程序(446字节)和硬盘分区表(512-446-2=64字节)和2个字节的硬盘标识
- 分区表有4个分区记录区,每个分区记录区占16个字节
2.3 磁盘分区的表示
Linux中将硬盘、分区等设备均表示为文件
2.4 磁盘分区结构
- 常见的硬盘可以划分为主分区、扩展分区和逻辑分区,主分区和扩展分区的序号限制在1~4,逻辑分区的序号将始终从5。
- 硬盘中的主分区数目只有4个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以再分为逻辑分区(每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区)。
- 主分区一般用来安装操作系统,扩展分区则多用来存储文件数据
2.5 文件系统类型
XFS文件系统
- 存放文件和目录数据的分区
- 是一个全64-bit的文件系统,最大可以支持8EB的文件系1EB=1024PB 1PB=1024TB 1TB=1024GB支持单个文件则达到8E能以接近裸设备I/O的性能存储
- 根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
- CentOS 7系统中默认使用的文件系统
SWAP,交换文件系统(相当于Windows系统下的虚拟内存)
- 为Linux系统建立交换分区
- 一般设置为物理内存的1.5~2倍
EXT4(第四代扩展文件系统)
- 用于存放目录和数据的分区
- 典型的日志型文件系统
- EXT4(CentOS 6系统的默认文件系统)
Linux支持的其它文件系统类型
- FAT16、FAT32:最大只能支持32GB分区,单个文件也只能支持最大4GB。
- NTFS:NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件
- JFS:主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB
3 磁盘管理
3.1 查看或管理磁盘—fdisk
格式:fdisk -l [磁盘设备]
或 fdisk [磁盘设备]
Device:分区的设备文件名称。
Boot:是否是引导分区。若是,则有" * "标识。
Start:该分区在硬盘中的起始位置(柱面数)
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
Id:分区对应的系统ID号。83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷。LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面进行介绍。
System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在Linux操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中说明。
交互模式中常用命令:
m | 显示帮助菜单 |
---|---|
n | 新建一个新的分区 |
p | 显示磁盘当前的分区表 |
q | 退出fdisk程序,不保存任何修改 |
t | 改变分区属性,系统ID |
u | 改变显示记录单位 |
w | 保存修改结果并退出fdisk程序 |
l | 显示已知的分区类型,其中82为Linux |
d | 删除一个分区 |
3.2 添加硬盘
第一步:右击虚拟机,点击设置
第二步:选择硬盘,点击添加
第三步:选择硬盘,点击下一步
第四步: 默认,然后点击下一步
第五步:默认,继续下一步
第六步:根据需求选择大小以及分配磁盘空间,或者默认选择下一步
第七步:可指定存储位置,也可以选择默认,然后点击完成
第八步:可以查看你新添加的硬盘
3.3 检查并确认新硬盘
[root@fyr ~]# ls /sys/class/scsi_host/
不重启的情况下识别磁盘:
[root@fyr ~]# echo "- - - "> /sys/class/scsi_host/host0/scan
[root@fyr ~]# echo "- - - "> /sys/class/scsi_host/host1/scan
[root@fyr ~]# echo "- - - "> /sys/class/scsi_host/host2/scan
[root@fyr ~]# lsblk
如果系统还是无法识别硬盘,可以重启系统
例如:
3.4 规划硬盘中的分区—fdisk
3.4.1 新建主分区
[root@fyr ~]# fdisk /dev/sdb
3.4.2 修改分区属性
3.4.3 删除分区
3.4.4 新建扩展分区和逻辑分区
3.4.5 保存并退出
3.4.6 查看sdb的信息
[root@fyr ~]# ls /dev/sdb* //查看sdb的信息
[root@fyr ~]# ll /dev/sdb* //查看sdb的详细信息
4 创建文件系统
4.1 管理文件系统(格式化)—mkfs
[root@fyr ~]# mkfs -t xfs /dev/sdb1
或
[root@fyr ~]# mkfs -t xfs /dev/sdb1
4.2 创建交换文件系统—mkswap
mkswap /dev/sdb2 //创建分区(对分区初始化)
swapon 绝对路径 //开启交换分区
swapoff 绝对路径 //关闭交换分区
swapon -s //查看每个分区的swap状态信息
free -m //查看总的swap状态信息
5 挂载、卸载文件系统
5.1 查看磁盘情况—df
格式:df(diskfree) [选项] [文件]
选项 | 作用 |
---|---|
-T | 磁盘类型,文件系统类型 |
-h | 友好显示 |
5.2 临时挂载—mount
重启虚拟机后,原来的挂载会消失
格式:
mount [-t类型】存储设备 挂载点目录
mount -o loop IOS镜像文件 挂载点目录 //没有光驱想挂载镜像是使用
注意:
- 最好挂空文件,不然文件可能丢失
- 如果挂载目录下,你不能解挂载的
- 不能一个目录挂载多个设备
5.3 永久挂载—/etc/fstab
格式:
mount [-t类型] 存储设备 挂载点目录
#用于指定文件系统类型,通常可以省略,由系统自动识别
mount -o loop IOS镜像文件 挂载点目录 //没有光驱想挂载镜像时使用
#1oop:用来把一个文件当成硬盘分区挂接上系统
通过在/etc/fstab文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。
例如:执行以下操作将添加自动挂载分区/dev/sdb1的配置记录
挂载之后重启查看是否机器是否可以永久挂载
[root@fyr home]# blkid /dev/sdb1
[root@fyr home]# vim /etc/fstab
[root@fyr home]# mount -a //重新挂载
在/etc/fstab文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。
/dev/sdb1/ /home/ky18 xfs defaults 0 0
第1字段:设备名或该备卷标名。
第2字段:文件系统的挂载点目录的位置。
第3字段:文件系统类型,如XFS、Swap等。
第4字段:挂载参数,即mount命令“-o”选项后可使用的参数。例如,defaults、rw、ro、noexec 分别表示默认参数、可写、只读、禁用执行程序。
第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略。
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。
5.4 卸载—umount
-f 强制卸载
格式:umount 存储设备位置
umount 挂载点目录
6 总结
-
硬盘的基本构造
三要素:扇区,磁道,柱面 -
新建硬盘和使用
a.添加硬盘
b.分区
c.格式化
d. 挂载/永久挂载
永久挂载格式:(UUID) 用blkid看 挂载点、文件系统(ios9660)、defaults (默认开启设备)、0 (备份)、0(开机是否检查) -
swap空间新建、开启、关闭
mkswap //加分区(硬件设备) 格式化
swapon //开启交换分区
swapoff //关闭交换分区
free -h //查看swap是否开启
swapon -s //查看每个分区的swap状态信息
free -m //查看总的swap状态信息 -
永久挂载光驱、硬盘
-
fdisk 分区