Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

新手上路,厚脸皮at大佬咨询几个问题

Featured Replies

unraid 和 nas 纯新手,昨天才把系统跑起来的那种,但不算纯小白,还是有一点网络知识的(但不多,可以学)

 

提问主要是看了@JackieWu大佬的博客,目前有几个问题想咨询一下

 

首先是看了博客的文章一《存储目录结构说明》文章二《详解FUSE-SHFS、I/O问题和解决办法》,对unraid的文件读写有一些疑惑。

 

问题一:如果用文章二里的“方法三”绕过/mnt/user路径,是不是可以理解为我可以直接用“disk share”的方式代替“user share”?(我认为的答案是:可以,这样可以提升io效率)那么,代价是什么呢?会导致奇偶校验等功能不可用吗?

 

问题二:假设上面的逻辑成立,那么下面两种情况:

-->在user share模式里,假设我有 /user/movie 和 /user/data 两个目录,它们在一个2盘的阵列中,/movie 的真实位置在disk1,/data 的真实位置在disk2

-->在disk share模式里,假设我也有 /disk1/movie 和 /disk2/data 两个目录

那么:

如果film体积越来越大,即将超过disk1 的容量,会发生什么?(我猜想的答案是:在user share模式下,系统会在data2里也建立/movie文件夹,继续存多出来的文件;而在disk share模式下,只会告诉我disk1 满了,并没有办法继续存多出来的文件。)

 

 

继续看了博客的文章三《应用商店代理》和文章四《将 Docker 的自定义网络绑定到第二个网口》,有下列疑问:

 

问题三:两个网口的解决方案最终实现的时候,需要将nas的两个网口都用网线接到路由上吗?还是说只在软件层面设置就可以了,无需物理连接?

 

问题四:我对文章四补充说明的内容产生了更大的疑惑,也许是对文章中提到的arp flux问题理解不够。但是如果docker使用的网口是另一个网段(假设为192.168.2.x),那它不就成了主网络(192.168.1.x)的子网络了吗?那么根据网络层级关系,我一个主网络的设备(192.168.1.x)不就访问不到docker(192.168.2.x)上的服务了吗?

 

问题五:基于问题四而来,假设我的unraid是(192.168.1.2,网关192.168.1.1),有没有一种方法让unraid里的docker服务ip变成如下形式【docker1 192.168.1.201 网关192.168.1.1】【docker2 192.168.1.202 网关192.168.1.254】【docker3...】。可以达到的话,该怎么设置?(我的unraid机器上有四个网口,网口1连了路由,网口2-4空闲)

 

ps:说白了我想达到的效果是unraid的网关是旁路由,达到更新系统和下载docker的目的,另外让部分docker的流量不经过旁路由,(但是有些docker也需要去旁路由)

 

 

问题六:(其实跟unraid无关了,但也属于网络问题,就顺便写在这里了,看谁正好遇到相同情况吧。)

背景:我家路由器用的是小米AX6000,现在在我的网络中起到一个网络中枢的作用,它一方面PPPOE拨号上网(光猫桥接)、一方面提供WiFi功能、也是家里的DHCP服务器、然后又有线连接了电视盒子和nas。

现象:WiFi下传文件非常慢(只有几十到几百k/s),尝试更换过WiFi广播的信道,也没有改善。有线连接时传文件的速率就正常多了。(WiFi开启了2.4G/5G信号的ssid合并功能)有没有谁知道该怎么解决

 

Solved by JackieWu

我就挑一个简单的问题五吧。

 

    docker可以选择一些网络类型,如bridge和host等等。bridge是最常用的方式,因为很多时候我们只需要把端口映射出来就行。

你可以选择host或者网卡绑定。前者是虚拟一个网卡和宿主桥接,这样你可以获取不同的IP。(同段会环路)

  • Solution
Quote

问题一:如果用文章二里的“方法三”绕过/mnt/user路径,是不是可以理解为我可以直接用“disk share”的方式代替“user share”?(我认为的答案是:可以,这样可以提升io效率)那么,代价是什么呢?会导致奇偶校验等功能不可用吗?

 

之前也有朋友在看过我的那篇 SHFS 文章之后,问既然可以绕过 SHFS 来解决 IO 问题,那么是不是 SHFS 就没有用了?

 

其实不是的,Unraid 的聚合功能基于 SHFS 文件系统,这也是为什么在 Unraid 上扩展存储池空间是一件非常简单的事情 —— 你只需要将新的硬盘添加到阵列成员列表中就完成了阵列存储空间扩容,这归功于 SHFS 。而 IO 问题是 SHFS 自身的一个缺点,我们可以通过一些方法避开这个缺点(比如绕过/mnt/user),但缺点不能否定 SHFS 自身的优点。

 

回到你的问题上,绕过 SHFS 的主要代价就是不能享受 SHFS 自动帮你分配文件存储位置的好处。我文章里面提过,当你往 /mnt/user 下面传存储文件数据时,SHFS 可以按照分配方法和拆分级别去帮你判断文件应该写入到哪一个硬盘或者哪一个存储池,用户无需考虑写入文件的时候应该写入到哪一个地方。而由于绕过了 SHFS,比如说使用了 disk share ,那么这时候你就得考虑写入文件时应该往哪一个硬盘写入,而且在给 docker 容器映射路径的时候还得考虑映射哪一个 disk 的路径给到容器读取,这些都造成了一定的麻烦。

 

