UNRAID docker设置bridge桥接模式外网无法访问

unraid的docker中的网络模式设置为bridge桥接模式,并且路由器设置了端口转发,但外网就是无法访问。

  • 这种情况一般是由于unraid的网关设置成了旁路由的IP(类似于openwrt作为旁路由),只要将网关设置为主路由外网就可以访问了。
  • 如果网关一定要设置为旁路由的IP,可以在docker里采用custom:br0的网络模式,也就是单独指定一个内网IP地址,然后转发这个IP的端口,也能实现外网访问。
  • 另外custom:br0还可以在unraid的settings里单独配置路由表指定和unraid不同的网关。

unraid和esxi怎么选

个人浅见,简单说下unraid和esxi作为家庭系统怎么选。

unraid:

  • 校验机制是unraid最大的特色,也是unraid之所以叫unraid的原因。校验机制相比于raid的多硬盘安全性,unraid只需要一块最大的硬盘作为校验盘即可保证数据的安全性。但校验有时候需要占用更多系统资源,包括CPU和硬盘IO。
  • 可玩性强。docker可用于各种拓展,实现各种功能,并且不像虚拟机那样占用太多资源。
  • 直通真的方便。

esxi:

  • unraid已经够稳定了,esxi更稳定。
  • 虚拟机性能特别强。其实unraid虚拟机性能也不弱,但对比esxi就逊色了。不过无论如何都比群晖强多了。

如果你没有数据备份安全性考虑(不使用校验机制),也只是用来装固定的几个虚拟机,比如centos、windows和openwrt,那么esxi绝对够了,不仅更稳定还免费;如果你有数据备份需求,并且有强烈的扩展需求(docker),而且硬件配置也还行,欢迎尝试unraid。

UNRIAD CPU占用高

直接说重点,unraid的cpu占用高大部分原因都是卡在IO上,cpu在wait数据处理,也就是cpu等硬盘。

这是由于unraid的数据分散机制导致的。因为同一个文件夹下的不同数据可能分布在不同的硬盘里。有些硬盘读写比较快,比如ssd硬盘;而有些就比较慢,特别是老旧的hdd硬盘。

要解决cpu占用高的问题,

  • 校验盘的校验时间尽量定时在闲时,比如半夜里。
  • 尽量使用cache缓存,特别是nvme的缓存盘。如果没有,也可以两块垃圾盘放同一个cache pool内会自动组raid1
  • 经常读写的文件夹比如appdata, domains, ios, system,可以指定放在ssd/nvme这类硬盘里,不要让unraid把他们分散到hdd盘去。可以参考使用unbalance这个插件UNRAID 数据转移插件Unbalance
  • qbittorrent、transmission这类下载的docker,可以将下载目录直接放在缓存盘。

有任何问题欢迎留言~

UNRAID 数据转移插件Unbalance

unbalance可以使不同硬盘的数据归集到一个硬盘(比如HDD硬盘向SSD集中),也可以使一个硬盘的数据分散到其他硬盘(比如换硬盘)。

#安装

unraid主界面,APPS——》搜索unbalance,直接安装就可以了。

#使用

SCATTER,数据分散转移功能。可以选择FROM某个硬盘(或文件夹)TO某几个硬盘。

GATHER,数据归集。可以将同某个文件夹原本分散在不同硬盘的数据都归集到同一个硬盘。