Linux磁盘管理与文件系统
一、磁盘结构
- 硬盘的物理结构
盘头:硬盘有多个盘片,每盘片两面
磁头:每面一个磁头
- 硬盘的数据结构
-
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,是硬盘的最小存储单位
-
磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
-
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
-
硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)
-
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
-
磁盘接口类型:IDE、SATA、SCSI、SAS、光纤通道
- IDE——并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
- SATA——抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
- SCSI——小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
- SAS——是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。
二、MBR与磁盘分区表示
- 主引导记录(MBR:Master Boot Record)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16字节。
- Linux中将硬盘、分区等设备均表示为文件
- MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-512字节中。
- 主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区
例:/dev/hda5
dev:硬件设备文件所在目录
hd:表示IDE/sd表示SCSI
a:表示磁盘顺序号,a就是第一块
5:表示分区号
三、磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号始终从5开始
四、文件系统类型
- XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
- CentOS 7系统中默认使用的文件系统
- SWAP,交换文件系统
- 为Linux系统建立交换分区
- 一般设置为物理内存的1.5~2倍
- Linux支持的其他文件系统类型
- EXT4、FAT32、NTFS、LVM
五、检查并确认新硬盘
- fdisk命令 查看磁盘分区
fdisk -l [磁盘设备]
设备:分区的设备文件名称。
Boot:是否是引导分区。若是,则有“*”标识。
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、82代表SWAP交换文件系统、8e表示LVM逻辑卷。
System:分区类型。
- fdisk [磁盘设备] 管理磁盘分区
例:fdisk /dev/sda
交互模式常用指令:
- m:获取帮助菜单
- n:新建分区
- p:查看分区情况
- d:删除分区
- t:变更分区的类型
- w:保存分区操作并退出
- q:不保存分区操作并退出
创建分区步骤:n→→p 主分区、e 扩展分区、 1 逻辑分区→→设置分区:1(Enter默认值)→→设置柱面序列:Enter默认→→设置分区大小:+20G (Enter默认表示所有空间)
(硬盘创建好记得格式化才能使用)
六、创建文件系统(格式化)
- mkfs 创建文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备 或 mkfs. (分区类型) 分区设备
例:mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1
- 进行挂载
mount
格式:mount /dev/sdb1 /date
(格式化之后挂载,磁盘才能正常使用)
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe+分区设备”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。
七、创建文件系统swap
- mkswap
格式:mkswap 分区设备——创建交换文件系统
创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82
例:fdisk /dev/sdb t 4 82
-m:代表用MB看
-g:代表用GB看
swapon 分区设备:启用设备
swapon -s:显示有几个swap分区
八、挂载、卸载文件系统
- 挂载:mount
格式:mount 【-t 类型】 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
- 卸载已挂载的文件系统:umount
格式:umount 存储设备位置
umount 挂载点目录
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
umount [-lf] 存储设备目录或者挂载点目录 强制卸载
- 查看磁盘挂载情况:mount + 分区设备 或者 用df + [选项]
选项 | 说明 |
---|---|
-h | 显示分区的容量单位 |
-T | 显示文件系统的类型 |
-i | 显示分区的inode号码数量 |
九、设置文件自动挂载
- /etc/fstab配置文件
/etc/fstab配置文件包含了开机后需要自动挂载的文件系统记录。
Linux 操作系统在每次开机时,会自动读取/etc/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 |