Linux磁盘管理与文件系统

引言

磁盘和文件系统的管理是运维人员的重要工作内容之一,本文对磁盘和文件系统的一些概念和命令做了详细解释。

一、磁盘基础

1、磁盘结构

  • 硬盘的物理结构

    • 盘片:硬盘有多个盘片,每盘片2面
    • 磁头:每面一个磁头
  • 硬盘的数据结构

    • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
    • 磁道:同一盘片不同半径的同心圆
    • 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
  • 硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数

  • 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

  • 磁头接口类型

    • IDE、SATA、SCSI、SAS、光纤通道

2、MBR与磁盘分区表示

- 主引导记录(MBR:Master Boot Record)
- MBR位于硬盘第一个物理扇区处
- MBR中包含硬盘的主引导程序和硬盘分区表
- 分区表有4个分区记录区,每个分区记录区占16个字节
- Linux中将硬盘、分区等设备均表示为文件
在这里插入图片描述

二、磁盘分区

1、磁盘分区结构

  • 硬盘中的主分区数目只有4个
  • 主分区和扩展分区的序号限制在1~4,其中1-3是主分区,4是扩展分区
  • 扩展分区再分为逻辑分区
  • 逻辑分区的序号将始终从5开始

在这里插入图片描述

2、文件类型系统

  • XFS文件系统
    - 存放文件和目录数据的分区
    - 高性能的日志型文件系统
    - CentOS7系统中默认使用的文件系统(可进行数据恢复)
  • SWAP,交换文件系统
    - SWAP,交换文件系统
  • linux支持的其它文件系统类型
    - FAT16、FAT32、NTFS
    - EXT4、JFS

主启动记录(MBR)磁盘分区
MBR是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。
主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩"展分区里面分多个逻辑分区)。

XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万T字节的存储空间。由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复。

SWAP:交换文件系统,用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的1.5~2倍。例如,对于拥有512MB物理内存的主机,其交换分区的大小建议设置为1024MB。如果服务器的物理内存足够大(加8GB以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。

EXT4:第4代扩展文件系统,用于存放文件和目录数据的分区,是Linux系统中默认使用的文件系统(Centos7默认使用XFS)。EXT4是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。

三、检查并确认新硬盘

1、fdisk命令(最大支持2.2T)

fdisk -l [磁盘设备]         查看硬盘的整体情况和分区情况
或
fdisk [磁盘设备]

  • Device:分区的设备文件名称。
  • Boot:是否是引导分区。若是,则有""标识。
  • Start:该分区在硬盘中的起始位置(柱面数)
  • End:该分区在硬盘中的结束位置(柱面数)。
  • Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节
  • Id:分区对应的系统ID号。83表示Linux中的XFS 分区或EXT4分区、8e表示LVM逻辑卷。LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制。
  • System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在Linux
    操作系统中,分区和格式化的过程是相对独立的

交互模式中的常用指令

Command (m for help) : m                    #输入m指令
  
    d                     #删除一个分区
    l                     #显示己知的分区类型,其中82为Linux swap分区,83为Linux分区
    m                     #最示帮助菜单I
    n                     #增加一个新的分区
    p                     #显示磁盘当前的分区表
    q                     #退出fdisk程序,不保存任何修改
    s                     #创建一个新的空白的sun磁盘标签
    t                     #改变一个分区的系统号码
    u                     #改变显示记录单位
    v                     #对磁盘分区表进行验证
    w                     #保存修改结果并退出fdisk程序复制
    a                     #设置可引导标记
    b                     #修改bsd的磁盘标签
    c                     #设置DOS操作系统兼容标记
    o                     #创建一个新的空白的Dos分区表
    x                     #特殊功能,不建议初学者使用

示例:
在这里插入图片描述

2、df命令

df [选项] [文件]

df命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计

常用指令:

-T:显示文件系统类型。
-h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-s:对每个Names参数只给出占用的数据块总数。

示例:
在这里插入图片描述
在这里插入图片描述

3、lsblk命令

lsblk以树形查看磁盘分区
在这里插入图片描述

4、blkid命令

blkid 查看磁盘的UUID(唯一)

  • blkid /dev/sdb1 //查看磁盘分区的UUID

示例:
在这里插入图片描述

四、创建文件系统mkfs

mkfs命令:Make Filesystem,创建文件系统(格式化)

mkfs -t 文件系统类型 分区设备
或
mkfs.xfs 分区设备

示例:
在这里插入图片描述

五、挂载、卸载文件系统

1、挂载mount

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

​
mount   [ -t类型]   存储设备   挂载点目录  
#用于指定文件系统类型,通常可以省略,由系统自动识别

mount -o loop iso镜像文件 挂载点目录
 #挂载参数列表,以英文逗号分隔:如用来描述特殊设备,用loop指定
 loop:用来把一个文件当成硬盘分区挂接上系统
​

示例:
在这里插入图片描述

2、umount命令

umount命令:卸载已挂载的文件系统

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

示例:
在这里插入图片描述

3、永久挂载

在**/etc/fstab**文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。

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

示例:
输入vim /etc/fstab进入编辑器,添加相应的挂载配置,可以实现开机后自动挂载指定的分区。

如图,给ky18和ky19创建永久挂载,ky18挂载sdb2,ky19挂载sdb1
在这里插入图片描述
在这里插入图片描述

六、gdisk命令

gdisk 磁盘分区工具

  • gdisk主要是用来划分容量大于2T的硬盘,大于2T fdisk搞不定两种类型的分区表:GPT和MBR
  • MBR不支持4T以上
  • GPT分区:GPT,全局唯一标识分区表(GUIDPartition Table),它使用128位GUID来唯一标识每个磁盘和分区,与MBR存在单一故障点不同,GPT提供分区表信息的冗余,一个在磁盘头部一个在磁盘尾部;它通过CRC校验和来检测GPT头和分区表中的错误与损坏;默认一个硬盘支持128个分区

gdisk命令交互模式中的指令


b   将GPT数据备份到一个文件
c   更改分区名称
d   删除一个分区
i   显示分区详细信息
l   列出已知分区类型。此处8200是Linux swap,8300是Linuxfilesystem (对应fdisk的82和83)。还有一个8e00是Linux LVM
n   增加一个新的分区
o   创建一个新的空白的GPT分区表p显示当前磁盘的分区表
g   退出gdisk程序,不保存任何修改r恢复和转换选项(仅限专家)
s   排序分区
t   改变分区的类型v验证磁盘分区表
w   将分区表写入裁判并退出(保存并退出)
x   额外功能(仅限专家)
?   显示帮助信息


七、总结

  • 管理磁盘和分区
  • 创建文件系统
  • 挂载、卸载文件系统
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雪一更ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值