基于J3455搭建NAS

需求篇

自从发生了几次数据丢失事故以后,一台NAS就成了我们家的迫切需求。首先,需要可以组建磁盘阵列备份数据,保证数据安全;其次,需要方便家人操作,可以作为服务器提供个人网盘服务、照片浏览服务等;然后,需要在家里充当客厅HTPC,外接5.1声道音响以及投影仪;最后,功耗和噪音希望可以尽量控制,实现7*24小时开机。

硬件篇

CPU

Intel Celeron J3455    功耗低,TDP仅10W,虽然主频不高但有四核,集成显卡,并且无需风扇

主板

华擎J3455-ITX     当前市场上最合适的主板,板载J3455 CPU,提供4个sata口,17*17尺寸小,多媒体方面支持hdmi和光纤输出,兼顾HTPC需求

内存

主板只支持笔记本内存,建议使用金士顿、威刚等主流品牌DDR3L 1600低电压内存,至少需要4G,如使用zfs文件系统至少要8G

硬盘

至少准备3块硬盘:1块系统盘安装各种操作系统,建议使用笔记本硬盘或小容量SSD;数据存储最低要求2块大容量硬盘组raid1。我现在用的西数蓝盘,但噪音较大,稳定性存疑,不推荐。

电源

由于平台功率小,所以对功率和转换效率没有要求,但应尽量静音,并提供足够的硬盘供电接口。

软件篇

由于我需要NAS提供多种服务,所以计划基于虚拟机以及容器安装软件

基于J3455搭建NAS_第1张图片

底层系统

使用vSphere Hypervisor(即ESXi),在此基础上组建虚拟机。目前是免费的,注册一个账户即可得到许可证号码和下载链接,页面链接如下:

https://www.vmware.com/cn/products/vsphere-hypervisor.html

我选择安装的是6.0u2版,安装过程中遇到了几个问题记录一下:

1. 需要使用rufus将ISO写入U盘,同时创建Linux引导程序,才能正常安装ESXi,程序下载地址:

http://rufus.akeo.ie/

2. 安装程序启动过程中报错“nfs41clientfailedtoload”。这个原因为没有网卡驱动,

        首先,需要下载ESXi-Customizer-v2.7.2这个软件

https://www.v-front.de/p/esxi-customizer.html

        之后,下载驱动程序,根据网卡型号,我选择的是net55-r8168,下载vib文件即可

https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages

        最后,运行ESXi-Customizer程序,选择原始ISO镜像及vib文件,即可生成修改后的ISO

3. 选择安装盘时,只能选择安装到U盘。这个原因是没有硬盘控制器驱动,解决方法同上,只是驱动程序选择sata-xahci。


基于J3455搭建NAS_第2张图片

安装成功后,在控制端选择:配置->软件->已获许可类型->编辑,输入你的许可证号,就可以永久使用了。

NAS系统

目前主流的NAS系统是freeNAS以及群晖。然而,新版freeNAS使用zfs文件系统,最低要求8G内存,在这个内存如此金贵的时期显然不划算。至于群晖,则根本就不是开源的,所谓的黑群晖版本无法保证可靠性。

最终我选择了一个小巧的系统OpenMediaVault(OMV),这个系统只要求1G内存。系统本身相当于在Debian基础上增加了NAS需要的各种服务,并提供网页图形界面,配置非常简便。同时可以通过内置的docker安装各种应用扩展功能。官网如下:

http://www.openmediavault.org/

此外,建议将数据盘直通给NAS系统管理,便于建立磁盘阵列。在ESXi系统做如下配置即可:


基于J3455搭建NAS_第3张图片
基于J3455搭建NAS_第4张图片

Docker

OMV系统的扩展,使用Docker插件最为便捷:

1. 系统自带的插件种类较少,需要先按官网指南下载并安装omv-extras扩展插件种类

http://omv-extras.org/joomla/index.php/guides

2. 之后就可以在OMV系统中安装docker-gui插件,用来支持管理页面直接控制docker


基于J3455搭建NAS_第5张图片

3. 启用docker插件,可以随意从Docker Hub上下载镜像了


基于J3455搭建NAS_第6张图片

Nextcloud

Nextcloud是一个提供私人网盘服务的系统,安装好后使用方法类似百度网盘,OneDrive之类的产品。同时它提供手机、平板等客户端,功能非常强大。

https://nextcloud.com/

通过OMV的docker插件,直接下载nextcloud的官方镜像,即可使用,省去了很多麻烦。唯一的问题就是网络,docker默认的网络是一种类似NAT的网络,只能通过端口映射开放有限的端口给容器。而手机端连接时,服务器地址只允许填写IP。所以,需要给容器配置一个与宿主机同网段的独立IP地址。方法如下:

1. 在OMV系统->服务->Docker->Networks,新建一个网络,subnet填网段地址,网关填宿主机的网关地址,parent填宿主机的网卡接口


基于J3455搭建NAS_第7张图片

2. 新建docker容器时,网络模式选择Macvlan,IP地址选希望给容器分配的地址


基于J3455搭建NAS_第8张图片

3. 启动容器后,就可以通过非宿主机的电脑直接访问容器了。但是,这种方式宿主机与容器之间互相无法访问,如果需要访问,接着在宿主机输入以下命令即可:

ip link add mac0 link eth0 type macvlan mode bridge //在eth0接口上桥接子接口

ip addr add 192.168.31.203/24 dev mac0 //给子接口mac0分配ip

ip link set mac0 up //手工启动子接口

ip route add 192.168.31.202 dev mac0 //添加路由,通过子接口访问docker容器


至此NAS的基本功能已经搭建完毕,其余个性化虚拟机、插件、容器的安装思路都是类似的。

你可能感兴趣的:(基于J3455搭建NAS)