UNRAID折腾笔记(4) - NAS与硬盘直连
不出意外的话,这就是现阶段的最后一个研究笔记了,关于Unraid的折腾可算要告一段落了,你可能注意到以前说到的硬盘直通变成了硬盘直连,这俩确实含义还不一样,最主要的区别是,我最终还是没有使用硬盘直通给虚拟机做NAS的方案,而是直接在Unraid的阵列外额外挂载并作为NAS盘。之前说过,旧服务器上面的几块硬盘移动过来会造成服务的中断,因此动作得快。但是即使是这样还是整出来了一些麻烦事。
硬盘直连
先说目前迁移过来的硬盘,一个是1t的希捷酷鱼作为主盘,我知道看到这有些人可能就坐不住了酷鱼容易翻车而且几乎清一色是SMR之类的,但是这个是白嫖的,而且里面的数据也不是特别重要(大概),所以就无视吧

毕竟接下来的监控盘就要更加血压高了,还是一个希捷1t的2.5英寸硬盘,而且目前已经确认这个盘上面修复过坏道了

不过问题不大毕竟也没剩一年了不是,坏了也不心疼 (而且以上两块硬盘都是白嫖的) 接下来安装硬盘,我的机箱有两个3.5的硬盘槽带支架无需拧螺丝,这块2.5的话我就打算锁在前面的两个SSD螺孔上,结果好家伙螺丝找了我半天后来可算找了个能拧进去的,但是还是有些偏长导致会有晃动,但是平时放角落就不管了。
首先你需要安装Unassigned Devices这个插件,也叫UD,才能在无需加入阵列的情况下挂载硬盘。这两块上面采用的文件系统均为ext4(数据丢失风险+++),加入阵列显然需要格式化而且需要移动很庞大的数据(两个盘加一块近1T),故直接直连。插件装好后,就能在Main下面看到这些未挂载的硬盘了

我这张图显示是已经挂载的,一般情况下是没有挂载的,首先先建议点击硬盘型号前面的+,展开分区表,目前可以看到我这两块都只有一个分区,然后修改这两个分区的名,同时这个名也会影响到挂载点很重要,特别是由于我这是迁移服务器,因此挂载点得保证与以前的一致才能保证直接换域名解析来无缝迁移。
然后点击设置底下的小齿轮,勾选自动挂载(AUTOMOUNT)和自动共享(SHARE),至于可能会有直通(PASS THROUGH)选项具体也没弄清楚,所以暂时不要用,打开之后会导致挂载失效。设置完之后建议重启一下,然后就能直接在共享看到这两个挂载点了

然后测试了一下速度,一个是读一个是写,速度都在接受范围内


然后,接下来剩下几个还在旧服务器上的硬盘,通过UD可以实现吧远程的硬盘挂载到本地 在底下就可以看到关于挂载远程共享的选项,点击添加远程SMB/NFS共享,如果没有看到这一栏,记得在UD那一栏吧这三个开关都打开


然后协议选择windows图标的SMB协议

选择服务器可以选择自动搜索或者手动输入IP,我的主机因为网络环境比较复杂(内外网均可互联),因此选择手动输入IP

注:如果你发现点了搜索服务器按钮之后无法手动输入了,返回上一步再重来即可 然后按照提示输入用户名和密码,域一般是不用输入的留空即可,然后进入选择共享的步骤,如果前面的配置正确,在这里点击加载共享就可以看到里面的共享路径的,不建议自己手动去输,选择的需要的共享之后,就可以和本地硬盘那样挂载了

默认的挂载点名也是很不直观的,也是先点击那个挂载点先修改挂载点名,然后进入设置里面打开自动挂载和共享即可
重启前自动挂载操作不会进行,这一次可以先手动点挂载按钮进行挂载,最终挂载之后的效果应该是这样

因为旧服务器和新服务器共用一个外网千兆交换机,因此远程访问的速度就不用奢求太多了
关于UD挂载的实际位置,本地的挂载设备是在**/mnt/disks下,远程的是在/mnt/remotes**下,具体去控制台一看便知,后续需要用docker映射的话也需要清楚具体的位置在哪里
调整文件权限
最后,就是一直没有提过但是贯穿三篇内容的很容易忽视的内容,就是权限问题。可以说凡是在Linux下,只要是进行文件操作第一个需要考虑的就是权限了,要记得将所有设备迁移到Unraid之后,需要将所有设备的用户修改为nobody,所有用户组修改为users,文件访问权限为666(-rw-rw-rw),目录访问权限得**777(drwxrwxrwx),**即使是你在其他操作系统下已经配置到了同名用户,但是其背后的uid和gid是不一样的,同理,即使是不同操作系统下的不同用户和组,也可能因为相同的uid和gid导致迁移到这个系统之后发生变更。甚至,将宿主机的路径映射到docker之后,也要考虑docker应用运行时的默认id。
但是,直接无脑chmod -R 666是不行的,这样目录是加不上可执行(x)权限的,全加又很麻烦,最终找到一个实用命令
find . -type d -exec chmod a+x {} \;
其实在我的实际操作中,如果这个文件夹是NAS共享文件夹,我会把用户设为NAS共享时采用的用户,因为它们都从属于users用户组,因此可以保持所有者的一致性
以上涉及到文件的操作,均已经考虑到并且迁移到正确的用户和组了,最常用的就属chown命令了,这里将不再赘述。
后记
其实最开始挂载的时候并不是没有意外发生,内核报磁盘错误,当时整的我有慌,后来用修复了一下,怀疑是线没插好,于是重新固定了一下就没事了,顺带看了下监控盘的STAMT,修过坏道的果然还是不好看的数据

至于主盘的CRC错误的数据就相当离谱,那是因为在旧服务器的时候连线也是经常接触不良导致的,当时甚至几度认为盘坏了,但现在只要数据不再增长就是暂时正常的

最后,所有内容基本上就到这里了。虽然没有一一罗列出所有遇到的坑,不过从有记录以来折腾了已经近6天了,几乎所有流程都走了个遍,可以说习得很多宝贵的经验,特别是关于在docker上的使用。目前而言,作为集NAS+docker应用的服务器而言,已经接近ALL IN ONE的雏形了,也就除了没有虚拟机,这个可能以后会有旁路由之类的,现阶段部分硬盘直通+部分远程挂载的混合存储聚合还是很有意思的,等继续筹备资金就能直接一步到位上I386了,届时就等以后再见了。