Network-Attached Storage (NAS)

Introduction

從使用者角度來說,NAS 和 Host-attached storage 用起來差不多

然而對於 OS 來說,使用 Host-attached storage 是直接對硬碟發送 I/O request,而 NAS 則是一個遠端 file system,存取方式是透過 RPC 協定請「另一台電腦幫我讀這個檔案」

RPC 跑在 TCP 或 UDP 上,走一般的 LAN 所以不用像 Host-attached storage 有專門線路

NAS 是為 LAN 設計的

NAS protocol 是為 LAN 設計的,理論上可以跑在 WAN 但會出問題,要跑在 WAN 上的話要用 Cloud storage

Locking Mechanism

因為多台 client 可能同時想要存取同一個 address,所以 NFS、CIFS 都有 file locking 的功能確保不會有 race condition 搞壞資料

Limitation

因為 NAS 和普通網路流量走同一條 LAN,所以效率比 Host-attached storage 差而且 latency 也較高(因為要跑到另一台電腦)