磁盘管理与文件系统
一、磁盘结构及分区表示
1、磁盘结构
1.1、硬盘的物理结构
• 盘片:硬盘有多个盘片,每盘片2面
• 磁头:每面一个磁头
1.2、 硬盘的数据结构
• 扇区: 盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
• 磁道: 同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
• 柱面: 不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
1.3、存储容量
硬盘存储容量=磁头数x磁道(柱面)数×每道扇区数×每扇区字节数(512字节)
可以用柱面/磁头扇区来唯一定位磁盘上每一个区域
1.4、磁盘接口类型
- IDE,并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
- SATA, 抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SCSL,小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
- SAS, 是新一代的SCSI技术, 和SAIA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s。
2、磁盘分区表示
2.1 MBR(Master Boot Record,主引导记录)
MBR位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。
主启动记录(MBR) 磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区)
- MBR位于硬盘第一个物理扇区处.
- MBR中包含硬盘的主引导程序和硬盘分区表.
- 分区表有4个分区记录区,每个分区记录区占16个字节.
- Linux中将硬盘、 分区等设备均表示为文件.
- 主分区从1-4,第一个逻辑分区始终从5开始。
补充:
• 一般来说有两种分区方式 :MBR和GPT
• GPT格式,打破了MBR的限制,可以设置多达128个分区,分区的大小根据操作系统的不同有所变化,支持高达 18EB (1EB=1024PB,1PB=1024TB) 的卷大小
与 MBR 分区的磁盘不同,GPT的分区信息是在分区中,而不像MBR一样在主引导扇区。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区 (Protective MBR)的MBR分区表,这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘
2.2 磁盘分区的表示
dev/hda 5
- /dev/:硬件设备文件所在的命令
- hd:表示IDE设备(sd表示scsi设备)
- a:硬盘的顺序号,以a、b、c…表示
- 5:分区的顺序号,以数字1、2、3…表示
2.3 磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1 ~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
2.4 查看磁盘使用情况
二、管理文件系统
1、文件系统类型
1.1 XFS文件系统
存放文件和目录数据的分区
高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间
CenOS 7系统中默认使用的文件系统
1.2 Swap,交换文件系统
为Linux系统建立交换分区
一般设置为物理内存的1.5~2倍
1.3 Linux支持的其他文件系统类型
EXT4(CentOS 6系统的默认文件系统)、FAT32、NTFS、LVM逻辑卷
三、管理磁盘及分区
1、检测并确认新硬盘
1.1 fdisk命令
查看或管理磁盘分区
fdisk -l 【磁盘设备】
或 fdisk 【磁盘设备】
1.2 实例操作
1.2.1 fdisk查询得出的磁盘信息解释
- Device:分区的设备文件名称;
- Boot:是否是引导分区,是的话则有“ * ”号标识;
- Start:该分区在硬盘中的起始位置(柱面数);
- End:该分区在硬盘中的结束位置(柱面数);
- Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
- Id:分区对应的系统ID号,83表示Linux中的默认分区(XFS或EXT4),8e表示LVM逻辑卷;
- System:分区系统
1.3 交互模式中的常用指令
选项 | 作用 |
---|---|
m | 获取帮助菜单 |
p | 查看分区情况 |
n | 新建分区 |
d | 删除分区 |
t | 变更分区的类型 |
w | 保存分区操作并退出 |
q | 不保存分区操作并退出 |
1.3.1 实例操作(添加磁盘并在新硬盘中建立一个分区)
1.3.1.1 在虚拟机中添加新磁盘的步骤
1.3.1.2 注意事项:
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe"命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。
四、创建文件系统Make Filesystem(格式化)
1、mkfs命令格式
mkfs -t 文件系统类型 分区设备
CentOS 6系统默认使用的是EXT4文件系统,而CentOS 7系统默认使用xfs文件系统。文件系统的选择是要根据实际的生产环境和硬盘类型等条件来决定的,常规应用选择默认文件系统即可。
创建文件系统的过程即格式化分区的过程
2、实例操作:对磁盘新建的分区进行格式化
五、挂载、卸载文件系统mount/umount
1、挂载文件系统——mount命令
1.1 挂载文件系统、ISO镜像到指定文件夹
mount [-t类型] 存储设备 挂载点目录
mount -0 loop IS0镜像文件 挂载点目录
-t: 用于指定文件系统类型,通常可以省略,由系统自动识别
-O: 挂载参数列表,以英文逗号分隔;或用来描述特殊设备,用loop指定
挂载到文件系统下举例:
mount /dev/ cdrom /mnt
mount /dev/sdb1 /opt
挂载已下载到系统中的镜像文件举例:
mount -o loop Cent0S-7-x86_ 64-DVD-1708.iso /media
挂载之前用的是根目录的磁盘分区,挂载之后用的是新建的磁盘分区,换了目录,所以文件看不到了,但依旧存在
1.2 实例操作1(挂载新建分区(文件系统)
1.3 实例操作2(挂载IOS镜像文件)
2、卸载文件系统——umount命令
2.1、格式
卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
在当前目录下:
umount [-lf] 存储设备或者挂载点目录
-l 表示解除正在繁忙的文件系统
-f 表示强制
umount 存储设备位置
umount 挂载点目录
2.2、实例操作
六、设置文件系统的自动挂载
1、/etc/fstab 文件
系统中的/etc/fstab 文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统,默认的fstab文件中包括了根分区、/boot分区、交换分区及proc、tmpfs等伪文件系统的挂载配置。
2、格式
/etc/fstab
/etc/selinux/targeted/active/modules/100/fstools
vim /etc/fstab
/dev/sdb1 /opt xfs defaults 0 0 #自动挂载文件
/dev/sr0 /mnt iso9660 defaults 0 0 #自动挂载光盘
3、实例操作(设置文件的自动挂载)
3.1 fstab 添加字段分析
第1字段: 设备名或设备卷标名
第2字段: 文件系统的挂载点目录的位置
第3字段: 文件系统类型,如xfs、 swap等
第4字段: 挂载参数,即mount命 令“-o”选项后可使用的参数。例如,defaults (默认参数)、rw (可读写)、ro (只读)、noexec (禁用执行程序)
第5字段: 表示文件系统是否需要dump备份(dump 是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略
第6字段: 该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设为2.
七、创建交换文件系统 mkswap
1、mkswap命令
make swap,创建交换文件系统
mkswap 分区设备
2、 创建交换文件系统
创建swap之前,目标分区应先通过fdisk工具将分区类型ID号设为82
mkswap /dev/ sdb1 #命令mkswap对交换分区进行格式化
swapon /dev/ sdb1 #启用新增加的交换分区
swapoff /dev/ sdb1 #停用指定的交换分区
Swapon -S #查看每个分区的swap状态信息
free -m # 查看总的swap状态信息
补充:Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换
3、实例操作(创建swap文件系统)
3.1 先通过fdisk工具将分区类型ID号设为82
3.2 格式化swap 启用新增交换分区