說到“存儲(chǔ)”,大家會(huì)想到什么?
是這個(gè)?
哈哈,沒錯(cuò),我們現(xiàn)在處于信息時(shí)代,每天都在和電腦、手機(jī)打交道。我們的工作和生活,已經(jīng)完全離不開視頻、音樂、圖片、文本、表格這樣的數(shù)據(jù)文件。
而所有這些數(shù)據(jù)文件,都需要通過電子設(shè)備進(jìn)行保存,這就是數(shù)據(jù)存儲(chǔ),簡稱存儲(chǔ)。
▉?存儲(chǔ)的基本載體——硬盤
對(duì)于普通用戶來說,最常見的存儲(chǔ)設(shè)備,就是硬盤。
CPU、內(nèi)存、硬盤
絕大部分的臺(tái)式機(jī)、服務(wù)器、手機(jī),都是內(nèi)置存儲(chǔ)系統(tǒng)。也就是說,它們的硬盤安裝在設(shè)備內(nèi)部。
臺(tái)式機(jī)上安裝好的硬盤
常見的手機(jī)存儲(chǔ)芯片:eMMC、UFS(更快)
我們再來簡單看看硬盤的內(nèi)部結(jié)構(gòu)。
左邊是機(jī)械硬盤,右邊是 SSD 固態(tài)硬盤
硬盤,也叫磁盤(有點(diǎn)像唱片機(jī))
盤面中一圈圈灰色同心圓為一條條磁道。從圓心向外畫直線,可以將磁道劃分為若干個(gè)弧段,每個(gè)弧段被稱之為一個(gè)扇區(qū)(Sector,圖中綠色部分)。
扇區(qū)是磁盤的最小組成單元。大家應(yīng)該看出來了,越靠圓心,扇區(qū)越短。那么,是不是越往外,扇區(qū)越長,存儲(chǔ)的數(shù)據(jù)越多呢?
不一定。
老式的硬盤,不管靠內(nèi)還是靠外,每個(gè)扇區(qū)的大小是一樣的,都是 512 字節(jié)。這種硬盤用柱面 - 磁頭 - 扇區(qū)號(hào)(CHS,Cylinder-Head-Sector)組成的編號(hào)進(jìn)行尋址。
▉ 什么是邏輯卷?什么是文件系統(tǒng)?
Windows 的卷管理系統(tǒng),就是它自帶的磁盤管理工具。而 Linux 的,是大名鼎鼎的 LVM(Logical Volume Manager,邏輯卷管理)。
我們先說說 Windows 的。
硬盤分區(qū)
主分區(qū)是硬盤的啟動(dòng)分區(qū),我們常說的“C 盤”就是硬盤上的主分區(qū)。MBR 分區(qū)表可以劃分出 4 個(gè)主分區(qū)。如果使用 GPT 分區(qū),可以管理 128 個(gè)主分區(qū)。
除去主分區(qū)以外,硬盤剩下的容量就被認(rèn)定為擴(kuò)展分區(qū)。擴(kuò)展分區(qū)不能直接使用。擴(kuò)展分區(qū)可以分成一個(gè)或若干個(gè)邏輯分區(qū),也就是我們的“D 盤”、“E 盤”等。
動(dòng)態(tài)磁盤是基本磁盤的升級(jí)模式。在動(dòng)態(tài)磁盤中,分區(qū)叫做卷。卷的出現(xiàn),就是為了便于對(duì)多硬盤進(jìn)行管理。
簡單來說,動(dòng)態(tài)磁盤可以將不同硬盤分到一個(gè)卷。假如你手中有 160G 和 250G 硬盤各一塊,如果想劃分 90G 和 320G 的分區(qū),就可以借助動(dòng)態(tài)磁盤來完成。
動(dòng)態(tài)磁盤里面的卷,又分為簡單卷、跨區(qū)卷、帶區(qū)卷、鏡像卷、RAID-5 卷。限于篇幅,就不做具體介紹了?;敬疟P里的分區(qū),現(xiàn)在也被微軟改叫為卷。
再來看看 Linux 的 LVM 工具。
首先,物理存儲(chǔ)介質(zhì)進(jìn)行初始化,變成物理卷(PV,physical volume)。
然后,一個(gè)或多個(gè)物理卷組成一個(gè)卷組(VG,Volume Group)。
創(chuàng)建卷組之后,再創(chuàng)建邏輯卷(LV,logical volume)。
整個(gè)過程,如下圖所示:
LVM 主要元素的構(gòu)成
不行,還差一步。那就是文件系統(tǒng)(File System)。
文件系統(tǒng)就像倉庫管理員。作為用戶,你不需要知道倉庫里面到底是什么樣子,只需要把貨物交給他,他會(huì)以一個(gè)樹形結(jié)構(gòu)目錄,登記這些貨物。你來取的時(shí)候,只需要告訴他路徑,他就會(huì)把貨物交給你。
文件夾結(jié)構(gòu)
文件系統(tǒng)有很多種類型,常見的有 Windows 的 FAT/FAT32/NTFS(大家應(yīng)該很熟悉),還有就是 Linux 的 EXT2/EXT3/EXT4/XFS/BtrFS 等。
Windows 系統(tǒng)下,通過對(duì)分區(qū)(卷)進(jìn)行文件系統(tǒng)格式化,再分配一個(gè)盤符,我們就可以在“我的電腦”里看到可用的磁盤。Linux 系統(tǒng)下,我們需要對(duì)邏輯卷進(jìn)行文件系統(tǒng)格式化,然后執(zhí)行掛載操作,也就能對(duì)存儲(chǔ)空間進(jìn)行使用了。
▉ 什么是 DAS/NAS/SAN
外掛存儲(chǔ)分為兩種,一種是直連式存儲(chǔ)(DAS,Direct Attached Storage),還有一種是網(wǎng)絡(luò)存儲(chǔ)(FAS,F(xiàn)abric Attached Storage)。
DAS 直連式存儲(chǔ),一般是使用專用線纜(例如 SCSI),與存儲(chǔ)設(shè)備(例如磁盤陣列)進(jìn)行直連。
雖然數(shù)據(jù)存儲(chǔ)設(shè)備看似在外部,但直接掛接在服務(wù)器內(nèi)部總線上,是整個(gè)服務(wù)器結(jié)構(gòu)的一部分。 DAS 的缺點(diǎn)是存儲(chǔ)設(shè)備只能連接到一臺(tái)主機(jī)使用,無法共享,成本較高,且安全性可靠性較低。 FAS 網(wǎng)絡(luò)存儲(chǔ),是一種多點(diǎn)連接式的存儲(chǔ)。它又分為NAS(Network-attached Storage,網(wǎng)絡(luò)接入存儲(chǔ))和SAN(Storage Area Network,存儲(chǔ)區(qū)域網(wǎng)絡(luò))。 這些概念的名字非常像,大家千萬別暈。畫個(gè)圖看得明白一些:
SAN 是在 NAS 基礎(chǔ)上做的演進(jìn)。它通過專用光纖通道交換機(jī)訪問數(shù)據(jù),采用 ISCSI、FC 協(xié)議。 SAN 和 NAS 的關(guān)鍵區(qū)別,就在于文件系統(tǒng)的位置。畫個(gè)圖就明白了:
? 在 NAS 的模式下,不同的客戶端可以使用網(wǎng)絡(luò)文件系統(tǒng)(Network File System)訪問 NAS 上的文件。常見的網(wǎng)絡(luò)文件系統(tǒng)有 Windows 網(wǎng)絡(luò)的 CIFS(也叫 SMB)、類 Unix 系統(tǒng)網(wǎng)絡(luò)的 NFS 等。 FTP、HTTP 其實(shí)也算是文件存儲(chǔ)的某種特殊實(shí)現(xiàn),它們通過某個(gè) URL 地址來訪問一個(gè)文件。