第3章 Linux磁盘分区与格式化:构建稳固的数据基础

文件管理大师:一文详解CentOS下的文件操作技巧一章中,我们学习了如何在Linux操作系统中进行高效的文件管理。而现在,我们将进一步探讨如何管理和优化存储设备本身。磁盘分区和格式化是构建可靠存储架构的基础步骤,而正确的挂载则是保证数据能够被系统正确识别和使用的前提。本章节将详细介绍如何进行磁盘的分区、格式化以及挂载,帮助您更好地控制和维护您的Linux系统的存储环境。

知识回顾

设备类型】Linux系统中磁盘的名称由系统根据设备类型自动识别,常用的存储设备类型有IDE、SATA、USB、SCSI等,其中IDE设备在Linux系统中被识别为hd,SATA、USB、SCSI设备在Linux系统中被识别为sd。

  • IDE的英文全称为:(Integrated Drive Electronics)

IDE是目前最主流的硬盘接口,包括光储类的主要接口。它经过数年的发展变得很 成熟、廉价、稳定。IDE接口使用一根40芯或80芯的扁平电缆连接硬盘与主板,每条线最多连接2个IDE设备(硬盘或者光储)。IDE的工作方式需要CPU的全程参与,CPU读写数据的时候不能再进行其他操作,这种情况在Windows95/NT的多任务操作系统中,自然就会导致系统反应的大大减慢。IDE硬盘优点:价格低廉、兼容性强、性价比高。IDE硬盘缺点:数据传输速度慢、线缆长度过短、连接设备少。

  • SCSI接口(提示:xSeries 拥有业界所有规格的SCSI硬盘)

SCSI英文全称:Small Computer System Interface,它出现的原因主要是因为原来的IDE接口的硬盘转速太慢,传输速率太低,因此高速的SCSI硬盘出现。其实SCSI并不是专为硬盘设计的,实际上它是一种总线型接口。完全通过独立的高速的SCSI卡来控制数据的读写操作,CPU就不必浪费时间进行等待,显然可以提高系统的整体性能。用在服务器上面比较多,速度快,稳定性很好,比较适合做磁盘阵列。普通PC机中所能达到的最大速度为160MB/s

  • SATA接口(提示:xSeries 拥有80GB和160GB两款SATA硬盘)

SATA的英文全称是:Serial-ATA(串行),IDE系列属于Parallel-ATA(并行),SATA是最近颁布的新标准,具有更快的外部接口传输速度,数据校验措施更为完善,初步的传输速率已经达到了150MB/s,比IDE最高的UDMA/133还高不少。由于改用线路相互之间干扰较小的串行线路进行信号传输,因此相比原来的并行总线,SATA的工作频率得意大大提升。首先是SATA的传输速度快,除此之外,SATA硬盘还具有安装方便、容易散热、支持热插拔等诸多优点,这些都是并行ATA硬盘无法与之相比的。

【物理设备命名规则】在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。Linux系统中常见的硬件设备的文件名称如表2-2所示。

表2-2 常见的硬件设备及其文件名称

由于现在的IDE设备已经很少见了,所以一般的硬盘设备都会是以"/dev/sd"开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也很有讲究:主分区或扩展分区的编号从1开始,到4结束;逻辑分区从编号5开始。例如:

首先,/dev/目录中保存的应当是硬件设备文件;其次,sd表示是存储设备;然后,a表示系统中同类接口中第一个被识别到的设备,最后,5表示这个设备是一个逻辑分区。一言以蔽之,"/dev/sda5"表示的就是"这是系统中第一块被识别到的硬件设备中分区编号为5的逻辑分区的设备文件"。

磁盘分区】有利于数据的分类存储,管理员可根据磁盘中将要存放的文件类型、数量和文件大小等因素,合理规划磁盘空间,以提高磁盘使用率与读取速率。常见的磁盘分区方式为MBR分区和GPT分区。

MBR全称Master Boot Record,即主引导记录。磁盘中的空间以扇区为单位,采用MBR方式分区的磁盘第一个扇区中包含一个64字节的磁盘分区表,每个分区信息占用16字节,因此分区表最多可存储4项分区信息,也就是说磁盘只能划分出4个主分区。

即便4个分区容量总和小于磁盘总容量,也无法再为剩余空间分区。

4个主分区分别用数字表示,如果是第一块硬盘,就sda1,sda2,sda3和sda4.在扩展分区上还可以分逻辑分区,标号从5往后依次排列.在windows中c盘为dos主分区,是sda1,d盘一般是dos扩展分区上的第一个逻辑分区,是sda5,e为sda6,f为sda7等等。

【文件系统】 用户在硬件存储设备中执行的文件建立、写入、读取、修改、转存与控制等操作都是依靠文件系统来完成的。文件系统的作用是合理规划硬盘,以保证用户正常的使用需求。Linux系统支持数十种的文件系统,而最常见的文件系统如下所示。

EXT2 (second extended filesystem) ,是LINUX内核所用的文件系统。它开始由Rémy Card设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2 的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU Hurd,Mac OS X (第3方),Darwin (第3方),BSD。ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat Linux等 。

