Linux磁盘管理与文件系统 那些你会经常用到的技术

32 篇文章 0 订阅
27 篇文章 0 订阅
本文详细介绍了Linux系统中的磁盘结构,包括硬盘物理结构、扇区、磁道和柱面。讲解了MBR(主引导记录)与磁盘分区表示,包括分区表和磁盘分区的概念。此外,还涵盖了常见的文件系统类型如XFS和SWAP,以及如何使用fdisk命令管理磁盘、创建分区和文件系统。最后,讨论了挂载、卸载文件系统的方法,并提到了自动挂载的配置文件/etc/fstab。
摘要由CSDN通过智能技术生成

一、磁盘结构

(一)、硬盘的物理结构

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

(二)、扇区硬盘的数据结构

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

(三)、磁盘结构

1、硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数x每扇区字节数(512字节)
2、可以用柱面/磁头扇区来唯一定位磁盘上每一个区域
3、磁盘接口类型
IDE、 SATA、 SCSI、 SAS、光纤通道
IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代。
SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
SCSI:小型机系统接口,SCSI 硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
SAS:是新一代的SCSI 技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s

二、MBR与磁盘分区表示

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

1、MBR位于硬盘第一个物理扇区处
2、MBR中包含硬盘的主引导程序和硬盘分区表
3、分区表有4个分区记录区,每个分区记录区占16个字节
4、Linux中将硬盘、分区等设备均表示为文件

/dev/hda5     
#/dev 是文件所在的目录,hd 表示IDE设备,sd 表示SCSI设备;
#硬盘的顺序号,以字母a、b、c.....表示;分区的顺序号,以数字1、2、 3....表示

(二)、磁盘分区表示

Linux中将硬盘、分区等设备均表示为文件
/dev/sdb5
sd表示SCSI设备 , hd表示IDE设备
硬盘的顺序号,以字母a、b、c…表示
分区的顺序号,以数字1、 2、3…表示。主分区从1-4,第一个逻辑分区始终从5开始。

(三)、主启动记录(MBR)磁盘分区

MBR是主引导记录,位于硬盘第一个物理扇区处, MBR中包含硬盘的主引导程序和硬盘分区表。MBR总共512字节,前466字节是主引导记录,分区表保存在MBR扇区中的第477-510字节中。分区表有4个分区记录区,每个分区记录区占16字节。

主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区。

三、磁盘分区结构

(一)、磁盘分区概念

1、硬盘中的主分区数目只有4个
2、主分区和扩展分区的序号限制在1~4
3、扩展分区再分为逻辑分区
4、逻辑分区的序号将始终从5开始

四、文件系统类型

(一)、XFS 文件系统

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

(二)、SWAP 交换文件系统

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

(三)、 Linux支持的其它文件系统类型

   EXT4、FAT32、NTFS、 LVM

五、检测并确认新硬盘

(一)、fdisk命令

1、查看或管理磁盘分区

fdisk -l 磁盘设备

fdisk  磁盘设备

2、交互模式中的常用指令
m、p、 n、 d、 t、 w、q
m:获取帮助菜单
n:新建分区
p:查看分区情况
d:删除分区
t:变更分区的类型
w:保存分区操作并退出
q:不保存分区操作并退出

使用fdisk /dev/sda 进入交互模式才能使用以上指令
在这里插入图片描述

(二)、查看磁盘分区

fdisk -l [磁盘设备]

使用 fdisk 命令查看磁盘分区,从下图可以看出目前只有一个磁盘sda,其中该磁盘的sda1\sda2\sda3为主分区,其中sda3为交换模式,sda4为扩展分区,sda5为逻辑分区。
在这里插入图片描述

Device (设备) :分区的设备文件名称。
Boot:是否是引导分区。若是,则有"*"标识。
Start:该分区在硬盘中的起始位置(柱面数)
End:该分区在硬盘中的结束位置(柱面数)
Blocks:分区的大小,以Blocks (块)为单位,默认的块大小为1024字节。
Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、82代表交换文件系统、8e表示LVM逻辑卷。
System:分区类型。

