谈谈关于存储技术的入门

存储 存储软件
哈哈,没错,我们现在处于信息时代,每天都在和电脑、手机打交道。我们的工作和生活,已经完全离不开视频、音乐、图片、文本、表格这样的数据文件。

[[335593]]

本文转载自微信公众号「鲜枣课堂」,作者小枣君 。转载本文请联系鲜枣课堂公众号。 

说到“存储”,大家会想到什么?

是这个?

 

还是这个?

 

又或者是这个?

 

哈哈,没错,我们现在处于信息时代,每天都在和电脑、手机打交道。我们的工作和生活,已经完全离不开视频、音乐、图片、文本、表格这样的数据文件。

而所有这些数据文件,都需要通过电子设备进行保存,这就是数据存储,简称存储。

[[335597]]

 

存储的基本载体——硬盘

对于普通用户来说,最常见的存储设备,就是硬盘。

我们知道,计算机的三大核心硬件,分别是CPU(中央处理器)、内存(Memory)和硬盘(Hard Disk)。CPU负责运算,硬盘负责存储。而内存,是CPU和硬盘之间的桥梁。用于暂时存放CPU中的运算数据。

CPU、内存、硬盘

 

绝大部分的台式机、服务器、手机,都是内置存储系统。也就是说,它们的硬盘安装在设备内部。

以普通台式机为例,硬盘通过专用接口和数据线,连接在主板上,实现和CPU、内存的数据连接。

台式机上安装好的硬盘

 

常用的硬盘专用接口如下:

 

手机等数码设备的“硬盘”,则是做成了很小的存储芯片,直接焊在主板上。

常见的手机存储芯片:eMMC、UFS(更快)

 

我们再来简单看看硬盘的内部结构。

目前主流的硬盘类型有两种,分别是传统机械硬盘和SSD固态硬盘。小枣君以大家比较熟悉的机械硬盘为例进行介绍。

左边是机械硬盘,右边是SSD固态硬盘

 

硬盘之所以叫硬盘,是因为它的核心部分是一块或多块由坚硬金属材料制成的盘片。盘片上面涂抹了磁性介质,两面都可以记录信息。在盘面上读/写数据的,是磁头。

硬盘,也叫磁盘(有点像唱片机)

 

下图显示的是一个盘面:

 

盘面中一圈圈灰色同心圆为一条条磁道。从圆心向外画直线,可以将磁道划分为若干个弧段,每个弧段被称之为一个扇区(Sector,图中绿色部分)。

扇区是磁盘的最小组成单元。大家应该看出来了,越靠圆心,扇区越短。那么,是不是越往外,扇区越长,存储的数据越多呢?

不一定。

老式的硬盘,不管靠内还是靠外,每个扇区的大小是一样的,都是512字节。这种硬盘用柱面-磁头-扇区号(CHS,Cylinder-Head-Sector)组成的编号进行寻址。

而现在主流的硬盘,扇区密度是一致的,也就是说,越靠外侧,扇区数越多。每个扇区的大小是4K字节,用一个逻辑块编号寻址(LBA,Logical Block Addressing)。

以扇区为基础,一个或多个连续的扇区组成一个块,叫做物理块。所以,硬盘往往又叫块设备(Block Device)。

 

什么是逻辑卷?什么是文件系统?

为了方便管理,我们可以将硬盘这样的物理块设备,分割成多个逻辑块设备。或者,我们也可以将多个物理块设备,组合成一个容量更大的逻辑块设备。

 

底层的相关技术和工具,包括RAID(大家可能比较熟悉)、JBOD、卷管理系统(Volume Manager)。

Windows的卷管理系统,就是它自带的磁盘管理工具。而Linux的,是大名鼎鼎的LVM(Logical Volume Manager,逻辑卷管理)。

我们先说说Windows的。

在Windows中,磁盘分为基本磁盘和动态磁盘。默认情况下,用户用的都是基本磁盘。

一个基本磁盘可以划分为多个分区,分区类别包括主分区、扩展分区和逻辑分区。

硬盘分区

 

主分区是硬盘的启动分区,我们常说的“C盘”就是硬盘上的主分区。MBR分区表可以划分出4个主分区。如果使用GPT分区,可以管理128个主分区。

除去主分区以外,硬盘剩下的容量就被认定为扩展分区。扩展分区不能直接使用。扩展分区可以分成一个或若干个逻辑分区,也就是我们的“D盘”、“E盘”等。

 

动态磁盘是基本磁盘的升级模式。在动态磁盘中,分区叫做卷。卷的出现,就是为了便于对多硬盘进行管理。

简单来说,动态磁盘可以将不同硬盘分到一个卷。假如你手中有160G和250G硬盘各一块,如果想划分90G和320G的分区,就可以借助动态磁盘来完成。

