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