从0开始all in one第二期:Truenas系统

都说all in one,all in boom,但是人人都想all in one,毕竟只花一个机器的钱同时做nas+下载机+软路由+家庭服务器等等,省钱省力,虽然都说all in boom,除非设备boom了不然基本上不会炸的。不过不少小伙伴苦于没折腾过,也不知道从哪里入门,这里就开个系列,从0开始折腾。

本系列内容较多,涉及到设备选购、系统安装等方面,部分服务的具体部署,每个人需要的服务器(all in one设备这里简称服务器)不同,本人内容只当个参考,如果感兴趣不妨关注一下。

系统关系到整个服务器软件底层,一般all in one都会选择pve(Proxmox)、esxi作为底层,也有使用windows server、unaraid,但是我这里选择了truenas scale(truenas前身是freenas)。

truenas作为底层最大的优势就是本身是专业的nas系统,那对于all in one中nas的任务就由他来承担,而且其支持zfs,在大内存的情况下有着不错的性能;同时scale基于linux系统(core是freebsd),虚拟机是kvm(pve也是kvm,所以两者本质上并无区别),也能够开虚拟机。

一、安装

安装和常规系统安装基本上差不多,这里不做介绍,安装完成之后https+ip就可以进入系统控制台。

提醒:安装时可以同时选择多块硬盘组成raid1(镜像模式)来安装,意味着在坏掉一块系统盘时系统仍然能够正常运行。

二、raidz1、raidz2、raid1、条带

raidz1可以简单看成raid5,raidz2可以简单看作raid6,前者可以允许坏一块盘,后者允许坏两块盘,条带可以简单理解成raid0。

我推荐raidz1/raidz2+条带的模式,也就是raidz0/raidz20,可以简单理解成raid50/raid60。

如果想要使用raid50/raid60/raid10,需要先建立raidz1/raidz2/raid1之后组合,这里我以raid10为例。

在一个vdev下组建了两个raid1,那合起来就是raid10,其他的同理。

提醒:如果是先组成一个raidz1等阵列使用一段时间之后再组另一个raidz1阵列,这种不在同一时间组合成的条带性能并不如一开始就组合,所以建议刚开始就规划好。

三、缓存

truenas大部分以内存作为缓存,所以内存越大越好,但是由于linux特性,只能吃掉一半的内存作为缓存(也可以通过命令来改),剩下的内存正好可以给虚拟机用。

同时还可以手动添加读缓存(cache)、写缓存(log),还可以添加一个metadata元数据,这三部分缓存只推荐使用ssd,用hdd当缓存怕是想不开

cache读缓存,硬盘损坏,只降低性能,并不影响数据安全,容量不用太大。

log写缓存,硬盘损坏,有数据丢失风险。此写缓存并不是通常理解的数据写入缓存,而是log缓存,可简单理解成日志之类的数据,选择高速小容量长寿面的ssd就可以了。当开启同步写入后最好加入raid1的log写缓存,如果机械硬盘不加速度会非常非常慢,哪怕是ssd也会降速很明显!

metadata元数据,ssd一旦损坏损坏,池也就挂了而且一旦加入池不能手动移除。主要作用就是加速小文件,只能raid1模式,选择高寿命高性能的ssd即可。

这里我只添加了读缓存和写缓存,其中log写缓存我是选择了两个16g傲腾做raid1,log缓存不需要太大,一般情况下十几g空间绰绰有余了,我这里并没有添加metadata,因为不好移除而且对性能提升也不大。

四、同步or异步写入

同步写入则是数据同时写到内存和硬盘,如果这时候没有写入缓存速度会非常非常慢,异步写入则是先临时写入到内存再写回到硬盘,性能非常好,毕竟一开始是写入到内存。

如果有ups建议默认异步写入就行了,断电并不会导致数据丢失,如果没有ups那还是启用同步写入吧。

在数据集中同步选择一直则是同步写入,默认和禁用则是异步写入(默认就是默认异步写入)。

附上虚拟机的磁盘性能,hdd+缓存+同步写入,可以看出4k写入性能提升了10多倍,如果是异步写入缓内(内存)速度比ssd还快

THE END