UNRAID折腾笔记(1) - 系统安装与配置
成品预览
UNRAID是一个什么系统我在这里就不进行讲解了,总而言之就是一个可以同时支持虚拟机和Docker的NAS系统,虽然配置可一点都不轻松,但是确实作为ALL IN ONE的极佳选择,最近入手新硬件之后打算整硬件虚拟化,最终综合考虑选用UNRAID。
至于配置我就直接借用仪表盘的显示了

(可惜最终因为一些原因没能入手10600KF,默频只有2.9而不是4.0有点可惜)
补充:后来去查了发现其实它已经运行在了最高睿频4.0的状态下了,kf的话睿频就是4.5,具体可见下图(嗯,先花了十五块专门去看解锁睿频结果发现已经睿频了)

准备
在准备阶段,首先必须要准备一个U盘,UNRAID的镜像和配置存储在U盘,但运行时是运行在内存上的,运行过程中U盘也是不能拔的,U盘需要正规的,否则在注册时会因此无法读取GUID导致失败,正版的价格不是很便宜,不过有一种玩意叫开心版。鉴于综合考虑,手头上的U盘不多,最终选择用别人预先集成的硬件和系统来快速开始,在某宝上价格也不贵。 (采用的颗粒是MLC的,应该能用很久了)

初始化阵列
今天刚到手预装的硬件,看起来里面已经配备了很多插件,6.9+版本也带有官方中文,先设置了下主机名和密码,接下来就可以尝试先整一个容器了,很明显,使用虚拟机和容器需要先启动阵列。

目前机子里有一块480G的nvme固态,正好可以作为阵列硬盘,后续再接入的机械硬盘还是打算看情况再说,目前而言打算做直通。进入到主界面,就可以直接看到阵列设备面板,专业版的key最高支持30个阵列,但是很显然我用不到这么多而且看了这么多框也烦,所以就调整为三个,这三个指的是一个阵列和两个校验盘


但是当我点击磁盘1准备分配磁盘时就懵了,找不到这个硬盘是咋回事?

后来我以为是BIOS里面我除了U盘启动其他都关掉的原因,但是调了好像也没啥用,纠结了一段时间,在工具-系统设备里面可以看到所有连接到系统的硬件设备,点击右上角的问号可以查看帮助,里面提到

于是我注意到设备列表里面那个打勾的设备,发现其正是nvme控制器,意识到是不是因为已经被绑定了所以无法被发现,于是去掉那个勾并保存重启,最终解决
那个可以直接配置的勾需要安装有VFIO-PCI CFG插件,原版是要自己写config的

重启之后就能在队列设置里面配置硬盘了,分配好硬盘之后,就可以点击底部启动队列了,当然毕竟只有一块硬盘,奇偶校验啥的就没有啦,暂时裸奔问题也不大

新加入阵列的硬盘需要先格式化,只有先前加入过的才不需要重新格式化


现在格式化完成后,就可以看到硬盘的信息与可用容量了

为了方便访问并且保护内部目录,我添加了一个进行外部访问专用的账号,而root作为管理账户

在共享选项卡下,可以看到在阵列启动后产生了许多分区文件夹,这些文件夹为了安全也全部统一在里面设为私有,并给予相应用户读写权限,这个时候要特别留意有没有将导出(Export)选项设为是,不然依旧是看不到共享的文件夹的

###时区
然后,这个再配置这个整合系统没有配置的部分,可以来弄一下。首先,在日期和时间里面配置时区,这里用的时区是错的

这里可以自行找一个国内的ntp服务器,配置ntp时要注意,需要先设置ntp服务器后点应用,然后再切换时区,这样才会触发时间的获取,不然时间还是偏的。如果调好之后还发现时间不对,也可以尝试更改到其他时区再调回来即可解决

然后在磁盘设置里面打开阵列自动启动,这样就不用每次重启之后还要手动启动阵列啦,包括后续的容器和虚拟机自动启动也以阵列在线为前提

docker加速
参考阿里云的教程,登录阿里云控制台之后复制分配的后缀,在web打开终端配置即可,但这个配置同样会面临重启失效的问题,需要生效则需要修改/boot/config/go文件编辑启动脚本,不过这个整合版也安装了User scripts插件便于我们快速编辑go文件

在这里我新建了一个docker_mirrors的脚本,启动条件设为开机运行一次(At First Array Start Only),注意这里的前提其实还是指阵列第一次启动,所以别忘了打开自动启动阵列,点击小齿轮进入编辑脚本,按照阿里云的说明把自己分配到的的专属地址填入即可

这样拉取镜像就能飞快了
https配置
最后就是配置https,虽然UNRAID基本上是在局域网使用的,但是标着不安全看着不太舒服。UNRAID的web服务是基于Nginx+php的,但是直接修改nginx配置是不行的,要记住,所有在系统文件系统里面的文件都是运行在内存的,也就是说重启之后就会丢失,因此还是需要找到提供的配置入口 首先我们自然要先配置SSL证书,无论是自签名的还是云服务器提供商注册的,要将其写入到U的配置目录中。进入U盘目录有多种方法,可以选择打开终端,目录挂载在/boot下,亦或者是利用共享目录,用这个方法需要注意打开权限,找到主界面里的U盘,点击进入配置页,其注意事项和上面SMB的配置一致

进入U盘目录后,找到config/ssl/certs,在这里可以看到有一些PEM文件,如果你曾经修改过服务器名,就会有多个文件,要注意有现在正在使用的服务器名前缀的文件才是我们要修改的文件,在这里,我要修改的就是Codelab开头的文件

打开你的证书,按照这个PEM文件里面原有的文件格式吧证书里面的内容覆盖过去,证书的私钥部分开头是BEGIN RSA PRIVATE KEY而原来的可能是BEGIN PRIVATE KEY,这个不影响直接覆盖就行了,nginx会自动识别 保存之后为了安全,记得关掉flash的共享,毕竟里面都是可修改的配置文件风险还是很大的。紧接着来到设置-管理权限,此时如果你的证书配置正确,已经能在证书发行者和过期时间看到相应信息了,然后打开使用SSL/TLS选项,保存后,就可以得到小锁啦

最后,如果服务器最终要部署到特殊的网络环境(比如我的校园网),那么要记得在网络设置里面配置静态IP
那么基本配置到这里了,算上来折腾了整整一天,不过可算是步入正轨,下一步就开始尝试虚拟机和Docker的配置了