Linux磁盘与文件系统管理

壹、磁盘结构

  • 磁盘的物理结构
    • 盘片:硬盘有多个盘片,没盘片2面
    • 磁头:每面一个磁头
  • 磁盘的数据结构
    • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
    • 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
    • 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

磁盘结构.png

  • [ ] 硬盘的存储容量

  • 硬盘存储容量=磁头数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位于硬盘第一个物理扇区(512)处
  • MBR中包含硬盘的主引导程序硬盘分区表
  • 分区表有4个分区记录区,每个分区记录区占16个字节
  • Linux中将硬盘分区等设备均表示为文件

#硬件设备文件所在的目录/dev/hda5

其中 hd 表示IDE设备;

sd 表示SCSI设备;

a表示硬盘顺序号以字母表示#a,b,c...;

5表示分区的顺序号以数字表示#主分区为1~4,逻辑分区则以5开始)

位置dev.png

磁盘分区结构

硬盘中的主分区数目只有4个

主分区扩展分区的序号限制在1~4

扩展分区再分为逻辑分区

逻辑分区的序号将始终从5开始

叁、文件系统类型

  • [ ] XFS文件系统

  • 存放文件和目录数据的分区

  • 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万 TB的存储空间

  • CentOS 7系统中默认使用的文件系统

  • [ ] SWAP,交换文件系统

  • 为Linux系统建立交换分区

  • 一般设置为物理内存的1.5~2倍

  • [ ] Linux支持的其他文件系统类型

  • EXT4 FAT32 NTFS LVM

肆、检测并确认新硬盘fdisk命令

查看或管理磁盘分区

fdisk -l 磁盘分区
或
fdisk 磁盘分区
fdisk /dev/sdb#管理磁盘分区

查看磁盘.png


交互模式中的常用指令 说明
m 获取帮助菜单
n 新建分区
p 查看分区的情况
d 删除分区
t 变更分区的类型
w 保存分区的类型
q 不保存分区操作并退出

创建分区步骤

n

p 主分区、e 扩展分区

设置分区:1(主分区范围1-4,逻辑分区从5开始)

设置柱面序列:直接回车键接受默认值

设置分区大小:+20G(此处指定大小为20G,若按回车则接收默认值表示所有空间)

w(保存分区并退出)

变更磁盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统成启一次,或者执行"partproe"而令便操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。

伍、创建文件系统mkfs命令

1、创建文件系统(格式化):mkfs

mkfs -t 文件系统类型 分区设备
mkfs.文件系统类型 分区设备
例:
mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1

2、创建文件系统:mkswap

mkswap 分区设备

创建交换文件系统具体操作

创建swap之前,目标分区应先通过fdisk工具将分区类型ID号设为 82
fdisk /dev/sdb
-->t
    -->3(分区号)
        -->82(设置类型为swap)
mkswap /dev/sdb3  
swapon /dev/sdb3  #启用新增加的交换分区
swapoff /dev/sdb3 #停止指定的交换分区
swapon -s         #查看每个分区的swap状态
free -m           #查看总的swap状态信息

陆、挂载、卸载文件系统mount命令

1、挂载文件系统、ISO镜像到指定文件夹

mount [-t 类型] 存储设备 挂载点目录
mount -o loop IOS镜像文件 挂载点目录

-t:用于指定文件的系统类型,通常可以省略,由系统自动识别

-o:挂载参数列表,以英文逗号分隔,如用来描述特殊设备,用loop指定

2、挂载已挂载的文件系统

umount 存储设备位置
umount 挂载点目录

#卸载前,挂载的设备或目录没有被使用要先退出挂载

3、查看磁盘的使用情况

  • 直接 mount 命令
  • df [选项]
    • -h:显示分区的容量单位
    • -T:显示文件系统的类型
    • -i:显示分区的indoe号数量

柒、设置文件系统的自动挂载

Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统

1、进入文件系统中

vim /etc/fstab

2、进入后进行设置挂载

设置文件系统的自动挂载.png

字段 介绍
字段1 分区名或设备卷标名
字段2 文件系统的挂载点目录的位置
字段3 文件系统类型,如xfs、swap等
字段4 挂载参数,即mount命令"-o"选项后可使用的参数。例如,defaults (默认参数) 、rw (可读写) 、ro (只读) 、noexec (禁用执行程序)
字段5 表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略
字段6 该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2

3、查询

blkid    #查看设备UUID
mount -a #能够实现自动查找/etc/fstab里面的信息,并且重新挂载一遍
init 6   #重启
df -h    #查看有没有成功

#若出现无法解挂现象

fuser -mv /data
或
lsof +d /data
或
umount -lf /data#-lf #强制解挂,有安全隐患