第五章 磁盘管理与文件系统
一、磁盘结构
1.硬盘的物理结构
- 盘片:应爬满有多个盘片,每盘片2面
- 磁头:每面一个磁头
2.硬盘的数据结构
- 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,为硬盘的最小存储单位。
- 磁道:同一个盘片不同半径的同心圆
- 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。
硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
3.磁盘接口类型
IDE
IDE本意是指把控制器与盘体集成在一起的硬盘驱动器,IDE是表示硬盘的传输接口。我们常说的IDE接口,也叫ATA、PATA接口,现在PC机使用的硬盘大多数都是IDE兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。
SATA
SATA即串行ATA。它是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输,由于采用串行方式传输数据而得名,还具有结构简单、支持热插拔的优点
SCSI
是一种用于计算机及其周边设备之间系统级接口的独立处理器标准。
光纤通道
光纤通道和SCSI接口一样,光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等。
二.MBR与磁盘分区表示
1.主引导记录(MBR)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16个字节
2.Linux中将硬盘、分区等设备均表示为文件
三.磁盘分区
1.磁盘分区结构
- 硬盘中的主分区数目只有4个
- 主分区和扩展分区的序号限制在1~4
- 扩展分区再分为逻辑分区
- 逻辑分区的序号将始终从5开始
2.文件系统类型
XFS文件系统
- 存放文件和目录数据的分区
- 高性能的日志型文件系统
- CentOS7系统中默认使用的文件系统(可进行数据恢复)
SWAP,交换文件系统
- 为 Linux 系统建立交换分区
Linux支持的其它文件系统类型
- FAT16、FAT32、NTFS
- EXT4、JFS
四.挂载、卸载mount命令
在linux中所有的存储设备都需要挂载才可以使用
挂载设备、ISO镜像到指定空目录
mount [ -t 类型 ] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
卸载已挂载的设备umount命令
umount 存储设备或挂载点目录
直接使用mount命令,可以看到系统中挂载过的信息(有很多干扰项)
挂载光盘
挂载时报错,请检查是否插入光盘、是否已连接
卸载umount命令
挂载U盘
U盘会和硬盘共用设备文件名,所以U盘的设备文件名不是固定的,需要提前查询:
fdisk -l
挂载时还要注意U盘的文件系统类型
mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
# vfat代表FAT32格式
# iocharset=utf8 指定字符集为 UTF-8,避免中文乱码
如果虚拟机中获取不到U盘
检查服务: VMware USB Arbitration Service
输入命令:fdisk -l
挂载U盘,中文默认是乱码的(此U盘是FAT32文件系统的)
先卸载,再重新挂载,挂载时指定字符集utf8
挂载U盘(此U盘是NTFS文件系统的)
NTFS文件系统挂载失败
解决方法,安装:fuse-ntfs-3g
(http://www.rpmfind.net/)
挂载U盘(此U盘是NTFS文件系统的)
不用 -t 指定文件系统类型,linux自动识别
五.检测并确认新硬盘
#查看或管理磁盘分区
fdisk [参数选项] 磁盘设备
-l: 列出素所有分区表
-u 与 -l 搭配使用:显示分区数目
-s:指定分区
-v: 版本信息
或
fdisk [磁盘设备]
交互模式中的常用指令
m #显示帮助菜单
p #显示磁盘当前的分区表
n #增加一个新的分区
d #删除一个分区
t #改变一个分区的系统号码
w #保存修改结果并退出fdisk程序
q #退出fdisk程序,不保存任何修改
fdisk指令说明
Command (m for help): m #输入m指令
a toggle a bootable flag #设置可引导标记
b edit bsd disklabel #修改bsd的磁盘标签
c toggle the dos compatibility flag #设置DOS操作系统兼容标记
d delete a partition #删除一个分区
l list known partition types #显示已知的分区类型,其中82为 Linux swap分区,83为Linux分区
m print this menu #显示帮助菜单
n add a new partition #增加一个新的分区
o create a new empty DOS partition table #创建一个新的空白的DOS分区表
p print the partition table #显示磁盘当前的分区表
q quit without saving changes #退出fdisk程序,不保存任何修改
s create a new empty Sun disklabel #创建一个新的空白的Sun磁盘标签
t change a partition's system id #改变一个分区的系统号码
u change display/entry units #改变显示记录单位
v verify the partition table #对磁盘分区表进行验证
w write table to disk and exit #保存修改结果并退出fdisk程序
x extra functionality (experts only) #特殊功能,不建议初学者使用
示例
在vm中添加新的硬盘
给磁盘进行分区
fdisk-扩展分区
fdisk-逻辑分区
六.创建文件系统
mkfs命令
make file system,创建文件系统(格式化)
mkfs -t 文件系统类型 分区设备
#用来格式化系统分区
#也可以通过不带参数的方式来分区,代码如下:
mkfs.xfs 文件系统类型 分区设备
###########一般分区设备文件都存放在/sbin/目录下
格式化文件系统
查看磁盘使用情况
挂载分区
设置自动挂载
/etc/fstab配置文件
包含需要开机后自动挂载的文件系统记录
查看UUID
#blkid命令
blkid /dev/sdb1
目录:/dev/disk/by-uuid/
命令:blkid
补充命令:lsblk -f
七.查看磁盘使用情况df命令
df [选项] [文件]