愛伊米

在家玩網路儲存,除了NAS你還可能需要知道的別的

一慣的是反對在NAS上做很多虛擬機器的。

所以也有朋友在問我,你不用NAS那你用什麼呢?

其實這就是數碼玩家的“眼界”問題了,往往是各種UP主在推什麼,數碼玩家才“知道”什麼。

在家玩網路儲存,除了NAS你還可能需要知道的別的

NAS就是最近幾年數碼UP主們著重推的東西。

簡單的說下NAS,NAS(Network Attached Storage,網路附加儲存)如果用通俗易懂的說法就是一種在你的網路上額外增加的一個檔案伺服器。iN最早使用的NAS產品是這個:

在家玩網路儲存,除了NAS你還可能需要知道的別的

Buffalo的一臺雙盤位NAS,掛在家裡的區域網上,可以提供額外的檔案儲存功能。如果開一個SMB共享的話,這臺小裝置和一臺開了共享資料夾的Windows 沒什麼太大區別,你可以透過家裡的區域網向這個裝置上的硬碟中上傳和下載檔案。

也可以透過裝置的WebAccess功能從網頁上直接調取NAS上的檔案。

在家玩網路儲存,除了NAS你還可能需要知道的別的

如果說這個裝置和一臺開著Windows共享的計算機有什麼不同,那麼咱們就可以說它的優勢了,裝置的所有硬體資源都是為了檔案共享這一個目的而存在的,比Windows的共享機更穩定,同時由於沒有其他的系統服務在跑,裝置也就更穩定且節電。

當然了,一個早期的NAS也設計了例如Flickr自動上傳下載、BT下載等等一些列的簡單功能,可以當作一個下載機來使用。

在家玩網路儲存,除了NAS你還可能需要知道的別的

現在新的NAS不僅僅是提供了之前的NAS的大部分功能,甚至還搞起了NAS作業系統

在家玩網路儲存,除了NAS你還可能需要知道的別的

為大家提供更多的功能。

但是——NAS的效能再好,也只能以名字來說侷限性,這是一臺網路附加儲存裝置(NAS,Network Attached Storage),做簡單的檔案儲存還可以,但超出了這個範疇,當作“生產力工具”的確還不是那麼適用。

即便是有的人把NAS升級到萬兆網絡卡,增加了幾個SSD作為快取。看起來NAS的檔案傳輸速度變高了,但這個東西依舊不是一個高速的儲存系統。

甚至可以說——告訴你這玩意可以在NAS的共享資料夾裡面剪影片的UP主不是傻就是壞了。

如果想了解這個論斷,我們就得先了解下磁碟是如何工作的。

在家玩網路儲存,除了NAS你還可能需要知道的別的

很多數碼UP主會告訴你磁碟分了不同的磁軌,在磁軌上分了不同扇區,磁頭從不同的扇區來讀取資料……但是具體這些資料是怎麼讀寫的,很多UP主根本沒有告訴你。

很多科技博主也就拿出一張這樣的圖片來說明磁碟-記憶體-cpu之間的資料流轉關係

在家玩網路儲存,除了NAS你還可能需要知道的別的

不能說是錯誤的,但是“沒有細節”或者說“漏掉了細節”。我們來看一個電腦的系統配置:直接進入電腦的裝置管理中

在家玩網路儲存,除了NAS你還可能需要知道的別的

你會發現在你的電腦裝置中不僅僅有“磁碟”還有“磁碟控制器”,通常CPU會給磁碟控制器指令,讓磁碟控制器去讀寫磁碟上的內容。不同規格的磁碟有不同的控制器指令。例如一個SATA磁碟,接受的是ATA指令,而一個SAS磁碟則要利用SCSI指令來讀寫。另外一些額外的高階功能也寫在了各自的指令集中。

在家玩網路儲存,除了NAS你還可能需要知道的別的

例如ATA指令集是以一個操作碼附帶一個8-16位的引數傳輸到磁碟控制器中,磁碟控制器以此指令去操作磁碟讀寫資料。也有一些工具可以讓你直接使用ATA指令去操作硬碟

在家玩網路儲存,除了NAS你還可能需要知道的別的

所以磁碟的操作到了磁碟控制器上就不僅僅是利用檔案分配表來找檔案這麼簡單的事情了。

為什麼要弄得這麼複雜呢?因為磁碟的操作遠比很多人想象的要複雜。對某一個位元組、某個位的操作方式也不僅僅是讀寫,利用磁碟指令就是操作磁頭直接撥弄磁碟上的儲存單元,最終傳輸“資料塊”到作業系統,然後再由作業系統拼接成我們可使用的檔案。

在家玩網路儲存,除了NAS你還可能需要知道的別的

如果是NAS共享呢?大部分會利用SMB協議的共享系統會再額外增加一層把檔案再轉換成網路資料包的過程,然後再在網路上進行傳輸。

傳輸的內容是SMB資料包,接收之後這些SMB資料包再還原成本地計算機可以讀寫的檔案。這個過程可以在記憶體中復現也可能由於檔案過大,在磁碟快取中復現。

以在NAS上做影片剪輯為例,素材會經過SMB儲存到你的本地磁碟快取中,隨著不同的呼叫過程逐漸的進入到你的剪輯軟體中。在這裡你會發現其實一個大檔案的磁碟讀寫最少經歷了兩次。

這也是為什麼即便是萬兆的生產力NAS在做影片剪輯的時候也不會比本地磁碟速度快的一個很重要原因。

那麼有沒有辦法真正地提高生產力呢?還真有!

你可以把NAS倒過來,組一個SAN系統。

SAN(Storage area network,儲存區域網路),首先得說下,現在的SAN價格要遠遠高於NAS的價格,不過人如果要捨得投入在家庭使用或者小團隊使用價格也並不是太大的障礙。

在家玩網路儲存,除了NAS你還可能需要知道的別的

雖然都是網路儲存,SAN所對應的檔案系統在自己的系統這一側,透過光纖通道或者網線直接釋出磁碟控制器指令,幾乎不封裝的走的是光纖通道,一類價格便宜封裝起來的(例如FCoE)走的就是普通的乙太網通道。和NAS傳回來的檔案不同,在SAN的網路上傳輸回來的就是資料塊了。對檔案資料的使用是在本地來用,但對檔案資料的操作則是在SAN的儲存機上進行操作。這樣就比NAS的效率要高了將近一倍。這就是直接操作塊的魅力所在了

至於利用SMB的NAS有沒有塊操作呢?其實也有,不過問題是當初的確是設計了塊操作的SMB指令,但至今微軟對大容量讀寫和位移塊讀寫的支援都顯得力不從心。甚至類似於SMB_COM_READ_BULK 和 SMB_COM_WRITE_BULK這樣的指令雖然在SMB的協議指令集裡面做出了名稱上的保留,但至今依舊沒有真正的實現過。

相反SAN給你的支援度極高,在SAN下的遠端硬碟幾乎完全等同於本地硬碟,並不是SMB對映驅動器的那種效能。