Ext3 (Three extended filesystem) :是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。

Ext4 (Fourth extended filesystem) :Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。

XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

FAT32 指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命名由此得来。FAT32是从FAT和FAT16发展而来的,优点是稳定性和兼容性好,能充分兼容Win 9X及以前版本,且维护方便。缺点是安全性差,且最大只能支持32GB分区,单个文件也只能支持最大4GB。

NTFS NTFS(New Technology File System)是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。NTFS对FAT和HPFS作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。

【挂载和卸载】在windows系统中,磁盘分区后可直接使用,但Linux系统的磁盘不但需要进行分区、格式化操作,还需要经过挂载,才能被使用。

所谓挂载,是指将一个目录作为入口,把磁盘分区中的数据放置在以该目录为根节点的目录关系树中,这相当于将文件系统与磁盘进行了链接,指定了某个分区中文件系统访问的位置。Linux系统中根目录是整个磁盘访问的基点,因此根目录必须要挂载到某个分区。Linux系统通过mount和umount命令实现分区的挂载和卸载。

【磁盘管理命令集】

任务描述

1、查看磁盘空间

2、磁盘分区

3、磁盘格式化

4、硬盘挂载

5、磁盘卸载

6、磁盘检查

7、查看目录下所有文件的大小并按照大小排序

8、查找硬盘的UUID和分区系统类型

9、永久性的挂载磁盘分区

任务准备

  1. 前提条件是Linux操作系统处于正常运行状态。
  2. 桌面右键打开终端或远程SSH连接操作Linux服务器。
  3. 学会帮助命令,在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们。
  • 在只记得部分命令关键字的场合,我们可通过man -k来搜索;
  • 需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用info命令;
  • 查看命令在哪个位置,我们需要使用which;
  • 而对于命令的具体参数及使用方法,我们需要用到强大的man;

任务实施

1、查看磁盘空间

csharp 复制代码
[root@localhost creatorblue]# df -h

-T :查看磁盘格式化后的文件类型-h: human缩写,以易读的方式显示结果(即带单位:比如M/G,如果不加这个参数,显示的数字以B为单位)

2、查看磁盘分布情况

csharp 复制代码
[root@localhost creatorblue]# fdisk -l

3、划分磁盘分区/dev/sdb

csharp 复制代码
[root@localhost creatorblue]# fdisk /dev/sdb

3、磁盘格式化/dev/sdb1

csharp 复制代码
[root@localhost creatorblue]#fdisk -l
#两种格式的方法
#方法一
[root@localhost creatorblue]#mkfs -t ext3 /dev/sdb1
#方法二
[root@localhost creatorblue]#mkfs. ext3 /dev/sdb5

4、硬盘挂载/dev/sdb5至/creatorblue

csharp 复制代码
[root@localhost creatorblue]#  mount /dev/sdb5 /creatorblue

5、卸载磁盘/dev/sdb5

csharp 复制代码
[root@localhost creatorblue]# umount /dev/sdb5

6、磁盘检查

csharp 复制代码
[root@localhost creatorblue]# fschk /dev/sdb5

7、查看当前目录下所有子文件夹排序后的大小

bash 复制代码
du -sh * | sort -rh

查看目录下最大的文件:

ini 复制代码
du -h -x --max-dept=1

8、查看硬盘的UUID值和分区文件类型

csharp 复制代码
[root@localhost creatorblue]# blkid
#获取硬盘的uuid值
#避免多个硬盘的情况下硬盘飘浮不定的情况。

9、永久性的挂载磁盘分区

csharp 复制代码
 [root@localhost creatorblue]#  vim  /etc/fstab

注意分区表一定要配置正确,否则会造成Linux操作系统启动不了,为了确保万一,可以使用mount -a检测配置,如果不正确,会报错

css 复制代码
mount -a

实验实训

相关推荐
团儿.28 分钟前
KVM磁盘配置:构建高效虚拟环境的基石
linux·运维·centos·kvm·kvm磁盘
zhqh1001 小时前
在qemu-system上跑arm-Debian
linux·arm开发·debian
昨天今天明天好多天1 小时前
【Linux】Redis 部署
linux·redis·bootstrap
hanzhuhuaa1 小时前
Linux 查看 nginx 安装目录和配置文件路径
linux·nginx
惊鸿一博2 小时前
linux_电脑一运行程序就死机怎么处理?
linux·运维·电脑
环能jvav大师2 小时前
使用Ubuntu系统+VS Code开发STC51单片机
linux·c语言·开发语言·单片机·嵌入式硬件·ubuntu
HEX9CF3 小时前
【Linux】SQLite 数据库安装教程(Ubuntu 22.04)
linux·数据库·sqlite
kimi-2223 小时前
Linux 常用命令二
linux
苏湘涵3 小时前
socket编程---UDP
linux·开发语言·网络·php·进程通信
、十一、3 小时前
Linux中ES的安装
linux·运维·elasticsearch