10. 台式机硬盘满了,用iSCSI连接NAS当本地磁盘用,相比文件共享有哪些性能坑?

2026-07-05

老铁们,今天聊个实在话题。台式机硬盘塞满了,买了NAS,想着能不能把它直接当成一块本地硬盘用?iSCSI这玩意儿听着挺高大上,能把NAS上的空间映射成你电脑里的一个盘符,比如D盘、E盘。看起来跟内置硬盘一模一样,爽不爽?但别急着上车,咱得先唠唠它跟普通文件共享(就是你在“网络”里看到的那种共享文件夹)比,到底有哪些性能上的坑。我把这些年踩过的雷整理一下,都是血泪教训。

第一个坑:网络延迟——你家的水管子不够粗

iSCSI的原理,说白了就是把远程NAS上的磁盘块通过网线传给你。你的电脑以为在操作本地硬盘,其实每个读写请求都要走网络。打个比方,本地硬盘就像你家厨房水龙头,一拧就出水;iSCSI就像你去小区公用水泵打水,中间隔了管道、阀门、甚至还要排队。如果你的内网是千兆,理论速度跟机械硬盘差不多,但实际延迟(ping值)一般在1-5毫秒,而本地SATA延迟在0.1毫秒级别。差了一个数量级。

真实场景:你往iSCSI盘里拷几百张小图片(比如照片库),每张图几MB,系统会一个个小块地写。每一个小块都要经历“发送请求→NAS处理→返回确认”,来回折腾几十次。千兆网勉强能忍,如果是百兆网,或者交换机有瓶颈,那感觉就像用优盘拷大文件突然卡住。而文件共享(SMB)呢?它用的是“文件级”协议,会把多个小块合并成大包再传,延迟容忍度高得多。

第二个坑:并发争抢——多人一起用就打架

iSCSI设计初衷是给单台服务器当块设备用,不是给多台电脑同时读写的。假设你台式机挂了iSCSI盘,家里另一台笔记本也挂同一个LUN(逻辑单元),两边的缓存会乱套——你刚写进去一个文件,对方读到的可能是旧数据。这就是常说的“脑裂”。除非你用集群文件系统(比如Windows的CSV、Linux的OCFS2),但那玩意儿配置复杂,普通人搞不定。

真实场景:你媳妇用她的电脑往iSCSI盘里存了一部电影,你在自己电脑上刷新发现没出现,气得摔鼠标。文件共享就没这毛病:SMB协议天然支持多用户并发,锁定机制成熟,谁改了文件立刻能看到。所以,如果你家里有三四个人都要读写NAS里的数据,老老实实走文件共享,别折腾iSCSI。

第三个坑:缓存与写入顺序——断电后悔都来不及

iSCSI的initiator(发起端)和target(目标端)都有自己的缓存。好多便宜的NAS,缓存策略是“写回”(write-back),就是数据先放内存里,攒够了再写磁盘。这时候如果突然断电,你的数据就没了。而文件共享也有缓存,但SMB更聪明——它会告诉你“写入完成”其实是网络层面确认,不是数据落盘。真要保险,得开启“直写”(write-through),但性能会暴跌。

真实案例:我之前给单位的影视工作站挂iSCSI做剪辑素材盘。剪到一半跳闸,重启后那个分区直接变成RAW,里面素材全废。后来老老实实换回SMB共享文件夹,虽然速度慢点,但从来没丢过数据。iSCSI就像一个飙车的手动挡,性能上限高,但一个操作失误就翻车;SMB是自动挡,跑不快但稳。

第四个坑:碎片与碎片整理——你没权限管

iSCSI盘被电脑识别成本地磁盘,你可以把它格式化成NTFS,也能运行磁盘碎片整理。但问题是,你看到的“磁盘”其实是NAS上的一块逻辑区域,底层可能是RAID、多盘交织。你运行Windows自带的碎片整理工具,不但没啥效果,还可能因为随机读写太多拖垮NAS性能。而且NAS端可能也有自己的碎片整理机制,两边一起整理,互相冲突,磁盘I/O飙到100%。

真实场景:我同事给NAS分了100GB给iSCSI当虚拟机硬盘,用了半年感觉变慢,打开碎片整理,跑了一整天才5%。后来一查,NAS本身用的是ZFS文件系统,ZFS内部会自动优化,你这边整理反而是帮倒忙。最好的做法是:iSCSI只用来跑大型连续读写(比如数据库日志、镜像文件),别用来做日常办公文件夹。

没那么糟,但得有觉悟

iSCSI也不是一无是处。它最大的优势是能跑那些“必须看见本地磁盘才能工作”的软件,比如老掉牙的工控软件、某些不认网络路径的安装程序。还有做虚拟化的时候,用iSCSI给ESXi挂存储是标配。但普通家用或办公场景,文件共享(SMB/CIFS)绝对是更省心的选择。

最后给个我的建议:如果只是堆电影、存文档、多设备访问,就用文件共享;如果你硬要尝鲜iSCSI,务必上好UPS、配好网线、关掉写缓存、只用千兆以上网络。别问我怎么知道的,我的素材盘至今还有一块是RAW没救回来。

想了解更多NAS和存储方案?更多方案可访问 itfangan.com,上面有各种配置避坑指南,都是我这些年实际试出来的。