磁盘管理与文件系统

文章目录

  • 一、磁盘基础
    • 1.1磁盘结构
    • 1.2 硬盘分区
    • 1.3MBR与磁盘分区表示
    • 1.4 磁盘分区结构
    • 1.5 文件系统类型
  • 二、检测并确认新硬盘
  • 三、创建文件系统
  • 四、挂载、卸载文件系统
    • 4.1 mount命令
    • 4.2 umount命令
    • 4.3 设置文件系统的自动挂载
    • 4.4 查看磁盘使用情况
  • 五、总结


一、磁盘基础

1.1磁盘结构

磁盘的物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位

磁道:同一盘片不同半径的同心圆

柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

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

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

磁盘接口类型
IDE:133MB/s,并行接口,早期家用电脑
SATA:640MB/s,并行接口,早期服务器
SCSI:6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线
SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可以兼容,SATA硬盘可以插入SAS主板上,反之不行
光纤通道:光纤接口

1.2 硬盘分区

常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。
主分区一般用来安装操作系统,扩展分区则多用来存储文件数据
MBR:Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T
磁盘管理与文件系统_第1张图片

为什么分区(分区的好处是什么?):
优化I/O性能
实现磁盘空间配额限制
提高修复速度
隔离系统和程序
安装多个OS
采用不同文件系统

1.3MBR与磁盘分区表示

主引导记录(MBR: Master Boot Record)

MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节

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

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

1.4 磁盘分区结构

硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1~4
口扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
磁盘管理与文件系统_第3张图片

1.5 文件系统类型

XFS文件系统
1.存放文件和目录数据的分区
2.高性能的日志型文件系统
3.CentOS 7系统中默认使用的文件系统

SWAP,交换文件系统
为 Linux 系统建立交换分区

Linux支持的其它文件系统类型
1.FAT16、FAT32、NTFS
2.EXT4、JFS…

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

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

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

Linux系统还广泛支持其他各种类型的文件系统
如JFS、FAT16、FAT32、NTES 等。
JFS 文件系统多用于商业版本的UNIX操作系统中,具有出色的性能表现。由于NTFS是微软公司的专有文件系统,Linux系统默认只支持从 NTFS 分区读取文件,如果需要向 NTFS 分区中写入文件数据,需要结合其他辅助软件(如NTFS-3G)

二、检测并确认新硬盘

fdsik命令
查看或管理磁盘分区

fdisk  -l   [磁盘设备]
或
fdisk     [磁盘设备]

交互模式中的常用指令
m、p、n、d、t、w、q

fdisk指令参数说明
Command(m for help):m                        ###输入m指令
a           toggle a bootable flag            ###设置可引导标记
b           edit bsd disklabel                ###修改bsd的磁盘标签
c           toggle the dos compatibility flag  ###设置DOS操作系统兼容标记
d           delete a partition                ###删除一个分区
l           list known partition types        ###显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
m           print this menu                   ###显示帮助菜单
n           add a new partition               ###增加一个新的分区
o           create a new empty Dos partition table #创建一个新的空白的DOS分区表
p           print the partition table         ###显示磁盘当前的分区表
q           quit without saving changes       ###退出fdisk程序,不保存任何修改
s           create a new empty sun disklabel  ###创建一个新的空白的Sun磁盘标签
t           change a partition's system id    ###改变一个分区的系统号码
u           change display/entry units        ###改变显示记录单位
v           verify the partition table        ###对磁盘分区表进行验证
w           write table to disk and exit      ###保存修改结果并退出fdisk程序
x           extra functionality (experts only) ###特殊功能,不建议初学者使用

fdisk -l查看硬盘的整体情况和分区情况
Device:分区的设备文件名称

Boot:是否是引导分区。若是,则有 " *" 标识

start:该分区在硬盘中的起始位置(柱面数)

End:该分区在硬盘中的结束位置(柱面数)

Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节

Id:分区对应的系统ID号。83表示 Linux中的 XES分区或EXT4分区、8e表示LVM逻辑卷

LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,

System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了,在Linux操作系统中,分区和格式化的过程是相对独立的

不重启加载新建的硬盘
磁盘添加完成,进入系统,使用下面命令扫描SCSI总线

