NAS(Network Attached Storage),直译就是网络附属存储,如果要DIY,那么首先需要解决大容量存储的问题。
一般的NAS的存储规模通常在20T~100TB,普通市场没有这么大容量的磁盘,所以通常由几块到几十块硬盘组成。
也就是说NAS的文件系统,首先需要解决跨硬盘的存储的问题,即存储池。
而普通的AIX、NTFS、EXT4、BSD等文件系统,由于无法跨越多个硬盘,所以将会被排除掉。
目前常见的跨硬盘的文件系统有:ZFS、RAID、VMFS、cephFS、BtrFS等等。
下面简单说下各文件系统的含义:
他们都解决了存储扩展的问题,以及跨硬盘存储的问题, 使得我们在DIY的时候多了一种选择。
也有人说LVM(Logical Volume Manager)逻辑卷管理也能把多个磁盘组织成为一个文件系统呀。
由于lvm本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,所以不算在内。
如下图:
以及win10上的存储池,由于用win的NAS不多,这里也不算在内。 HDFS 分布式存储一样被排除。
总的来说,常用的可扩展存储池有上面的5种。也就是说我们DIY玩家不一定非得局限于某个厂家或者某个文件系统。
由于这5种是独立的文件系统,可简单理解为NTFS、或ext4,所以只要能在某个系统上挂载上这个文件系统,那么我们就得到了一个巨大容量的“硬盘”(存储池),这块“硬盘”还带有冗余纠错的功能。
简单来说,就是我们需要一种能把N个硬盘组织为一个存储池的东东(经典的RAID0),然后挂载到我们定制的系统上,这样就是一台NAS了。
至于拿这么大的存储池,安装个Nextcloud当作网盘也好,还是当FTP也好,属于应用的范畴不在讨论范围之内。
当然,还是建议普通用户用成品,毕竟成品NAS,比如TrueNAS等都集成了虚拟机、NFS、Samba等等服务,以及管理页面,简单省事。
相关链接: