Linux磁盘管理:分区、格式化、挂载

1、磁盘的物理结构:
2、为什么进行分区:
3、磁盘的种类:
4、磁盘分区:
5、磁盘分区操作:
6、磁盘格式化:
7、挂载磁盘:
8、挂载类型:
9、UUID:

##############################################################

磁盘的物理结构:

在这里插入图片描述
磁头:

磁头是硬盘中最昂贵的部件,也是硬盘技术中最重要和最关键的一环。传统的磁头是读写合一的电磁感应式磁头,但是,硬盘的读、写却是两种截然不同的操作,为此,这种二合一磁头在设计时必须要同时兼顾到读/写两种特性,从而造成了硬盘设计上的局限。而MR磁头(Magnetoresistiveheads),即磁阻磁头,采用的是分离式的磁头结构:写入磁头仍采用传统的磁感应磁头(MR磁头不能进行写操作),读取磁头则采用新型的MR磁头,即所谓的感应写、磁阻读。这样,在设计时就可以针对两者的不同特性分别进行优化,以得到最好的读/写性能。另外,MR磁头是通过阻值变化而不是电流变化去感应信号幅度,因而对信号变化相当敏感,读取数据的准确性也相应提高。而且由于读取的信号幅度与磁道宽度无关,故磁道可以做得很窄,从而提高了盘片密度,达到每平方英寸200MB,而使用传统的磁头只能达到每平方英寸20MB,这也是MR磁头被广泛应用的最主要原因。MR磁头已得到广泛应用,而采用多层结构和磁阻效应更好的材料制作的GMR磁头(GiantMagnetoresistiveheads)也逐渐开始普及。

磁道:

当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。一张1.44MB的3.5英寸软盘,一面有80个磁道,而硬盘上的磁道密度则远远大于此值,通常一面有成千上万个磁道。磁道的磁化方式一般由磁头迅速切换正负极改变磁道所代表的0和1.

扇区:

磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。1.44MB3.5英寸的软盘,每个磁道分为18个扇区。

柱面:

硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘单面上的磁道数是相等的。无论是双盘面还是单盘面,由于每个盘面都只有自己独一无二的磁头,因此,盘面数等于总的磁头数。所谓硬盘的CHS,即Cylinder(柱面)、Head(磁头)、Sector(扇区),只要知道了硬盘的CHS的数目,即可确定硬盘的容量,硬盘的容量=柱面数磁头数扇区数*512B。

为什么要对磁盘进行分区?

计算机中存放数据的主要设备就是硬盘,但是现在的硬盘容量普遍都很大,整块的磁盘使用有很多的不便,具体内容以下赘述。

首先谈谈为什么需要为磁盘分区?(当然也是可以不分区的,但是你不会有这样的想法的,即使你有,看看以下的内容你也就会打消你得念头)

1.磁盘分区有利于数据安全:
主要方面:只用一个分区,若遇到系统需要重装或者分区需要进行格式化等,原有的重要文件无法在本硬盘保留,而若提前进行了合理分区,则用户数据不会收到影响;次要方面,我们知道,同等外部条件下,读取越频繁,磁盘越容易受损,我们把读写频繁的目录挂载到一个单独的分区,可以把磁盘的损伤控制在一个集中的区域。

2.磁盘分区节约使用者寻找文件的时间,也节约机器处理的时间:
主要方面:分区将数据集中在某个磁柱的区段,当有数据要读取自该分区时, 硬盘只会搜寻相应区段,有助于数据读取的速度与效能的提升!

3.磁盘分区有利于管理与使用

磁盘的种类:

一、 IDE磁盘:在linux中的磁盘盘符标识为:/dev/hd[a-d]
在这里插入图片描述

IDE即Integrated Drive Electronics,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,IDE是表示硬盘的传输接口。我们常说的IDE接口,也叫ATA(Advanced Technology Attachment)接口,现在PC机使用的硬盘大多数都是IDE兼容的,只需用一根电缆将它们与主板或接口卡连起来就可以了。(不幸的是IDE目前已经快被淘汰)
优点:兼容性强,性价比高,价格伊人;
缺点:数据传输速率较慢,不支持热插拔

