UNRAID组装搭建日记-----又臭又长的记录文章!

什么值得买 2021-05-28 17:04:42 显示图片

作者:春暖花开半夏花

【写作说明】:该文章记录自己组装和搭建UNRAID的过程,纯属个人折腾,不喜勿喷,本来是这篇文章一次性记录所有的内容,结果发现好像写不完的节奏,主要是有些东西来回折腾,有些抄作业,抄来发现并不适合自己,继续自己折腾,变动比较多,慢慢记录吧。

购买理由

从群晖,到威联通,折腾过软路由、黑群晖、黑威联通,最终上了UNRAID的车,一直有自己折腾NAS的心,但是时间不充足,也不是专门搞这个的,自己找教程瞎弄,记录下UNRAID的组装和搭建过程,纯属个人爱好。

整机还没组装完,只因机箱还没到,年前预定的TANK电玩家的6盘位 家用 NAS MATX A4 黑群晖 企业 静音 文件 服务器 机箱,等了半年,马上就到货了,这大概是毕业机箱了,不会再折腾。

整机8600K+Z370M D3H+金士顿 16GB DDR4 3200(回头再加一条)+2*4T HDD校验盘+3*2T HDD存储盘+2*250G NVME缓存盘+4网口366FLR服务器网卡+台达400W静音电源

功耗在平时正常文件备份、DOCKER运行时,功率40W左右,满载还没测试。

外观展示:TANK家图用一下,机箱暂时没到

硬件准备 

1、CPU:手上有三颗CPU,一颗i3 8300T,一颗i5 8600T,还有一颗i5 8600K,家里的黑苹果M720Q用了一颗i5 8600T,NAS上最终选择了i5 8600K。

2、主板:主板的话家里有一块H370N WIFI,这是一块ITX主板,想想以后需要扩展网卡、显卡之类的,最终又淘了一块自用二手Z370M D3H,咸鱼350包邮顺丰入手,谢谢南京老哥。

3、内存:内存在咸鱼上淘了一根金士顿 (Kingston) 16GB DDR4 3200 台式机内存条 骇客神条 Fury雷电系列 RGB灯条,又淘了一根金士顿 (Kingston) 16GB DDR4 3600,配在一起,总共32G,经过测试还都不错。

4、散热器:准备使用TANK家机箱送的4热管散热器,看起来挺好用。

5、机箱就是TANK家的,这个机箱看着挺不错,我之前其实已经装了一台,用的另外一款小机箱,不过还是喜欢这个,看着就赏心悦目。

6、电源:这个也是之前用的,淘宝215台达400瓦改模组静音电源,用下来效果还不错,继续使用。

7、硬盘:这部分都是自己之前在用的,有2T*3、4T*2,其他缓存用两条250G的M.2 NVME SSD用用,等便宜了再买。

8、其他零碎:有亮机显卡、双口万兆网卡、四口千兆网卡,有空再折腾。   

装机效果图等机箱到了装好再发,应该是很不错的,满心期待,下面是很长很长的装软件方面的记录。

装机过程

1、UNRAID系统安装

我是买的UNRAID OS 高级版,算是支持下正版,既然准备长期使用这个系统,就买了。

详细的装机过程就不说了,这个官网和大佬的教程很多,也是很简单的,U盘我用的是闪迪(SanDisk)16GB USB3.1 U盘 CZ430酷豆,小巧好用。

提醒一点:安装好系统之后,如果安装好了一部分DOCKER和虚拟机,尽量备份一次闪存,每次安装一部分应用,就备份一次,避免闪存出现问题,很多东西会丢失,我就遇到过一次。

2、系统初始设置

①设置时区和服务器,这个有些不设置,会遇到无法激活问题。

②安装应用市场:链接

③其他一些设置:安装中文,增加一个管理用户,磁盘设置自动启动阵列,新建一些共享文件,启用DOCKER,启用虚拟机等。

3、安装插件

①安装插件:Unassigned Devices,可以挂载硬盘、U盘等,很实用

②安装插件:Dynamix S3 Sleep,可以休眠硬盘,设置硬盘休眠后在指定的时间休眠

③安装CPU温度显示插件Dynamix System Temperature;

再安装安装NerdPack,打开插件 ,找到刚刚安装的NerdPack,打开它,搜索框里输入perl搜索,然后把后面的开关打开,最后点击apply;然后在回到插件,找到Dynamix System Temperature,点击进去;点击detect,通过“传感器检测”脚本搜索可用的驱动程序;然后点击save,保存驱动程序,在下面选择对应的温度点击save就可以了;

