Linux—磁盘管理与文件系统

一、磁盘结构和分区表示

1.1 磁盘基础

硬盘(Hard Disk Driver),简称HDD,是计算机常用的存储设备之一。

1.1.1 硬盘的结构

Linux—磁盘管理与文件系统_第1张图片

(1)磁盘的物理结构

  • 盘片: 硬盘有多个盘片,每盘片2面
  • 磁头: 每面一个磁头

(2)磁盘的数据结构

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

(3)磁盘的存储容量
硬盘存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数 (512字节)

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

(5)怎么查看分区信息

Linux—磁盘管理与文件系统_第2张图片

1.1.2 硬盘的接口

硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI,接口速度不是实际硬盘传输速度。

Linux—磁盘管理与文件系统_第3张图片

1.2磁盘分区表示

1.2.1 MBR

MBR是主引导记录(Master Boot Record),位于硬盘第一个物理扇区处,MBR包含硬盘的主引导程序和硬盘分区表。分区有四个分区记录,每个分区记录区占16个字节。
MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-512字节中。

1.2.3 磁盘的分区表示

Linux中将磁盘、分区等设备均表示为文件;

  • sd:表示SCSI设备
  • hd:表示IDE设备
  • 硬盘的顺序号,以字母a、b、c…表示
  • 分区的顺序号,以数字1、2、3…表示
  • 主分区从1-4,第一个逻辑分区始终从5开始

Linux—磁盘管理与文件系统_第4张图片

二、Linux中使用的文件系统类型

文件系统类型决定了分区中存放、读取数据的方式和速率

2.1 XFS文件系统

  • 存放文件和目录数据的分区
  • 高性能的日志型文件系统,特别擅长处理大文件,可支持上百万TB的存储空间
  • CentOS系统中默认是用的文件系统

2.2 Swap交换文件系统

(相当于Windows系统下的虚拟内存 )

  • 为Linux系统建立交换分区
  • 一般设置为物理内存的1.5~2倍

2.3 EXT4 (第四代扩展文件系统)

  • 相当于存放目录和数据的分区
  • 典型的日志型文件系统

2.4 Linux支持的其他文件系统类型

  • EXT4(centos6)
  • FAT32(windows)
  • NTFS(windows)
  • LVM

二、管理磁盘及分区

2.1 查看或管理磁盘分区——fdisk

咱们添加了新的磁盘后,并不能通过 fdisk 命令查询到新加的磁盘,有两个办法:

  • 不重启的情况下识别磁盘:
    echo "- - - "> /sys/class/scsi_host/host0/scan
    echo "- - - "> /sys/class/scsi_host/host1/scan
    echo "- - - "> /sys/class/scsi_host/host2/scan
  • 重启命令: reboot / init 6

Linux—磁盘管理与文件系统_第5张图片

2.2 七个字段

Linux—磁盘管理与文件系统_第6张图片

Linux—磁盘管理与文件系统_第7张图片

2.3 管理磁盘分区——fdisk /dev/sdb

交互模式中的常用命令

指令 说明
n 获取帮助命令
p 查看分区
d 删除分区
t 变更分区的类型
w 保存分区操作的类型
q 不保存分区操作并退出

Linux—磁盘管理与文件系统_第8张图片

2.4 创建分区步骤

Linux—磁盘管理与文件系统_第9张图片

n
   >>p 主分区, e  扩展分区, l  逻辑分区
      >> 设置分区:1  (主分区范围1-4,逻辑分区从 5开始)
         >> 设置柱面序列:直接回车接收默认值
            >>设置分区大小: +20G  (此处自定义输入,若直接回车则是接收默认值表示所有空间)
              >>w (保存分区并退出)

内核资料直通车:Linux内核源码技术学习路线+视频教程代码资料

学习直通车:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈

四、创建文件系统

4.1 创建文件系统(格式化分区)——mkfs

分区设备一定要用绝对路径

Linux—磁盘管理与文件系统_第10张图片

4.2 创建交换文件系统——mkswap

swapon /dev/sdb2 //启用新增加的交换分区
swapoff /dev/sdb2 //停用指定的交换分区
swapon -s //查看每个分区的swap状态
free -m //查看总的swap状态信息

Linux—磁盘管理与文件系统_第11张图片

五、挂载、卸载文件系统

5.1 挂载文件系统,ISO镜像到指定文件——mount

eg:[root@localhost /]# mount /dev/sdb1 /data/

选项 说明
-t 用于指定文件的系统类型,通常可以省略,由系统自动识别
-o 挂载参数列表,以英文逗号分隔,如用来描述特殊设备,用loop指定

注意:
1.最好挂空文件,不然文件可能丢失
2.如果挂载目录下,你不能解挂载的
3.不能一个目录挂载多个设备

[root@localhost ~]# mkfs -t xfs /dev/sdb1
[root@localhost ~]# vim /etc/fstab
mount /dev/cdrom /mnt
mount /dev/sdb1 /opt

#挂载已下载到系统中的镜像文件
mount -o loop CentOS-7-x86_64-DVD-1708.iso /media

5.2 卸载已挂载的文件系统——umount

需要卸载文件系统时,使用的命令为umount,使用挂载点目录或对应设备的文件名作为卸载参数。Linux系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录来卸载。
注意:
1.卸载前提:挂载的设备或目录没有被正在使用中,要先退出挂载目录
2.加入参数 -lf ,表示强制卸载

[root@local /]# umount /dev/cdrom    //通过设备文件卸载光盘
[root@local /]# umount /mnt            //通过挂载点目录卸载对应的分区

5.3 查看磁盘挂载情况

选项 说明
-h 显示分区的容量单位
-T 显示文件系统的类型
-i 显示分区的inode号码数量

Linux—磁盘管理与文件系统_第12张图片

5.4 挂载、卸载文件系统操作

  • 硬盘分区挂载、卸载
  • 光盘设备挂载、卸载
  • ISO镜像文件挂载示例
  • 卸载文件系统

5.5 设置文件系统的自动挂载——/etc/fstab配置文件

vim /etc/fstab
/dev/sdb1     /opt    xfs         defaults      0    0
/dev/sr0      /mnt    iso9660     defaults      0    0

Linux—磁盘管理与文件系统_第13张图片

[root@localhost ~]# mkfs -t xfs /dev/sdb1
[root@localhost ~]# vim /etc/fstab //永久挂载

Linux—磁盘管理与文件系统_第14张图片

六个字段

Linux—磁盘管理与文件系统_第15张图片

【总结】(故障)

1.mount:/home/ky19 不包含 SELinux 标志

Linux—磁盘管理与文件系统_第16张图片

在刷新挂载的时候,通过“df -h” 我无法查询到当前挂载信息,后来发现是因为开启了SELINUX,关闭SELINUX后就可以访问了。关闭SELINUX的命令为 setenforce 0。

2.mount: 文件系统类型错误、选项错误、/dev/sdb2 上有坏超级块、 缺少代码页或助手程序,或其他错误

Linux—磁盘管理与文件系统_第17张图片

忘记在挂载之前格式化

Linux—磁盘管理与文件系统_第18张图片

原文作者:极致Linux内核

原文地址:Linux—磁盘管理与文件系统 - 知乎(版权归原文作者所有,侵权留言联系删除)

你可能感兴趣的:(linux)