echo "- - -"   >     /sys/class/scsi_host/host0/scan

三、创建文件系统

mkfs命令
Make Filesystem,创建文件系统(格式化)
mkfs -t 文件系统类型 分区设备

示例

[root@localhost ~]# ls /sbin/mkfs*
/sbin/mkfs         /sbin/mkfs.ext2  /sbin/mkfs.fat    /sbin/mkfs.vfat
/sbin/mkfs.btrfs   /sbin/mkfs.ext3  /sbin/mkfs.minix  /sbin/mkfs.xfs
/sbin/mkfs.cramfs  /sbin/mkfs.ext4  /sbin/mkfs.msdos

[root@localhost ~]# mkfs -t xfs /dev/sdb1

[root@localhost ~]# mkfs.xfs  /dev/sdb1

SWAP创建系统文件

mkswap /dev/sdb2    ###创建分区
swapon  是开启swap   注: /dev/sdb2(swap分区)
swapoff  是关闭swap   注: /dev/sdb2(swap分区)
swapon -s    ###查看每个分区的swap状态信息
free -m      ###查看总的swap状态信息

FAT32创建系统文件

[root@localhost ~]# mkfs -t vfat -F 32 /dev/sdb6 

[root@localhost ~]# mkfs.vfat -F 32 /dev/sdb6

lsblk命令
用树形目录展示硬盘结构
磁盘管理与文件系统_第4张图片

四、挂载、卸载文件系统

4.1 mount命令

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

mount [-t 类型]   存储设备   挂载点目录

mount -o loop  ISO镜像文件  挂载点目录

4.2 umount命令

卸载已挂载的文件系统

umount   存储设备位置

umount   挂载点目录

4.3 设置文件系统的自动挂载

查看UUID

[root@localhost ~]# blkid  /dev/sda1
/dev/sda1: UUID="0f991461-4b96-47a6-a8d6-35dc081bce37" TYPE="xfs" 

UUID=30f32202-3cbf-4094-b738-300efd196d5e /          xfs     defaults        0 0

/etc/fstab 配置文件
包含需要开机后自动挂载的文件系统记录

[root@localhost ~]# vi /etc/fstab


#
# /etc/fstab
# Created by anaconda on Tue Dec 21 01:15:17 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=30f32202-3cbf-4094-b738-300efd196d5e /                       xfs     defaults        0 0
UUID=0f991461-4b96-47a6-a8d6-35dc081bce37 /boot                   xfs     defaults        0 0
UUID=88b3203e-a11c-410d-bab3-c48c87f29279 swap                    swap    defaults        0 0

在/etc/fstab
文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔)
/dev/sdb1/ xfs defaults 0 0

第1字段:设备名或设备卷标名

第2字段:文件系统的挂载点目录的位置

第3字段:文件系统类型,如xFs、Swap等

第4字段:挂载参数,即mount命令"-o"选项后可使用的参数
例如,defaults、rw,noexec分别表示默认参数、可写、只读、禁用执行程序

第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)一般设为1时表示需要,设为 0 时将被 dump 忽略

第6字段:该数字决定在系统启动时进行磁盘检查的顺序 0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2

通过在 /etc/fstab文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。
例如,执行以下操作将添加自动挂载分区/dev/sdb1的配置记录

挂载分区的UUID   /dev/sdb1(挂载点的目录位置)    文件系统类型     defaults        0 0

4.4 查看磁盘使用情况

df命令
作用:用来检查文件系统的磁盘空间占用情况,使用权限是所有用户

df   [选项]   [文件]

常用参数

-s: 对每个Names参数只给出占用的数据块总数

-a: 递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定一a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数

-k:以1024字节为单位列出磁盘空间使用情况

-x:跳过在不同文件系统上的目录不予统计

-l:计算所有的文件大小,对硬链接文件则计算多次

-i:显示inode信息而非块使用量

-h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB

-P:使用POSIX输出格式

-T:显示文件系统类型

示例
磁盘管理与文件系统_第5张图片


五、总结

1.管理磁盘和分区
2.检测并确认新硬盘
3.创建文件系统
4.挂载、卸载文件系统

你可能感兴趣的:(linux)