Linux ---- 磁盘管理与文件系统
一、磁盘的概述
什么是磁盘
-
磁盘最主要的用途就是保存电脑里的数据。
计算机的存储器有两类,一类是内部存储器,一断电就会把记住的东西丢失,一类是外部存储器,断了电也能存入数据。 -
内部存储器,主要为内存:存储信息速度快,断电后存储内容全部丢失。
-
外部存储器,主要是磁盘,它所存储的信息不受断电的影响,但是它的速度相对于内存就慢得多了。
-
磁盘又分为两类,一类是硬盘,一类是软盘。
磁盘的结构
数据结构
- 扇区:盘片被分为多个扇形区域,每个扇形区存放512字节的数据
- 磁道:同一盘片不同半径的圆心面
- 柱面:不同盘片相同半径构成的圆柱面
物理结构
- 盘片:硬盘有多个盘片,每盘片2面
- 磁头:每面一个磁头
存储容量
- 计算方式为:
硬盘存储容量=磁头数*磁道(柱面)数 * 每道扇形区数 * 每扇区字节数 - 可以用命令 “fdisk -l” 查看分区信息
硬盘的接口的种类
- ATA :并线数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利于电脑内部散热,以逐渐被SATA所取代
- SATA :抗干扰性强,支持热插拔等功能,速度快纠错能力强
- SCSI :小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
- SAS :是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达6Gb/s。
二、MBR与磁盘分区表示
MBR概述
- MBR是主引导记录(Master Boot Record),位于硬盘第一个物理扇区处(引导扇区),MBR中包含硬盘的主引导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节。
磁盘分区表示
- 常见的硬盘可以划分为主分区,扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区,主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。
- Linux系统中,将硬盘和分区分别表示为不同的文件,表现形式如下:
磁盘分区结构
- 磁盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区只能再分为逻辑分区(不可以直接写入数据)
- 逻辑分区的序号将始终从5开始
如下图所示:
三、文件系统类型
- 文件系统(File System)类型决定了向分区中存放,读取文件数据的方式和效率,在对分区进行格式化的时候需要选择所用的文件系统类型
- Linux系统还广泛支持其他各种类型的文件系统,如:JFS、FAT16、FAT32、NTFS。JFS文件系统多用于商业版的UNIX操作系统中
SWAP 交换文件系统
- 用于为Linux系统建立交换分区
- 交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。
- 一般建议将交换分区的大小设置为物理内存的1.5~2倍
- 如果物理内存足够大(8G以上),也可以不设置交换分区,交换分区不用于直接存储用户的文件和目录等数据
XFS 日志文件系统
- 是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万T字节的存储空间
- 由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复
EXT4 第4代扩展文件系统
- 用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统。
- 它是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。
四、管理磁盘及分区
- 在Linux服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间
- fdisk 命令为磁盘及分区管理工具
管理命令
- fdisk -l 命令可以查看、确认新增硬盘的设备名称和位置;作用为列出当前系统中所有硬盘设备及其分区信息
磁盘整体信息:
Device :分区的设备文件名称
Boot :是否是引导分区;是,则有“*”号标识
start :该分区在硬盘中的起始位置(柱面数)
end :该分区在硬盘中的结束位置(柱面数)
blocks :分区的大小;以块为单位,默认块大小为1024字节
id :分区对应的系统id号;83表示linux中的EXT4分区,8e 表示LVM逻辑卷
system :分区类型
- fdisk [硬盘名] —— 在硬盘设备中创建、删除、更改分区等操作
fdisk /dev/sdb 进入交互式的分区管理界面
常用指令
p 列出硬盘中的分区情况,信息显示的格式与执行"fdisk -l"命令相同
n 创建新分区
d 删除分区
t 变更分区类型,转换格式
w 保持配置
q 退出
l 查看分区对应的系统ID号
创建文件系统
- 创建文件系统的过程也是格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化XFS , EXT4 ,FAT等不同类型的分区,而使用mkswap命令可以格式化Swap交换分区。
- mkfs 命令 —— 格式化分区
语法格式1:
mkfs -t 文件系统类型 分区设备
示例:创建EXT4文件类型
mkfs -t ext4 /dev/sdb1
语法格式2:
mkfs -t 文件系统类型 -F 指定版本 分区设备
示例:创建FAT32文件类型
mkfs -t vfat -F 32 /dev/sdb6
mkfs.vfat -F 32 /dev/sdb6
语法格式3:
mkfs.文件类型 (指定版本号) 分区设备
(centos6 默认使用EXT4文件系统,centos7 默认使用xfs文件系统,文件系统的选择是根据实际的生产环境和硬盘类型等条件来决定的)
如果是数据库业务,则选择 xfs 类型的文件系统
如果有大量小文件的业务,一般首选 reiserFS 的文件系统
常规应用选择默认的文件系统即可
示例:
mkfs.xfs /dev/卷组名/逻辑卷名
- 在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况
- 使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82
- mkswap —— 在指定的分区上创建交换文件系统
语法格式:
mkswap 分区设备
cat /proc/meminfo | grep "SwapTotal:" ###查看总交换空间大小
swapon /dev/sdb1 ###开启交换分区/dev/sdb1
cat /proc/meminfo | grep "SwapTotal" ###确认交换空间大小已增加
swapoff /dev/sdb1 ###关闭交换分区/dev/sdb1
挂载、卸载文件系统
- mount —— 挂载、查看命令
语法格式:
mount [-t 文件系统类型] 存储设备挂载点
示例:
mount /dev/cdrom /media/cdrom
mount ###不带任何参数选项
将显示出当前系统中已挂载的各个分区(文件系统)的相关信息,最近挂载的文件系统将显示在最后面
- umount —— 卸载挂载点
语法格式:
umount 挂载目录、设备
示例:
umount /dev/cdrom
- 设置自动挂载
vi /etc/fstab
在“/etc/fstab”文件中,每一行记录对应一个分区或设备的挂载配置信息,从左往右,6个字段含义如下所示:
第一个字段:分区/设备名/设备卷标名
第二个字段:挂载点,文件系统的挂载点目录的位置
第三个字段:文件系统类型,如xfs,Swap等
第四个字段:挂载参数(包括权限和功能),即mount命令“-o”选项后可使用的参数。例如:default,rw,ro,noexec分别表示默认参数,可写,只读,禁用执行程序。
第五个字段:表示文件系统是否需要dump备份(dump是一个备份工具),设为1时表示需要,设为0时将被dump忽略
第六个字段:该字段用于决定系统启动时进行磁盘检查的顺序。0:不进行检查。1:优先检查。2:其次检查、对于根分区应设为1,其他分区设为2.
- df -Th —— 查看磁盘挂载情况
- df命令使用文件或者设备作为命令参数,较常用的选项为“-h”"-T"。其中,“-h”选项可以显示更容易读的容量单位,而“-T”选项用于显示对应文件系统的类型
-———————————————————————————————————
到此结束,感谢浏览