Linux磁盘管理
1.磁盘的基本概念
1.什么是磁盘
绝大多数人对硬盘都不陌生,
一块小小的硬盘里,就可以存储海量的照片音乐和电影,尤其是我们喜爱的各类动作片。
但如此小的空间,是如何储存那么多信息的呢?
每个硬盘中心都是一摞高速运转的圆盘,在圆盘上附着的一圈金属颗粒,每个金属颗粒都有自己的磁化程度,用于储存0和1。
当记录数据时,硬盘的磁头开始通电,形成强磁场,数据在磁场的作用下转变成电流,使颗粒磁化,从而将信息记录在圆盘上。
由海量颗粒组成的信息,就是我们存在硬盘里的数据。
2.磁盘的基本结构
1.什么是盘片: 硬盘一般有一个或多个盘片,每个盘片可以有两面,即第一个盘片的正面为0面,反面为1面然后依次类推。
2.什么是磁道:每个盘片的盘面在出厂的时候被划分出了多个同心圆环,数据就存储在这样的同心圆环上面,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。但肉业不可见。
3.什么是扇区: 在硬盘出厂时会对磁盘进行一次低格,其实就是再每个磁道划分为若干个弧段,每个弧段就是一个扇区 (Sector)。扇区是硬盘上存储的物理单位,现在每个扇区可存储512字节数据已经成了业界的约定。
4.什么是柱面:柱面实际上就是我们抽象出来的一个逻辑概念,简单来说就是处于同一个垂直区域的磁道称为 柱面 ,即各盘面上面相同位置磁道的集合。这样数据如果存储到相同半径磁道上的同一扇区,这样可以实现并行读取,主要是减少磁头寻道时间。
5.什么是磁头: 读取磁盘磁道上面金属块,主要负责读或写入数据。
3.磁盘的预备知识
我们需要简单了解下磁盘的接口类型、磁盘涉及的相关术语、磁盘在Linux下的命名方式。
1.磁盘的接口类型
IDE,Scsi(已经被淘汰)
)
SATA III 与SAS(企业使用较多)
ssd的Msata接口为超极本设计,但是被m.2接口的SSD替代,而m.2接口(支持SATA、PCI-E双通道协议)
1、M.2接口是为超极本量身定做的新一代接口标准,以取代原来的mSATA接口。拥有更小巧的规格尺寸,还是更高的传输性能,M.2都远胜于mSATA。 m2接口百度百科 固态硬盘SATA和mSATA有什么区别
2、M.2几个名词需要各位读者知道了解,SATA和PCI-E AHCI和NVMe
3、最后呢,可以扩展了解 M.2固态硬盘使用过程中常见问题?
2.磁盘的基本术语
尺寸: 2.5英寸 3.5英寸
容量:KB MB GB TB PB EB
转速:7500 15000
IOPS:每秒能够发生IO的次数
3.磁盘在系统上的命名方式
设备名称 | 分区信息 | 设备类型 |
---|---|---|
/dev/sda | /dev/sda1 | 第一块物理磁盘第一分区 |
/dev/sdb | /dev/sdb2 | 第二块物理磁盘第二个分区 |
/dev/vdd | /dev/vdd4 | 第四块虚拟磁盘的第四个分区 |
PS1:系统中分区由数字编号表示,1~4留给主分区使用和扩展分区,逻辑分区从5开始,为什么分区还有限制?不应该是随意分配?因为MBR分区表只能分配4个主分区?why?
MBR为什么只能划分4个主分区
PS2: 前面我们已经提到过MBR分区表只能分配4个主分区,但现在还有一种新型的分区表GPT,GPT支持分配128个主分区。注意MBR与GPT之间不能互转,会导致数据丢失。
MBR与GPT之间又有什么区别
4.磁盘基本分区Fdisk
1.添加一块小于2TB的磁盘进行使用,步骤如下:
1.给虚拟机添加一块新的硬盘
2.使用fdisk进行分区
3.使用mkfs进行格式化
4.使用mount进行挂载
PS: 生产分区建议,如无特殊需求直接使用整个磁盘即可,无需分区。
PS: 学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)
|
|
1.fdisk创建主分区
|
|
2.fdisk创建扩展分区
|
|
3.fdisk创建逻辑分区
|
|
4.fdisk查看分区情况,并保存
|
|
5.格式化磁盘
mkfs格式化磁盘,实质创建文件系统,文件系统类似于将房子装修成3室一厅,还是2室一厅。
|
|
6.使用mount挂载并使用
如果需要使用该磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。
|
|
5.磁盘的基本分区Gdisk
前面我们已经了解到fdisk分区,但fdisk不支持给高于2TB的磁盘进行分区。如果有单块盘高于2TB,建议使用Gdisk进行分区。
1.使用gdisk进行磁盘分区
|
|
2.使用mkfs进行格式化磁盘。前面已经介绍过,此处不反复介绍。
|
|
3.使用mount命令将某个目录挂载该分区,进行使用。
|
|
6.磁盘挂载方式Mount
前面我们已经提到过,如果需要使用磁盘的空间,需要准备一个空的目录作为挂载点,与该设备进行关联。mount主要是为文件系统指定一个访问入口。
PS: 类似我的商场没有门,那么就无法进入购买商品,此时通过mount命令可以创建一个入口。给超市安装一个门。如图:
1.通过mount进行挂载,但重启将会失效。我们称为临时生效。
|
|
2.挂载的磁盘,如果不想使用可以使用umount进行卸载。
|
|
3.如果需要实现永久挂载则需要将挂载信息写入/etc/fstab配置文件中实现。
|
|
3./etc/fstab配置文件编写格式
要挂载的设备 | 挂载点(入口) | 文件系统类型 | 挂载参数 | 是否备份 | 是否检查 |
---|---|---|---|---|---|
/dev/sdb1 | /db1 | xfs | defaults | 0 | 0 |
第四列:挂载参数。挂载参数有很多,在这块我们了解即可,不必深究。
参数 | 含义 |
---|---|
async/sync | 是否为同步方式运行。默认async |
user/nouser | 是否允许普通用户使用mount命令挂载。默认nouser |
exec/noexe | 是否允许可执行文件执行。默认exec |
suid/nosuid | 是否允许存在suid属性的文件。默认suid |
auto/noauto | 执行mount -a 命令时,此文件系统是否被主动挂载。默认auto |
rw/ro | 是否以只读或者读写模式进行挂载。默认rw |
default | 具有rw,suid,dev,exec,auto,nouser,async等默认参数的设定 |
第五列:是否进行备份。通常这个参数的值为0或者1
选项 | 含义 |
---|---|
0 | 代表不做备份 |
1 | 代表要每天进行备份操作 |
2 | 代表不定日期的进行备份操作 |
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整
选项 | 含义 |
---|---|
0 | 不要检验磁盘是否有坏道 |
1 | 检验 |
2 | 校验 (当1级别检验完成之后进行2级别检验) |
7.虚拟磁盘介绍SWAP
Swap分区在系统的物理内存不够时,将硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。
PS: 当物理内存不够时会随机kill占用内存的进程,从而产生oom,临时使用swap可以解决。
1.创建分区,并格式化为swap分区。
|
|
2.查看当前swap分区大小,然后进行扩展和缩小
|
|
3.检查当前swap分区有哪些设备
|
|
4.如果磁盘没有过多的分区可用,也可以通过文件增加SWAP空间,本质上还是磁盘
|
|
PS: 如果希望swap开机自动挂载,将swap信息追加至/etc/fstab即可。