(三)、管理磁盘分区

fdisk /dev/sdb

在进行管理磁盘分区之前需要创建一个新的磁盘,不能直接使用系统盘进行管理,不然会使电脑系统奔溃。
在这里插入图片描述
创建好新的磁盘以后使用fdisk -l 命令查看一下,发现多了一块sdb 的新的磁盘。
在这里插入图片描述

(四)、创建分区步骤

n
–> p主分区、e扩展分区、l 逻辑分区
–>设置分区:1 (范围1-4,如按Enter键接受默认值)
–>设置柱面序列:直接按Enter键接受默认值
–>设置分区大小: +20G (指定大小为20GB,如按Enter键接受默认值表示所有空间)
–w
变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,或者执行"partprobe"命令使操作系统检测新的分区表情况。以防格式化分区时损坏硬盘中已有的数据。

创建好新的磁盘以后,使用fdisk /dev/sdb命令进入新的磁盘,然后使用“n”选项开始创建分区。创建分区一开始会提示有多少主分区,多少扩展分区和可用分区有多少,如下图红框中所示。
在这里插入图片描述

接着使用“p”选项创建第一个主分区,此时分区号使用默认分区号从“1”开始,按“Enter”键继续;紧接着到起始扇区大小的选择,此处也使用默认值从“2048”开始,按“Enter”键继续;接下来到选择该扇区的结束初的大小,此处注意需要自己写上自己需要的主分区1的大小,下图中选择了10Gib。然后使用“p”选项查看,发现主分区1已经创建好了。
在这里插入图片描述

如果想要更换系统类型,可以先使用“l”选项查询一下可以更换的系统类型有哪些。
在这里插入图片描述

继续创建主分区2,操作流程和创建主分区1一样。
在这里插入图片描述

接着创建一个扩展分区,注意,创建扩展分区的选项是“e”,该分区空间可以大些,因为之后的额逻辑分区是从扩展分区分出去的。
在这里插入图片描述

接着可以创建逻辑分区了,注意创建逻辑分区的选项是“l”,其他操作如之前创建主分区一样。还有注意的是逻辑分区都是从“5”开始。
在这里插入图片描述

再创建一个逻辑分区6,将剩下的所有的空间全部给6,直接按“Enter”即可。
在这里插入图片描述

最后创建一个交换分区,当给它10Gib时发现值超出了范围,这是因为之前给其他分区空间太多了,可能与10Gib有一些差别,不过直接按“Enter”就好,将剩下的所有的空间大小全给它就行。
在这里插入图片描述

分区结束之后记得使用“w”保存配置后退出
在这里插入图片描述

当分区分完以后不能直接使用,需要将磁盘格式化之后才可以使用,而格式化只需要格式化xfs格式的,即主分区就可。格式化的方法有两个,一个是:mkfs -t xfs /dev/sdb1 一个是:mkfs.xfs /dev/sdb1 注意一点:在分区之后最好重启一下系统,或者执行一下“partprobe”命令使操作系统检测新的分区表情况,以防格式化分区时损坏硬盘中已有的数据。
使用mkfs -t xfs /dev/sdb1 命令格式化sdb1分区,此命令中的xfs是指的分区1的文件系统类型是xfs。
在这里插入图片描述

使用另外一种方法::mkfs.xfs /dev/sdb2也可以格式化分区2
在这里插入图片描述

当分区全部格式化完成后,想要使用该磁盘(文件系统)时,需要将该磁盘挂载在一个挂载点上(即一个目录上),所以需要在根目录下创建一个新的挂载目录。
在这里插入图片描述

当文件系统(分区1)挂载好之后就可以在该分区中创建文件了
在这里插入图片描述

现在将sdb6更改为swap系统,在创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为82。
在这里插入图片描述

改完以后可以查看一下,记得保存。
在这里插入图片描述

使用make swap 命令创建交换文件系统,free -m 命令是查看分区空间大小,-m是用兆来显示大小的意思。
在这里插入图片描述

六、创建文件系统

(一)、mkfs命令

1、Make Filesystem,创建文件系统(格式化)

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

2、示例

[root@localhost ~ ]# Is  /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@localhost~]# mkfs  -t  xfs  /dev/sdb1

3、创建文件系统
创建文件系统的过程即格式化分区的过程
mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1

(二)、mkswap命令

1、make swap,创建交换文件系统

mkswap  分区设备

2、示例:

[root@localhost ~]# mkswap   /dev/sdb5
[root@localhost ~]# cat  /proc/meminfo  |  grep  SwapTotal
SwapTotal:  8257532 kB
[root@localhost ~]# swapon  /dev/sdb5
[root@localhost ~]# cat  /proc/meminfo  |  grep  SwapTotal
SwapTotal:  10354680 kB
[root@localhost ~]# swapoff  /dev/sdb5

3、创建交换文件系统
创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为82
fdisk /dev/sdb
–>t
–>3
–>82

mkswap /dev/sdb3
swapon /dev/sdb3 #启用新增加的交换分区
swapoff /dev/sdb3 #停用指定的交换分区
swapon -s #查看每个分区的swap状态信息
free -m #查看总的swap状态信息
利用df -h查挂载点

使用swapon /dev/sdb6 命令启用swap,发现空间变大,可在里面进行操作;使用swapoff /dev/sdb6命令关闭swap,空间变小。
在这里插入图片描述

利用swapon -s 查看每个分区的swap状态信息
在这里插入图片描述

七、挂载、卸载文件系统

(一)、手动挂载

1、mount命令

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

mount -t 类型 存储设备  挂载点目录
mount -o loop ISO镜像文件 挂载点目录

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

mount   /dev/cdrom  /mnt
mount   /dev/sdbl   /opt

挂载已下载到系统中的镜像文件

mount  -o  loop   Centos-7-x86_64-DVD-1708.iso  /media

2)、查看磁盘使用情况
–>直接mount命令

–>df [选项]
-h:显示分区的容量单位
-T:显示文件系统的类型
-i:显示分区的inode号码数量

使用mount /dev/sdb1 /datal 命令将sdb1挂载起来
在这里插入图片描述

其中-h:显示分区的容量单位 -T:显示文件系统的类型
在这里插入图片描述

2、umount命令

1)、卸载已挂载的文件系统

umount 存储设备位置
umount   挂载点目录

卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录

umount    -lf    存储设备目录或者挂载点目录

-l:表示解除正在繁忙的文件系统
-f:表示强制

使用umount 命令卸载挂载的文件系统,当出现“目标忙”的错误时,是因为正处于该磁盘下,需要退出到根目录进行卸载操作。
在这里插入图片描述

(二)、自动挂载

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

vim   /etc/fstab
.....//省略部分内容
/dev/sdb1      /sdb01         xfs        dafaults    0   0
#分区         挂载点        文件系统类型

2、设置文件系统的自动挂载
Linux操作系统在每次开机时,会自动读取 /etc/fstab 文件的内容,自动挂载所指定的文件系统。

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

第1字段:设备名或设备卷标名。
第2字段:文件系统的挂载点目录的位置。
第3字段:文件系统类型,如xfs, swap等。
第4字段:挂载参数,即mount命令"-0"选项后可使用的参数。例如, defaults (默认参数)、w (可读写)、ro (只读)、noexec (禁用执行程序)。
第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略。
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查, 1表示优先检查, 2表示其次检查。根分区可设为1,其他分区设为2

Linux操作系统在每次开机时,会自动读取 /etc/fstab 文件的内容,自动挂载所指定的文件系统。所以需要在该文件中将需要自动挂载的文件保存进去。
在这里插入图片描述

“wq”保存以后,使用“init 6”命令重启,也将虚拟机重启一下,然后重新连上后发现两个文件已经自动挂载了。
在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值