另外,绕过 SHFS 并不影响奇偶校验功能,因为奇偶校验与文件系统无关(可以参考:什么是校验盘,校验盘有什么作用)。

 

Quote

问题二:假设上面的逻辑成立,那么下面两种情况:

-->在user share模式里,假设我有 /user/movie 和 /user/data 两个目录,它们在一个2盘的阵列中,/movie 的真实位置在disk1,/data 的真实位置在disk2

-->在disk share模式里,假设我也有 /disk1/movie 和 /disk2/data 两个目录

那么:

如果film体积越来越大,即将超过disk1 的容量,会发生什么?(我猜想的答案是:在user share模式下,系统会在data2里也建立/movie文件夹,继续存多出来的文件;而在disk share模式下,只会告诉我disk1 满了,并没有办法继续存多出来的文件。)

 

如果你的文件是往 /mnt/diskX 写入,那么由于没有 SHFS 的影响,所以即使 diskX 的空间不足了也不会往其他盘写入,会提示你硬盘空间不足。

 

Quote

问题三:两个网口的解决方案最终实现的时候,需要将nas的两个网口都用网线接到路由上吗?还是说只在软件层面设置就可以了,无需物理连接?

 

第二个网口也需要接上网线到交换机或者路由器,是需要物理连接的。

 

Quote

问题四:我对文章四补充说明的内容产生了更大的疑惑,也许是对文章中提到的arp flux问题理解不够。但是如果docker使用的网口是另一个网段(假设为192.168.2.x),那它不就成了主网络(192.168.1.x)的子网络了吗?那么根据网络层级关系,我一个主网络的设备(192.168.1.x)不就访问不到docker(192.168.2.x)上的服务了吗?

 

一般家庭的网络环境里面只有一个网段,例如 192.168.1.0/24 ,假如说这时候需要配置另一网段,比如说 192.168.2.0/24,而且需要让这两个网段的 IP 之间能够互相通信,那么最简单的情况就是你的路由器支持扩展 IP 功能。

 

例如在 ikuai 系统里面,你可以在 lan 口的“扩展IP”中赋予 lan 口另一个网段的 IP 地址,这时候就能实现原有 IP 网段与新添加网段之间的路由功能:

 

Snipaste_2024-03-06_01-05-44.thumb.png.514964ef68e19cc965bca8863621bdfe.pngSnipaste_2024-03-06_01-10-11.thumb.png.c4218da4f8102f8f0a7ed2afa4b64997.png

 

除了 iKuai 系统,华为交换机上面也有类似的功能,在华为交换机中叫做“从IP”:

 

Snipaste_2024-03-06_01-08-09.thumb.png.365247819526accdbd5bfb997c004f66.png

 

Quote

问题五:基于问题四而来,假设我的unraid是(192.168.1.2,网关192.168.1.1),有没有一种方法让unraid里的docker服务ip变成如下形式【docker1 192.168.1.201 网关192.168.1.1】【docker2 192.168.1.202 网关192.168.1.254】【docker3...】。可以达到的话,该怎么设置?(我的unraid机器上有四个网口,网口1连了路由,网口2-4空闲)

 

ps:说白了我想达到的效果是unraid的网关是旁路由,达到更新系统和下载docker的目的,另外让部分docker的流量不经过旁路由,(但是有些docker也需要去旁路由)

 

可以实现不同的 Docker 容器将数据包发送给不同的网关,但前提是你得懂得配置路由表和 iptables 规则,不然的话应用程序在发起外网请求时数据包都会发往网卡配置的网关地址。配置路由表和 iptables 对大多数用户来说都太复杂了,最简单的方法就是按照我博客的教程去将另一个网口绑定到 docker 的自定义网络给到 docker 容器使用,因为有了另一个网卡的情况下就可以给这个网卡配置另一个网关地址。而如果你需要让 docker 容器去走代理,那么你可以将 eth0 管理口的网关设置为 OP 或者其他透明代理的 IP 地址,然后 Docker 容器使用 bridge 或者 host 网络类型,这样就能够走 eth0 的网关实现代理功能;而那些你不希望走代理的 Docker 容器就选择另一个网卡配置的 docker 自定义网络(Custom: eth1)。

 

Quote

问题六:(其实跟unraid无关了,但也属于网络问题,就顺便写在这里了,看谁正好遇到相同情况吧。)

背景:我家路由器用的是小米AX6000,现在在我的网络中起到一个网络中枢的作用,它一方面PPPOE拨号上网(光猫桥接)、一方面提供WiFi功能、也是家里的DHCP服务器、然后又有线连接了电视盒子和nas。

现象:WiFi下传文件非常慢(只有几十到几百k/s),尝试更换过WiFi广播的信道,也没有改善。有线连接时传文件的速率就正常多了。(WiFi开启了2.4G/5G信号的ssid合并功能)有没有谁知道该怎么解决

 

我也不太懂。

Edited by JackieWu

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.