博客
关于我
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/

    你可能感兴趣的文章
    Python到底能做什么?它的优点在哪?
    查看>>
    python利用pytorch库导出图像分割算子
    查看>>
    python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
    查看>>
    python利用excel分析过杀漏失
    查看>>
    python判断汉字数目
    查看>>
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>