磁盘管理与文件系统

一.磁盘基础

二.MBP与磁盘分区表示

三.检测并确认新硬盘

四.创建文件系统

五.挂载.卸载文件系统

六.总结

 

一.磁盘结构

 1.硬盘的物理结构

 

 盘片:硬盘有多个盘片,每盘片2面

 

  磁头:每面一个磁头

 

 

 

2.硬盘的数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大),硬盘的最小存储单位

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

  柱面:不同盘片相同半径构成的圆柱面(柱面和磁道数量相同)

 

3.硬盘存储容量

=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数

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

磁盘接口类型  IDE  SATA  SCSI  SAS   光纤通道

4.硬盘接口类:

IDE:133MB/s,并行接口,早期家用电脑

SCSI:640MB/,并行接口,早期服务器

SATA:6Gbps,SATA数据端口与电源端口是分开的,即需要两条线,一条数据线,一条电源线

SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

光纤接口

 

机械与固态

机械硬盘(HDD): Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几干转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤。

 

固态硬盘(SSD): Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元( FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺す上也与普通硬盘一致相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍相较于SSD,HDD在价格、容量占有绝对优势硬盘有价,数据无价,目前SSD不能完全取代HHD。

 

机械硬盘相对于固态硬盘 可以恢复数据

 

为什么分区

优化I/O性能

实现磁盘空间配额限制

提高修复速度

隔离系统和程序

安装多个OS

采用不同文件系统

 

硬盘分区

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

 

二.MBP与磁盘分区表示

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

  MBP位于硬盘第一个物理扇区处

  MBP中包含硬盘的主引导程序和硬盘分区表

  分区表有4个分区记录区,每个分区占16个字节

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

/dev/hd/a5

/dev(硬件设备文件所在的目录)

/hd(hd表示IDE设备sd表示scsi设备)

a(硬盘的顺序号,以字母a.b.c......表示)

5(分区的顺序号,以数字1.2.3......表示)

 

磁盘分区结构

硬盘中的主分区数目只有4个

主分区和扩展分区的序号限制在1~4

扩展分区在分为逻辑分区

逻辑分区的序号将始终从5开始

 

 

文件系统类型

XFS文件系统

  存放文件和目录数据的分区

  高性能的日志型文件系统

  CentOS7系统中默认使用的文件系统

SWAP交换文件系统

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

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

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

  FAT16  FAT32  NIFS

  EXT4   JFS

 

三.检测并确认新硬盘

Fdisk命令

  查看或管理磁盘分区

  fdisk -l [磁盘设备]

  fdisk  [磁盘设备]

 

fdisk-l查看硬盘的整体情况和分区情况:

Device:分区的设备文件名称。

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

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

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

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

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

操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。

System:分区类型。识别到新的硬盆设各后,就可以在该硬中建立新的分区了。在 Linux操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。

 

 

交互模式中的常用指令

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)              特殊功能,不建议初学者使用

 

四.创建文件系统

Mkfs命令

Make filesystem 创建文件系统(格式化)

Mkfs -t 文件系统类型 分区设备

示例

[root@localhost~]# ls /sbin/mkfs*

/sbin/mkfs       /sbin/mkfs.cramfs    /sbin/mkfs.ext3  /sbin/mkfs.minix

/sbin/mkfs.btrfs   /sbin/mkfs.ext2     /sbin/mkfs.ext4   /sbin/mkfs.xfs

[root@localhoet~]# mkfs -t xfs /dev/sdb1和mkfs.xfs /dev/sdb1

 

在vim /etc/fstab

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

/dev/sdb1/      /home/ky17      xfs     defaults     0 0

第一字段(/dev/sdb1):设备名或设备卷标名

第二字段(/home/ky17):文件心痛的挂载点目录的位置。

第三字段(xfs):文件系统类型,如XFS.Swap等。

第四字段(defaults):挂载参数,即mount命令“-o”选项后可使用的参数。例如,defaults.rw.ro.noexec 分别表示默认参数.可写.只读.禁用执行程序。

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

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

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

 

SWAP创建系统文件

mkswap /dev/sdb5  创建分区

swapon 是开启swap  注:/dev/sdb2(swap分区)

Swapof 是关闭swap  注:/dev/sdb2(swap分区)

swap on  -s  查看每个分区的swap状态信息

free -m      查看总的swap状态信息

lsblk        查看树形目录

blkid  /dev/sdb1  查看UUID

 

五.挂载.卸载文件系统操作

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

1.查看磁盘使用情况

df命令    df[选项][文件]

示例

[root@localhost~]# df -hT

文件系统

类型

容量

已用

可用

已用%

挂载点

/dev/mapper/VolGroup-Lv_root

ext4

6.7G

4.1G

2.3G

65%

/

/dev/sda1

ext4

99M

11M

83M

12%

/boot

tmpfs

tmpfs

252M

0

252M

0%

/dev/shm

/dev/sdb1

ext4

19G

173M

18G

1%

/mailbox

 

df命令 扩充

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

df 格式[options]

命令

功能

-s

对每个names参数只给出占用的数据块总数

-a

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

-k

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

-x

跳过在不同文件系统上的目录不予统计。

-l

计算所有的文件大小,对硬连接文件则计算多次

-i

显示inode信息而非块使用量

-h

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

-p

使用posix输出格式

-T

显示文件系统类型

 

2.挂载.卸载文件系统

 mount命令

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

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

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

umount命令

卸载已挂载的文件系统

  umout 存储设备位置

  umount挂载点目录

 

补充:超出2TB的分盘方式

1.gdisk命令交互模式中的指令

2.parted 命令

基础命令

命令

功能

b

将GPT数据备份到一个文件

c

更改分区名称

d

删除一个分区

i

显示分区详细信息

l

列出已知分区类型。此处8200是Linux swap,8300是Linux xfs,8e00是LinuxLVM

n

增加一个新的分区

o

创建一个新的空白的GPT分区表

p

显示当前磁盘的分区表

q

退出gdisk程序,不保存任何修改

r

恢复和转换选项

s

排序分区

t

改变分区的类型

v

验证磁盘分区表

w

将分区表写入裁判并退出(保存并退出)

x

额外功能

显示帮助信息

 

六.总结

  1. 管理磁盘和分区,磁盘分区的模式有fdisk .gdisk和parted。其中fdisk适用于2TB以内的磁盘分区,gdisk和parted 适用于2TB以上的磁盘分区。
  2. 创建文件系统 文件类型包括:xfs swap ext4
  3. 文件的挂载.卸载系统:临时挂载mount 卸载umount 永久挂载vim内/etc/fstad

 

 

posted @   零六零一  阅读(444)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示