说到“存储”,大家会想到什么?
是这个?
哈哈,没错,我们现在处于信息时代,每天都在和电脑、手机打交道。我们的工作和生活,已经完全离不开视频、音乐、图片、文本、表格这样的数据文件。
▉ 存储的基本载体——硬盘
对于普通用户来说,最常见的存储设备,就是硬盘。
CPU、内存、硬盘
台式机上安装好的硬盘
常见的手机存储芯片:eMMC、UFS(更快)
我们再来简单看看硬盘的内部结构。
左边是机械硬盘,右边是 SSD 固态硬盘
硬盘,也叫磁盘(有点像唱片机)
盘面中一圈圈灰色同心圆为一条条磁道。从圆心向外画直线,可以将磁道划分为若干个弧段,每个弧段被称之为一个扇区(Sector,图中绿色部分)。
扇区是磁盘的最小组成单元。大家应该看出来了,越靠圆心,扇区越短。那么,是不是越往外,扇区越长,存储的数据越多呢?
不一定。
老式的硬盘,不管靠内还是靠外,每个扇区的大小是一样的,都是 512 字节。这种硬盘用柱面 - 磁头 - 扇区号(CHS,Cylinder-Head-Sector)组成的编号进行寻址。
▉ 什么是逻辑卷?什么是文件系统?
Windows 的卷管理系统,就是它自带的磁盘管理工具。而 Linux 的,是大名鼎鼎的 LVM(Logical Volume Manager,逻辑卷管理)。
我们先说说 Windows 的。
硬盘分区
主分区是硬盘的启动分区,我们常说的“C 盘”就是硬盘上的主分区。MBR 分区表可以划分出 4 个主分区。如果使用 GPT 分区,可以管理 128 个主分区。
除去主分区以外,硬盘剩下的容量就被认定为扩展分区。扩展分区不能直接使用。扩展分区可以分成一个或若干个逻辑分区,也就是我们的“D 盘”、“E 盘”等。
动态磁盘是基本磁盘的升级模式。在动态磁盘中,分区叫做卷。卷的出现,就是为了便于对多硬盘进行管理。
简单来说,动态磁盘可以将不同硬盘分到一个卷。假如你手中有 160G 和 250G 硬盘各一块,如果想划分 90G 和 320G 的分区,就可以借助动态磁盘来完成。
动态磁盘里面的卷,又分为简单卷、跨区卷、带区卷、镜像卷、RAID-5 卷。限于篇幅,就不做具体介绍了。基本磁盘里的分区,现在也被微软改叫为卷。
再来看看 Linux 的 LVM 工具。
首先,物理存储介质进行初始化,变成物理卷(PV,physical volume)。
然后,一个或多个物理卷组成一个卷组(VG,Volume Group)。
创建卷组之后,再创建逻辑卷(LV,logical volume)。
整个过程,如下图所示:
LVM 主要元素的构成
不行,还差一步。那就是文件系统(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,存储区域网络)。 这些概念的名字非常像,大家千万别晕。画个图看得明白一些:
SAN 是在 NAS 基础上做的演进。它通过专用光纤通道交换机访问数据,采用 ISCSI、FC 协议。 SAN 和 NAS 的关键区别,就在于文件系统的位置。画个图就明白了:
在 NAS 的模式下,不同的客户端可以使用网络文件系统(Network File System)访问 NAS 上的文件。常见的网络文件系统有 Windows 网络的 CIFS(也叫 SMB)、类 Unix 系统网络的 NFS 等。 FTP、HTTP 其实也算是文件存储的某种特殊实现,它们通过某个 URL 地址来访问一个文件。