④安装插件:Dynamix System Buttons,可以实现一个快速重启,关机的按钮

⑤安装插件:Dynamix System Stats,可以显示各种性能参数,帮我们监控UNRAID的占用率

⑥安装插件:CA Fix Common Problems,可以检测出我们的配置有没有问题

⑦安装插件:Dynamix SSD Trim,适合有缓存的用户使用,可以定期将SSD的资源移动到阵列里

⑧增加插件:My Servers,这个插件还在开发中,目前是测试版本,不过很好用,可以将Flash自动备份到Unraid的服务器上,方便在系统出现问题并忘记手动备份时还原

插件

安装好之后右上角有个登录,登录后设置

Unraid官网登录之后有个My Servers

⑨增加插件:Appdata Backup,可以备份Appdata数据,在出现问题时还原,我的Appdata数据都是在缓存盘里,Appdata文件夹设置缓存为“仅 : Cache”,在缓存盘出现问题时,Appdata数据会丢失(最近经常拆装,增加一些配置,更换机箱之类的,出现过缓存盘无法读取问题,导致Appdata数据丢失,还好没怎么开始装DOCKER,干脆从头重装的,如果有Appdata数据备份的话,就不需要了)

4、安装DOCKER

模板存储库:

链接

链接

①安装Aliyun-DDNS,将IP解析到域名,实现远程访问(看个人需求,不在Unraid做DDNS的不需要装,我之前是ASUS路由器直接做DDNS)

进入DOCKER选择添加容器,选择模板为Aliyun-DDNS,填入阿里云ID、KEY、域名,点击应用。

需要使用NginxProxyManager做反代的,在域名中可以填入多个子域名,例如我的xxx.com,only.xxx.com等

②安装MariaDB

参数设置:最后一行key3创建数据库密码,Key1 2可在终端输入ID NAME(你的非ROOT用户名)查询

③创建数据库方法1:安装Phpmyadmin(数据库管理)-推荐

phpMyAdmin可以方便的对数据库进行管理:MYSQL_USER:默认root,MYSQL_PASSWORD:上面创建MariaDB的Key3密码,MYSQL_HOST:UNRAID IP地址,MYSQL_PORT:默认端口,Web UI PORT:访问端口

创建数据库方法2:

  1. mysql -uroot -p                                                                             输入刚自定义的MariaDB密码

  2. CREATE USER 'nextcloud' IDENTIFIED by 'nextpassword';            创建用户nextcloud,密码nextpassword

  3. CREATE DATABASE IF NOT EXISTS nextcloud;                              创建数据库名称nextcloud

  4. GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud' IDENTIFIED BY 'nextpassword';  授权权限

  5. quit

重新在MariaDB中创建了nextcloud的用户,密码nextpassword,并且在nextcloud用户中创建了nextcloud数据库,并授权,简单点还是直接在Phpmyadmin中创建数据库即可

访问并登录,创建一个nextcloud数据库

④安装NextCloud

如果出现提醒不被信任的域名,可以去之前映射的配置文件夹config下,修改config.php文件,添加如下代码允许所有IP访问

⑤安装Redis缓存配置

修改config.php文件,添加如下代码,代码中host需要改成自己Redis的地址

 'memcache.locking' => 'OCMemcacheRedis',                                                                                                           'redis' =>                                                                                                                                                                        array (                                                                                                                                                                                      'host' => '172.17.0.6',                                                                                                                                                          'port' => 6379,                                                                                                                                                                    'password' =>'xxxxxx',                                                                                                                                                     ),                                                                                                                                                                    'memcache.locking' => 'OCMemcacheRedis'

⑥NextCloud部署SSL证书

之前想过用NginxProxyManager做反代部署SSL,但是经过实测,发现NginxProxyManager转发之后远程同步客户端经常断连,初始同步速度很快,然后逐渐变慢,最后就是蜗牛爬,速度令人发指,取消NginxProxyManager反代之后速度再次上来,随之取消反代,直接部署

首先自有顶级域名,随意,有最好,没有白嫖也行,自己查百度,我用的阿里云域名,证书申请用的FreeSSL,证书申请十分方便

①证书申请好之后,可以在KeyManager中直接导出,到处格式为nginx格式的证书,会有一个xxx.crt和xxx.key两个证书文件,将两个证书文件复制到/mnt/user/appdata/nextcloud/keys/文件夹内,并重命名cert.crt和cert.key,覆盖原来的证书文件

②修改/mnt/user/appdata/nextcloud/nginx/site-confs/default文件

