博客
关于我
Linux磁盘与文件系统管理-- 天苍苍,野茫茫,还有谁没上床
阅读量:125 次
发布时间:2019-02-26

本文共 1856 字,大约阅读时间需要 6 分钟。

Linux磁盘与文件系统管理

磁盘基础

硬盘的物理结构

  • 盘片:硬盘由多个磁盘组成,每个盘面有两面。
  • 磁头:每面有一个磁头用于读写数据。
  • 硬盘的数据结构

  • 扇区:盘片被分为多个扇区,每个扇区存储512字节数据,是硬盘的最小存储单位。
  • 磁盘:同一盘片中,不同半径的同心圆是磁头在盘片表面划出的圆形轨迹。
  • 柱面:不同盘片相同半径构成的圆柱面,由同一磁道组成。
  • 硬盘存储容量=磁头数×磁道(柱面)数×每道扇区大小(512字节)。
  • 磁盘上的每个区域可以通过柱面、磁头、扇区唯一确定。
  • 磁盘接口类型:
    • IDE:传统的接口,抗干扰性差,已被SATA取代。
    • SATA:支持热插拔,速度快,抗干扰性强。
    • SCSI:常用于工作站和服务器,支持热插拔,转速快。
    • SAS:新一代SCSI技术,速度更快,达到6G/s。

  • MBR与磁盘分区表示

    主引导记录(MBR)

  • MBR位于第一块硬盘(/dev/sda)的第一个物理扇区。
  • MBR共512字节,其中包含硬盘的主引导程序和分区表。
  • 分区表占用了MBR扇区中的第447~510字节,分为4个分区记录区,每个记录区16字节。
  • Linux将硬盘和分区表示为文件。
  • 磁盘分区表示

    • 设备名称:如/dev/sda表示SCSI设备,/dev/sda1表示第一个主分区。
    • 分区顺序号:以字母a、b、c…表示盘片,以数字1、2、3…表示分区。
    • 主分区数目最多为4个,扩展分区支持逻辑分区。

    文件系统类型

    XFS文件系统

  • XFS是一个高性能的日志型文件系统,适合处理大文件,支持上百万TB存储。
  • CentOS7默认使用XFS文件系统。
  • 交换文件系统(SWAP)

  • 用于为Linux系统提供额外的内存,通常设置为物理内存的1.5~2倍。
  • 在创建交换分区前,需将分区类型ID设置为82。
  • 其他文件系统类型

    • EXT4/3:传统的Linux文件系统,稳定且兼容性强。
    • FAT32:支持多种操作系统的文件系统。
    • NTFS:支持Windows文件系统,读写能力强。
    • LVM:逻辑卷管理,支持动态调整存储空间。

    磁盘管理

    fdisk命令

    查看或管理磁盘分区

    • fdisk -l /dev/sdb:查看指定磁盘的分区情况。
    • fdisk /dev/sdb:进入交互模式,支持以下命令:
      • -m:帮助菜单。
      • -p:查看分区情况。
      • -n:新建分区。
      • -d:删除分区。
      • -t:变更分区类型。
      • -w:保存并退出。
      • -q:不保存退出。

    创建新分区

  • 进入磁盘文件:fdisk /dev/sdb
  • 输入命令:n(新建分区)。
    • p:创建主分区。
    • e:创建扩展分区。
    • l:创建逻辑分区。
  • 设置分区:输入范围(1-4)。
  • 设置分区大小:如+20G,表示20GB。
  • 保存并退出:w

  • 创建文件系统与交换文件系统

    mkfs命令

    • 创建文件系统:mkfs -t 文件系统类型 分区设备
    • 示例:mkfs -t xfs /dev/sdb
    • 格式化后需挂载:mkdir /data && mount /dev/sdb1 /data

    mkswap命令

  • 创建交换分区:mkswap /dev/sdb2
  • 设置分区类型:fdisk /dev/sdb -t 82 /dev/sdb2
  • 启动交换分区:swapon /dev/sdb2
  • 停用交换分区:swapoff /dev/sdb2

  • 挂载与卸载文件系统

    mount命令

    • 挂载文件系统:mount -t 文件类型 选项
    • 挂载ISO镜像:mount -o loop /path.iso /mnt/iso
    • 卸载文件系统:umount /dev/sdb1

    查看磁盘挂载情况

    • mount命令:查看已挂载的文件系统。
    • df -hT:查看文件系统类型和容量。
    • blkid:显示设备的UUID和文件系统类型。

    设置文件系统的自动挂载

  • 配置/etc/fstab:添加自动挂载记录。

    • 第一列:分区名或设备卷标名。
    • 第二列:挂载点目录。
    • 第三列:文件系统类型(如xfs、swap)。
    • 第四列:挂载参数(如-o rw)。
    • 第五列:是否需要dump备份(0或1)。
    • 第六列:磁盘检查顺序(0或1或2)。
  • 示例/etc/fstab格式:

    UUID=1234 /data xfs defaults 0 1
  • 启动时自动挂载:/etc/rc.local中添加mount -a


  • 提问解答

    问题:在挂载文件系统的目录中创建文件,卸载后是否还存在?

    答案:不同文件系统中的文件名可能显示相同内容,但文件系统内部逻辑不同,实际文件存在与否需具体情况分析。

    转载地址:http://xulk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现minimum cut最小切割流算法(附完整源码)
    查看>>
    Objective-C实现minimum partition最小分区算法(附完整源码)
    查看>>
    Objective-C实现Minimum Priority Queu最小优先级队列算法(附完整源码)
    查看>>
    Objective-C实现Minimum Vertex Cover最小顶点覆盖算法(附完整源码)
    查看>>
    Objective-C实现MinimumCostPath最小成本路径算法(附完整源码)
    查看>>
    Objective-C实现min_heap最小堆算法(附完整源码)
    查看>>
    Objective-C实现mobius function莫比乌斯函数算法(附完整源码)
    查看>>
    Objective-C实现modular Binary Exponentiation模二进制指数算法 (附完整源码)
    查看>>
    Objective-C实现modular exponential模指数算法(附完整源码)
    查看>>
    Objective-C实现monte carlo dice蒙特卡洛骰子模拟算法(附完整源码)
    查看>>
    Objective-C实现monte carlo蒙特卡罗算法(附完整源码)
    查看>>
    Objective-C实现Mosaic Augmentation马赛克增强算法(附完整源码)
    查看>>
    Objective-C实现msd 基数排序算法(附完整源码)
    查看>>
    Objective-C实现MSRCR算法(附完整源码)
    查看>>
    Objective-C实现multi level feedback queue多级反馈队列算法(附完整源码)
    查看>>
    Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
    查看>>
    Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
    查看>>
    Objective-C实现n body simulationn体模拟算法(附完整源码)
    查看>>
    Objective-C实现naive string search字符串搜索算法(附完整源码)
    查看>>
    Objective-C实现natural sort自然排序算法(附完整源码)
    查看>>