二、SATA磁盘:在linux中的磁盘盘符标识为:/dev/sd[a-p]
在这里插入图片描述

SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势,现已基本取代了传统的PATA硬盘。SATA的全称是Serial Advanced Technology Attachment,Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年,虽然串行ATA的相关设备还未正式上市,但Serial ATA委员会已抢先确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

三、SCSI磁盘:在linux中磁盘盘符标识:/dev/sd[a-p]
在这里插入图片描述

SCSI硬盘是采用SCSI接口的硬盘,SCSI是Small Computer System Interface(小型计算机系统接口)的缩写,使用50针接口,外观和普通硬盘接口有些相似。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。

磁盘分区:

首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩充分区再分下去的是什么呢?它就是逻辑分区(logical partion),况且逻辑分区没有数量上限制。

我们常见的磁盘盘符大多数有四个,很多人不知道这其中的原因,我给大家分析一下:

从现在磁盘的配置可以看到,linux中的磁盘标识都为sd[a-p],如果有一块磁盘那么就是sda,继续添加磁盘数量的话就依次为sdb,sdc……sdp。
在这里插入图片描述

默认现在有一块磁盘,如果想上图一样分区,那么四块盘符一次叫sda1,sda2、sda3、sda4。
以上盘符都为基本分区,现在要在基本分区划分逻辑分区,比如将sda4划分,新划分的盘符被叫做sda5;

在这里插入图片描述

我们只分了三个基本分区,然后现在在sda3中来进行逻辑分区的划分,假设在sda3中划分了三个逻辑分区,那么逻辑分区盘符的命名依次为sda5,sda6、sda7;

注意:sda1-4始终是保留给基本分区使用的,所以新的逻辑分区划分出来之后,只能从sda5开始命名;这一点必须记住。

正式的分区操作:

一、在linux中可以用来分区的工具很多,我之讲解一种通过命令方式来方便实现的分区方法:fdisk

1、通过fdisk -l查看具体磁盘分区状态:

在这里插入图片描述

2、对磁盘/dev/sda进行操作:
通过命令:fdisk /dev/sda
在这里插入图片描述

然后输入m进行查看fdisk的操作细节:
在这里插入图片描述

3、输入p查看当前分区情况:(与fdisk -l效果一致)
4、对sda进行磁盘分区:
输入n,创建分区:
在这里插入图片描述

默认创建的为逻辑分区,p为基本分区(记住基本分区最多为四个),然后依次默认创建,

在这里插入图片描述

最后使用w对分区进行保存,保存好之后查看:
在这里插入图片描述

有时候可能磁盘的信息没有被加载,使用命令
[root@localhost ~]# partprobe #对磁盘进行重新加载;

二、磁盘的格式化:

磁盘分区之后暂时还是不能被使用的,因为要对磁盘进行格式化:

磁盘格式化牵涉两个不同的程序:低级与高端格式化。前者处理磁盘表面格式化赋与磁片扇区数的特质;低级格式化完成后,硬件磁盘控制器(disk controller)即可看到并使用低级格式化的成果;后者处理“伴随着操作系统所写的特定信息”。
低级格式化
低级格式化(Low-Level Formatting)又称低层格式化或物理格式化(Physical Format),对于部分硬盘制造厂商,它也被称为初始化(initialization)。最早,伴随着应用CHS编址方法、频率调制(FM)、改进频率调制(MFM)等编码方案的磁盘的出现,低级格式化被用于指代对磁盘进行划分柱面、磁道、扇区的操作。现今,随着软盘的逐渐退出日常应用,应用新的编址方法和接口的磁盘的出现,这个词已经失去了原本的含义,大多数的硬盘制造商将低级格式化(Low-Level Formatting)定义为创建硬盘扇区使硬盘具备存储能力的操作。现在,人们对低级格式化存在一定的误解,多数情况下,提及低级格式化,往往是指硬盘的填零操作。

高级格式化
高级格式化又称逻辑格式化,它是指根据用户选定的文件系统(如FAT12、FAT16、FAT32、exFAT、NTFS、EXT2、EXT3等),在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。高级格式化包括对主引导记录中分区表相应区域的重写、根据用户选定的文件系统,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间,以便用户使用该分区管理文件。

