作者:春暖花开半夏花
【写作说明】:该文章记录自己组装和搭建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的服务器上,方便在系统出现问题并忘记手动备份时还原
⑨增加插件: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:
mysql -uroot -p 输入刚自定义的MariaDB密码
CREATE USER 'nextcloud' IDENTIFIED by 'nextpassword'; 创建用户nextcloud,密码nextpassword
CREATE DATABASE IF NOT EXISTS nextcloud; 创建数据库名称nextcloud
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud' IDENTIFIED BY 'nextpassword'; 授权权限
quit
重新在MariaDB中创建了nextcloud的用户,密码nextpassword,并且在nextcloud用户中创建了nextcloud数据库,并授权,简单点还是直接在Phpmyadmin中创建数据库即可
访问并登录,创建一个nextcloud数据库
④安装NextCloud
如果出现提醒不被信任的域名,可以去之前映射的配置文件夹config下,修改config.php文件,添加如下代码允许所有IP访问
//完整的代码
//索引数字顺延就可以
'trusted_domains' =>
array(
0 => '127.0.0.1',
1 =>'www.xxx.com'
2 =>'xxx.com'
⑤安装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文件
server_name xxxx.com;——两处加上自己的域名
fastcgi_param HTTPS on;——修改为on
③修改/mnt/user/appdata/nextcloud/www/nextcloud/config/config.php文件
此处增加几行代码:域名url指向和访问端口
'trusted_proxies' => ['letsencrypt'],
'overwrite.cli.url' => 'https://www.xxxx.com:xxxx',
'overwritehost' => 'xxxxx.com:xxxx',
'overwriteprotocol' => 'https',
保存后重启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做屏蔽直通
终端输入:lspci -nn | grep Eth 查询Plce网卡
lspci -s 03:00.0 -vvv | grep Capabilities 根据查询到的ID 进行查询是否支持,03:00.0是我得网卡ID,替换为自己查询的
cat /sys/bus/pci/devices/0000:03:00.0/sriov_totalvfs 来查看可以开多少VF网卡,其中03:00.0是你们自己网卡的,4口网卡一般是8,8个去掉一个物理网口,就是7
将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 全网实时购物好价优惠