动态磁盘里面的卷,又分为简单卷、跨区卷、带区卷、镜像卷、RAID-5卷。限于篇幅,就不做具体介绍了。基本磁盘里的分区,现在也被微软改叫为卷。

再来看看Linux的LVM工具。

其实LVM和动态磁盘的思路差不多的,也是把物理空间变成逻辑空间。

首先,物理存储介质进行初始化,变成物理卷(PV,physical volume)。

然后,一个或多个物理卷组成一个卷组(VG,Volume Group)。

创建卷组之后,再创建逻辑卷(LV,logical volume)。

整个过程,如下图所示:

LVM主要元素的构成

 

好了,不管是Windows还是Linux,逻辑卷都有了,是不是可以直接使用它们啦?

不行,还差一步。那就是文件系统(File System)。

文件系统就像仓库管理员。作为用户,你不需要知道仓库里面到底是什么样子,只需要把货物交给他,他会以一个树形结构目录,登记这些货物。你来取的时候,只需要告诉他路径,他就会把货物交给你。

文件夹结构

 

文件系统有很多种类型,常见的有Windows的FAT/FAT32/NTFS(大家应该很熟悉),还有就是Linux的EXT2/EXT3/EXT4/XFS/BtrFS等。

Windows系统下,通过对分区(卷)进行文件系统格式化,再分配一个盘符,我们就可以在“我的电脑”里看到可用的磁盘。Linux系统下,我们需要对逻辑卷进行文件系统格式化,然后执行挂载操作,也就能对存储空间进行使用了。

▉ 什么是DAS/NAS/SAN

除了内置存储之外,随着存储容量需求的不断增加,加上维护便利性的需要,计算机系统开始引入了外挂存储。也就是说,硬盘从计算机的内部,跑到了计算机的外部。

外挂存储分为两种,一种是直连式存储(DAS,Direct Attached Storage),还有一种是网络存储(FAS,Fabric Attached Storage)。

DAS直连式存储,一般是使用专用线缆(例如SCSI),与存储设备(例如磁盘阵列)进行直连。

 

虽然数据存储设备看似在外部,但直接挂接在服务器内部总线上,是整个服务器结构的一部分。

DAS的缺点是存储设备只能连接到一台主机使用,无法共享,成本较高,且安全性可靠性较低。

FAS网络存储,是一种多点连接式的存储。它又分为NAS(Network-attached Storage,网络接入存储)和SAN(Storage Area Network,存储区域网络)。

这些概念的名字非常像,大家千万别晕。画个图看得明白一些:

 

NAS与DAS相比,最大的特点是非直连。它可以通过IP网络,实现多台主机与存储设备之间的连接。

 

NAS大大提高了存储的安全性、共享性和成本。但是I/O(输入输出)渐渐成为性能瓶颈。随着应用服务器的不断增加,网络系统效率会急剧下降。为了解决这个问题,出现了SAN存储方案。

SAN是在NAS基础上做的演进。它通过专用光纤通道交换机访问数据,采用ISCSI、FC协议。

SAN和NAS的关键区别,就在于文件系统的位置。画个图就明白了:

 

可以看出,如果说SAN是一块网络硬盘的话,NAS基本上已经像一台独立的服务器了。NAS拥有文件系统,用户可以通过TCP/IP协议直接访问上面的数据。

现在很多家庭都开始使用小型NAS设备,相当于一个小型服务器。

 

在NAS的模式下,不同的客户端可以使用网络文件系统(Network File System)访问NAS上的文件。常见的网络文件系统有Windows网络的CIFS(也叫SMB)、类Unix系统网络的NFS等。

 

FTP、HTTP其实也算是文件存储的某种特殊实现,它们通过某个URL地址来访问一个文件。

 

责任编辑:武晓燕 来源: 鲜枣课堂
相关推荐

2013-03-12 09:52:04

技术文档技术反馈程序员

2009-11-06 11:07:52

WCF事务属性

2013-01-05 14:30:42

2023-01-05 11:27:27

技术架构

2016-11-24 23:13:57

技术善于观察善于总结

2019-04-12 09:11:53

技术研发图片

2017-08-28 15:30:49

Android编码器编码

2022-09-27 23:10:31

SSD硬盘元器件

2015-05-20 09:44:54

混合云云存储合规

2017-09-22 16:08:16

Python协程编程

2017-08-03 17:30:51

IBM存储IBM存储

2021-03-01 06:12:51

Redis存储数据结构

2017-11-07 08:54:06

云存储技术系统

2012-04-16 15:08:33

2012-05-03 15:01:24

数值压缩

2018-12-26 13:22:05

NVMeNVMe-oF数据

2009-11-10 15:36:24

VB.NET命名约定

2009-11-17 15:57:26

PHP数组合并

2016-01-28 18:25:25

戴尔云计算

2022-08-14 07:14:50

Kafka零拷贝
点赞
收藏

51CTO技术栈公众号