5.1、什么是磁盘

磁盘(disk)是指利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。
磁盘运行原理:
简单来说就是多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中就读取到磁盘中存储的各种数据.
image.png
磁盘的扇区、磁道、柱面:
(1)磁道:磁盘的每个盘片被划分为许多同心圆,划分园的线条叫做磁道。
(2)扇区:硬盘的盘片被磁道划分成多个扇区。硬盘的读写以扇区为基本单位。
image.png
(3)柱面:每一个盘片同一大小的同心圆可以看成连在一起的柱面,磁盘在分区的时候最小单位是柱面,每一个盘片的上下面都可以读取数据,每一个磁头,不可以跨盘面读取数据。
image.png

5.2、磁盘管理

Linux磁盘管理通常分成五个步骤,首先是添加硬盘,做RAID或逻辑卷LVM,然后进行分区,对分区进行格式化,最后挂载到文件系统中。

5.2.1、添加硬盘

当给计算机添加了一个新硬盘,我们可以怎么利用它呢?
首先简单介绍一下RAID和LVM的概念
RAID
磁盘阵列(Redundant Arrays of Independent Disks,RAID)。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
以下是几种RAID模式:

  • RAID0将数据分散在n个磁盘中,以独立的方式并行读取n个磁盘的数据,理论上,一个由n块磁盘组成的RAID0是单个磁盘性能的n倍。
  • RAID1将数据分别写到两组磁盘中,分别为工作磁盘和镜像磁盘,相当于做了一次冗余,安全性高,但是成本也高。
  • RAID10兼备了RAID1RAID0的有优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。

LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。
Linux的用户经常会遇到一个问题,就是当磁盘分区空间不足了,调整分区大小非常麻烦。而LVM最大的作用就是解决这个问题。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

5.2.2、分区

当硬盘添加成功后,便可以对硬盘进行分区了。

5.2.2.1、为什么要分区

(1)方便管理,文件种类繁多的时候不易造成混乱。
(2)安全,当硬盘出现问题,又或者各类错误操作都可能造成数据损失。如果分区了,则可以减少损失。

5.2.2.2、分区常用命令

fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

  1. fdisk [选项] <磁盘> #更改分区表
  2. fdisk [选项] -l [<磁盘>] #列出分区表
选项 功能
-b 显示扇区计数和大小
-B 创建新标签时不要擦除 bootbits
-c 模式,为“dos”或“nondos”(默认)
-L 彩色输出(auto, always 或 never)
-l 显示分区并退出
-o 输出列
-t 只识别指定的分区表类型
-u 显示单位,“cylinders”柱面或“sectors”扇区(默认)
-w 擦除签名(auto, always 或 never)
-W 擦除新分区的签名(auto, always 或 never)
-C 指定柱面数
-H 指定磁头数
-S 指定每条磁道的扇区数
-h 帮助文档

对某个磁盘分区,如 fdisk /dev/sda,则会出现以下菜单进行选择

  • m :显示菜单和帮助信息
  • a :活动分区标记/引导分区
  • d :删除分区
  • l :显示分区类型
  • n :新建分区
  • p :显示分区信息
  • q :退出不保存
  • t :设置分区号
  • v :进行分区检查
  • w :保存修改
  • x :扩展应用,高级功能

分区过程描述
①通过 p 参数来查看出硬盘分区表信息。根据信息确定将来的分区
②通过 d 参数一个个删除存在的硬盘分区,如果想完全改变硬盘的分区格式
③通过 n 参数来增加新的分区
1)选择新建的分区类型。p为主分区,e为扩展分区(当有扩展分区存在时这里的e会 变成l,即逻辑分区)
2)设置分区号。主分区或扩展分区为1-4,逻辑分区为5开始
3)设置分区起始位置。(一般回车默认就好)
4)设置分区结束位置。(100单位为扇区,+100M单位为M,+100K单位为K)
④通过p参数确认分区建立成功
⑤通过参数w或q退出(w为保存并退出,q为不保存退出)
注意:在增加分区的时候,其类型都是默认的 Linux Native,如果需要把其中的某些分区改变为其它类型,可以通过命令 t来改变,当键入“t”改变分区类型的时候,系统会提示要改变哪个分区,改变为什么类型(键入l查看系统所支持的分区类型及其对应的分区类型号)。

5.2.3、格式化

5.2.3.1、什么是格式化

我们所说的格式化一般是指逻辑格式化,它是指根据用户选定的文件系统,在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。
文件系统指操作系统用于明确存储设备或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法。

5.2.3.2、格式化常用命令

用法:

  1. mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]

创建一个Linux 文件系统。

选项 功能
-t 文件系统类型;若不指定,将使用 ext2
-V 解释正在进行的操作;
-h 帮助文档
-v 展示版本信息
  1. #mkfs -V -t vfat /dev/sdb1
  2. #mkfs.vfat -v /dev/sdb1

5.2.4、挂载

5.2.4.1、什么是挂载

在Linux 系统中一切皆文件,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录,访问此目录就等同于访问设备文件。

5.2.4.2 mount命令

用法:

  1. mount [-lhV]
  2. mount -a [选项]
  3. mount [选项] [--source] <源> | [--target] <目录>
  4. mount [选项] <源> <目录>
  5. mount <操作> <挂载点> [<目标>]

因选项过多,这里不做详解,可以在命令行输入mouunt -h获取帮助文档。
示例1
mount /dev/usb /mnt/usb
用默认方法将/dev/usb挂载到/mnt/usb

参考样例:https://blog.csdn.net/a1766855068/article/details/84942745