Linux磁盘管理与文件系统
磁盘结构
硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
硬盘存储容量
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
定位磁盘区域
用柱面/磁头/扇区来唯一定位磁盘上每一个区域
用 fdisk -l 查看分区信息
磁盘接口类型
IDE、SATA、SCSI、SAS、光纤通道
接口类型概述
IDE | 并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代 |
---|---|
SATA | 抗干扰性强,支持热插拔等功能,速度快,纠错能力强 |
SCSI | 小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等 |
– | – |
SAS | 是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s |
MBR与磁盘分区表示
MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前466字节是主引导记录,分区表保存在MBR扇区中的第477-510字节中。分区表有4个分区记录区,每个分区记录区占16字节
主引导记录(MBR:Master Boot Record)
主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区)
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
Linux中将硬盘、分区等设备均表示为文件
以**/dev/hda5**为例
其中,dev表示硬件设备文件所在的目录
hd表示IDE设备,还有一种sd表示SCSI设备
a是硬盘的顺序号,以字母a、b、c……表示
5是分区的顺序号,以数字1、2、3……表示。主分区从1-4,第一个逻辑分区始终从5开始。
磁盘分区结构
硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1~4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
文件系统类型
XFS-文件系统
存放文件和目录数据的分区
高性能的日志型文件系统
CentOS 7系统中默认使用的文件系统
SWAP-交换文件系统
为 Linux 系统建立交换分区
Linux支持的其它文件系统类型
EXT3、EXT4、FAT32、NTFS、LVM
检测并确认新硬盘
fdisk命令
查看磁盘分区
fdisk -l [磁盘设备]
分区磁盘信息中的七个字段
Device | 分区的设备文件名称 |
---|---|
Boot | 是否是引导分区。若是,则有“*”标识 |
Start | 该分区在硬盘中的起始位置(柱面数) |
End | 该分区在硬盘中的结束位置(柱面数) |
Blocks | 分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节 |
ID | 分区对应的系统 ID 号;例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷 |
System | 分区类型 |
管理磁盘分区
fdisk [磁盘设备]
例:fdisk /dev/sdb
交互模式中的常用指令
m | 获取帮助菜单 |
---|---|
n | 新建分区 |
p | 查看分区情况 |
d | 删除分区 |
t | 变更分区的类型 |
w | 保存分区操作并退出 |
q | 不保存分区操作并退出 |
创建分区的步骤
n
–>p 主分区、 e 扩展分区 、 l 逻辑分区
–>设置分区:1 (主分区范围1-4,逻辑分区从5开始)
–>设置柱面序列:直接回车键接受默认值
–>设置分区大小:+20G (此处指定大小为20G,若按回车则接收默认值表示所有空间)
–>w(保存分区并退出)
备注
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行“partprobe”命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据
创建文件系统
创建文件系统的过程即格式化分区的过程
mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1
mkfs命令
Make Filesystem,创建文件系统(格式化)
命令:
mkfs -t 文件系统类型 分区设备
命令示例
[root@localhost ~]# ls /sbin/mkfs*
/sbin/mkfs /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.minix
/sbin/mkfs.btrfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.xfs
[root@localhost ~]# mkfs -t xfs /dev/sdb1
mkswap命令
make swap,创建交换文件系统
命令:
mkswap 分区设备
命令示例
[root@localhost ~]# mkswap /dev/sdb5
[root@localhost ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 8257532 kB
[root@localhost ~]# swapon /dev/sdb5
[root@localhost ~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 10354680 kB
[root@localhost ~]# swapoff /dev/sdb5
创建交换分区之前,目标分区应先通过 fdisk 工具将分区类型号设置为 82
fdisk /dev/sdb
--->t
--->5(分区号)
--->82(设置类型为swap)
mkswap /dev/sdb5
swapon /dev/sdb5 #启用新增加的交换分区
swapoff /dev/sdb5 #停用指定的交换分区
swapon -s #查看每个分区的swap状态
free -m #查看总的swap状态信息
挂载、卸载文件系统
mount命令
挂载文件系统、ISO镜像到指定文件夹
命令:
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
-t:用于指定文件系统类型,通常可以省略,由系统自动识别
-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定
umount命令
卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录
命令:
umount [-lf] 存储设备目录或者挂载点目录
umount 存储设备位置
umount 挂载点目录
-l 表示解除正在繁忙的文件系统
-f 表示强制
可加入参数 -lf ,表示强制卸载
挂载、卸载文件系统操作
1.硬盘分区挂载、卸载
2.光盘设备挂载、卸载
3.ISO镜像文件挂载示例
4.卸载文件系统
查看磁盘使用情况
1.直接 mount 命令
2. df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量
设置文件系统的自动挂载
/etc/fstab配置文件
包含需要开机后自动挂载的文件系统记录
Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统
命令示例
vim /etc/fstab
/dev/sdb1 /opt xfs defaults 0 0
/dev/sr0 /mnt iso9660 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 |