分区格式:
FAT16

这是MS-DOS和最早期的Win95操作系统中最常见的磁盘分区格式。它采用16位的文件分配表,能支持最大为2GB的硬盘,是目前应用最为广泛和获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这一种格式,从DOS、Win95、Win97到Win98、Windows NT、Win2000,甚至火爆一时的L inux都支持这种分区格式。但是在FAT16分区格式中,它有一个最大的缺点:磁盘利用效率低。因为在DOS和Wi ndows系统中,磁盘文件的分配是以簇为单位的,一个簇只分配给一个文件使用,不管这个文件占用整个簇容量的多少。这样,即使一个文件很小的话,它也要占用了一个簇,剩余的空间便全部闲置在那里,形成了磁盘空间的浪费。由于分区表容量的限制,FAT16支持的分区越大,磁盘上每个簇的容量也越大,造成的浪费也越大。所以为了解决这个问题,微软公司在Win97中推出了一种全新的磁盘分区格式FAT32。

FAT32

这种格式采用32位的文件分配表,使其对磁盘的管理能力大大增强,突破了FAT16对每一个分区的容量只有2 GB的限制。由于硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。而且,FAT32具有一个最大的优点:在一个不超过8GB的分区中,FAT32分区格式的每个簇容量都固定为4KB,与FAT16相比,可以大大地减少磁盘的浪费,提高磁盘利用率。支持这一磁盘分区格式的操作系统有Win97、Win98和Win2000。但是,这种分区格式也有它的缺点,首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的磁盘要慢。另外,由于DOS不支持这种分区格式,所以采用这种分区格式后,就无法再使用DOS系统。

NTFS

它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片。它能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全。支持这种分区格式的操作系统已经很多,从 Windows NT 和 Windows 2000 直至 Windows Vista 及 Windows 7,Windows 8。

ext2、ext3

ext2,ext3是linux操作系统适用的磁盘格式,Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。 linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。 对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定。但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统是非日志文件系统。这在关键行业的应用是一个致命的弱点。
Ext3文件系统是直接从Ext2文件系统发展而来,ext3文件系统已经非常稳定可靠。它完全兼容ext2文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是ext3日志文件系统初始设计的初衷。

在linux中使用mkfs命令对分区进行格式化,并同时分配格式化类型:

例如将新的逻辑分区格式化为ext3类型的格式:
[root@localhost ~]# mkfs.ext3 /dev/sda5
[root@localhost ~]# partprobe #重新加载

三、使用划分的磁盘——挂载

现在磁盘分区好之后就是来使用它了,那么我们如何使用它呢,那就是挂载; 在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。

linux操作系统将所有的设备都看作文件,
它将整个计算机的资源都整合成一个大的文件目录。
我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。

挂载条件
1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样。

挂载类型:

**临时挂载: mount**

例如将分区sda5临时挂载到/mnt下:
/mnt挂载前:
[root@localhost ~]# ll /mnt
total 0
drwxr-xr-x. 2 root root 6 Jul 24 21:23 cdrom

挂载后:
[root@localhost ~]# mount /dev/sda5 /mnt
[root@localhost ~]# ll /mnt
total 16
drwx------. 2 root root 16384 Dec 11 02:38 lost+found

/mnt中的文件暂时不显示不可用;

卸载挂载点:
方法一:
[root@localhost ~]# umount /dev/sda5
方法二:
umount /mnt

永久挂载:
主分区开机自动就被永久挂载到了系统中,这是为什么呢?
那是因为挂载信息被永久的写进了配置文件当中;
做法:编辑挂载配置文件

UUID是什么:

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。目前最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。

UUID作用:
UUID 的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft’s Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。

查看UUID:
[root@localhost ~]# blkid

例如将/dev/sda5永久挂载到系统
[root@localhost ~]# vim /etc/fstab

在这里插入图片描述

按照这样的格式,将配置文件写入
UUID=2a885580-ce82-41d8-bb04-c90a57fbaa74 /mnt ext3(文件类型) defaults 0 0

猜你喜欢

转载自blog.csdn.net/tomatolee221/article/details/84957588