③修改/mnt/user/appdata/nextcloud/www/nextcloud/config/config.php文件

此处增加访问域名白名单

此处增加几行代码:域名url指向和访问端口

保存后重启NextCloud,记得在路由中将端口号转发出去,然后在外网浏览器中输入https://www.xxxx.com:xxxx,网站已经部署SSL

⑦为NxetCloud部署OnlyOffice服务,实现在线阅览和编辑文档

在应用中搜索onlyoffice,发现有很多版本,我初始安装的是官方大众版吧,但是发现总是提示非专业版不能在线编辑之类的,随后换了其他版本,有个没有20用户限制并支持移动编辑的,先试试看,或者其他版本也可以,方法是一样的,难点是必须部署SSL,否则NxetCloud无法连接到OnlyOffice服务

首先安装onlyoffice,版本随意,安装完成后在data文件夹中新建一个cert文件夹,把前面下载的证书文件xxx.crt和xxx.key复制到文件夹中,并重命名为onlyoffice.crt和onlyoffice.key

重启onlyoffice容器,等待5分钟左右,记得在路由器中将onlyoffice的443访问端口转发出去,在浏览器中打开https://www.xxxx.com:xxxx,已经部署SSL上锁

下面就是在NextCloud中,进入应用,安装OnlyOffice,打开设置,将https://www.xxxx.com:xxxx填入文档编辑服务地址中,保存,连接上即可,下面就可以在NextCloud中直接打开Office文件了。

还有一些DOCKER应用慢慢安装和折腾,后面再记录。

五、记录一下如何将缓存盘/池中的文件转移到阵列:

网上大部分都是建议DOCKER、VM和一些常用文件夹选择缓存为“仅”或者“首选”,按照UNRAID的缓存机制

No:新的数据不会缓存,但如果有老的数据在cache中,Move后对老数据不会有任何变化。

Yes:新的数据会缓存,同时执行Move后,所有数据都会移入磁盘阵列。

Only:新的数据只会在缓存中,Move后新老数据没有动作。

Prefer:按字面理解就是倾向于。这种策略会将新的数据缓存,执行Move后,甚至会将原来存放在磁盘阵列中的数往cache中搬,直到cache满为止。

当我们需要将阵列中的数据转移到缓存时,选择“Prefer”或者“Only”,然后选择移动;

当我们需要将缓存中的数据转移到阵列时,选择“Yes”,然后选择移动;

六、安装Transmission

安装Transmission很简单,不再赘述,只讲一点,自己安装过程中遇到的问题

安装完Transmission后停止修改settings.json文件,通过vi /mnt/user/appdata/transmission/settings.json代码,修改完保存后,启动Transmission,修改的settings.json文件恢复到原始状态,无法给Transmission增加账号密码

解决方案:在Transmission容器里增加两个变量:

重新安装UI界面

wget 链接

bash install-tr-control-gitee.sh

选择第一个或根据自己喜好

OK,再打开Transmission,需要输入账号密码登入。

七、网卡分离直通,主板Z370M D3H,网卡是HP 366FLR 4口服务器千兆网卡转接卡,屏蔽5、6针脚

说一下,这个网卡插上去有时候开不了机,有时候又能开机,开机之后主板自带网口不能用,智能插网卡上的第一个网口,做完直通之后才能正常使用,网口继续插主板,366FLR做屏蔽直通

  1. 终端输入:lspci -nn | grep Eth                                       查询Plce网卡

  2.                  lspci -s 03:00.0 -vvv | grep Capabilities        根据查询到的ID 进行查询是否支持,03:00.0是我得网卡ID,替换为自己查询的

  3.                  cat /sys/bus/pci/devices/0000:03:00.0/sriov_totalvfs           来查看可以开多少VF网卡,其中03:00.0是你们自己网卡的,4口网卡一般是8,8个去掉一个物理网口,就是7

  4. 将pcie_acs_override=downstream intel_iommu=on iommu=pt igb.max_vfs=7,7,7,7添加到主界面→Flash→Unraid OS中

kernel /bzimage append intel_iommu=on iommu=pt igb.max_vfs=7,7,7,7 vfio-pci.ids=8086:1521 pcie_acs_override=downstream initrd=/bzroot

官网中有说:6.9.2版本可以删除上面黑体后保存,然后在工具→系统设备中把需要直通的网卡选择后点击“在引导时对VFIO选择了绑定”也可。——实测可行,已改用此方式

还有很多,慢慢折腾。

阅读更多精彩内容,可前往什么值得买查看

什么值得买APP 全网实时购物好价优惠