雨果书斋

拙笔记琐事 微语道真言

Unraid Server(Nas)中文帮助

技术 0 评

来源:知乎 https://www.zhihu.com/question/377579658

网络云盘越来越贵,越来越慢,越来越不好,可以考虑使用Unraid Server搭建All in one 私有云盘,再通过Docker扩展各种功能。相对于群晖 威联通 铁威马等系统也有它的优势。


(我主要用Unraid Server 来做私有云盘,存储Office办公共享文件,还有虚拟机,远程办公,下载机,家庭影院,自动备份,各种Docker应用。。。)

原文可看这里

 

Unraid Server简介

一、Unraid是什么?

Unraid®是一种嵌入式操作系统,旨在为您提供对硬件的最终控制。除了履行强大的NAS(网络附加存储)的职责外,Unraid还能够充当应用程序服务器和虚拟机主机。Unraid会从USB闪存设备安装并从中引导,然后加载到根RAM文件系统中。通过使用具有最新硬件驱动程序的现代Linux内核,Unraid可以在几乎任何64位系统(x86_64)上运行,并且系统内存消耗最少。与操作系统有关的所有配置数据都存储在闪存设备上,并与操作系统本身同时加载。Unraid系统的管理是通过直观的Web界面完成的(我爱帮助网),该界面提供了常见任务的基本控件以及为更精明的用户提供的高级调整选项。Unraid自动选择适合大多数人需求的默认设置,但也允许您根据自己的喜好调整设置。这使Unraid在需要的地方直观,而在需要的地方可调。通过将硬件和软件不可知论的优势结合到一个OS中,Unraid提供了多种方式来存储,保护,提供和播放您下载或创建的内容。

二、Unraid功能的三个核心部分

Unraid的功能分为三个核心部分:软件定义的NAS,应用程序服务器和本地化的虚拟化

三、Unraid功能的主要优势

Unraid是用于个人和小型企业的操作系统,它具有企业级功能,可让您使用应用程序,VM,存储设备和硬件的任意组合来配置计算机系统,以最大化性能和容量。

简单。灵活性。可扩展性。模块化。Unraid使您能够使用首选的硬件,软件和操作系统来构建您一直想要的系统。

Unraid Server 应用场景

Unraid可用在哪些方面

unRAID Server 适用于企业 家庭 个人 等多种场景使用,充分释放你的硬件潜能,把您闲置或废弃的硬盘及主机硬件等充分利用起来。当然也可使用更新 更高的配置来实现更强大的服务器功能。

1. 控制您的数据

打破单个操作系统的限制。Unraid允许您对系统资源进行分区,以便在隔离环境中存储和保护数据,运行任何应用程序和/或创建虚拟机。

下面从功能上来区分 分为3大部分:

1) 网络附加存储 (Nas Server)
我们采用与硬件无关的方法来处理网络附加存储。几乎可以在任何支持x8664位的系统上启动,并管理大小,速度,品牌和协议各不相同的磁盘阵列。按需扩展(我爱帮助网)。添加更多磁盘而无需重新平衡数据。
2) Application Server (Docker 应用服务器)
通过运行更少的麻烦,Unrald可以让您从硬件中获得更多价值。使用任何基于Lunux或Windows的x86应用程序。将应用程序放在隔离的运行时环境中以防止冲突。通过我们的网络界面轻松控制应用程序。
3) 虚拟化主机 (VMS)
Unrald作为虚拟化主机运行,利用虚拟机管理程序以安全和隔离的方式将资源分配给虚拟客户端。可以为VM分配比Docker容器更广泛的资源,但仍提供隔离访问。

2. 专业化您的系统

1) 数字媒体独行侠
视频制作人,拥有广泛视频库的流媒体,媒体编辑,摄影师,音乐家和音乐收家使用Unrald来降低他们的初始成本。从少至两个驱动器开始,一次使用一个或多个驱动器进行扩展。
2) 铁杆游戏玩家
同时拥有媒体服务器并且喜欢构建自己的自定义系统(我爱帮 助网)的游戏玩家使用Unrald来做所有事情而不会失去优势。
3) 数据存储用户
设计师,3D动画师,开发人员,摄影师和其他需要大量存储空间的用户不敢在本地存储资产以便快速访问。与Apple Tlme Machlne和Windows备份服务配合使用,可以从本地设备存档大量不常访问的数据。
4) 多操作系统用户
软件工程师,游戏开发工作室,AR/VR设计人员和大学实验室使用Unrald在多个平台上以及跨操作系统和设备测试软件,并允许多个用户访问单个系统。

unRAID Server 软件特点

1、unRAID阵列

unRAID阵列背后的主要概念是它能够管理受专用奇偶校验设备保护的磁盘设备聚合(JBOD)。奇偶校验设备为您提供了一种从故障磁盘重建数据到新磁盘的方法。虽然看起来令人难以置信的是,一个驱动器可能备份具有比奇偶校验更多存储容量的其他驱动器,但它能够使用称为XOR(eXclusive-OR)的二进制逻辑从故障驱动器重建丢失的数据。由于硬盘驱动器将数据存储为零和1,因此当驱动器发生故障时,奇偶校验会比较所有幸存驱动器上的二进制数据,并可以推断出要重建的丢失数据。

2、unRAID缓存

unRAID的缓存驱动器功能可提供更快的数据捕获。一般来说,通过在3个或更多设备的阵列旁边使用缓存,您可以实现高达3倍的写入性能。当数据被写入已配置为使用高速缓存设备的用户共享时(我 爱帮 助网),所有这些数据最初都直接写入专用高速缓存设备。由于此设备不是阵列的一部分,因此写入速度不受奇偶校验计算的阻碍。随后,名为“移动器”的unRAID进程会根据您选择的时间和频率将数据从缓存复制到阵列。成功复制数据后,缓存驱动器上的空间将再次释放到启用缓存的用户共享的前端其他写入操作。

3、缓存池

使用单个缓存设备,在那里捕获的数据存在风险,因为奇偶校验设备无法保护它。但是,您可以配置具有多个设备的缓存,以增加缓存容量以及为该数据添加保护。缓存中的多个设备的分组称为构建缓存池。 unRAID缓存池是通过传统RAID 1上的独特转折创建的。以下是一些优点:

4、改进了数据保护

使用单个缓存设备,如果设备在数据移动到阵列之前发生故障,您可能会丢失数据。但是,使用缓存池时,所有写入操作都将跨两个单独的磁盘进行复制,以确保池中任何一个驱动器的丢失不会导致数据丢失。

5、增加系统正常运行时间

如果缓存池设备出现故障,系统将继续正常运行。无需丢弃所有内容来处理系统中断。您可以在方便时更换设备。

6、更好的可扩展性

根据需要向池中添加更多不同大小的设备,并按需增长。

7、针对SSD进行了优化

unRAID现在具有对TRIM的本机支持,当用作缓存设备时,可以大大减少写操作的数量。 SSD与HDD的优势:
– 他们不需要时间“旋转”或消耗大量电力来操作(它们快速有效);
– 它们也更小,因此您可以将更多它们放入更小的空间,以实现高度紧凑,疯狂的快速存储。
– 当用于存储大量较小的文件(例如,元数据)时,与旋转硬盘相比,SSD可以为应用程序提供更快的响应时间。和
– SSD最适合支持虚拟机。 SSD上的VM性能优势与用户在台式PC上与旋转磁盘上的性能相媲美。

8、针对虚拟化进行了优化

虚拟机和应用程序可以将其数据永久驻留在缓存池中,以提高整体性能,同时使用VirtFS(适用于KVM虚拟机)和Docker(适用于容器),可以保持阵列上的海量存储内容仍可供这些虚拟实例访问(我爱帮助网)。鉴于对应用程序和机器性能的“快速响应”的需求,使用缓存池进行虚拟机/应用程序存储是一个明智的选择。在缓存池中使用SSD可进一步扩展此优势。

9、unRAID共享

与大多数RAID系统不同,unRAID将数据保存到单个驱动器。为了简化可管理性,用户可以创建共享,允许写入它们的文件分布在多个驱动器上。每个共享都可以被视为驱动器上的顶级文件夹。浏览共享时,参与该共享的所有驱动器中的所有数据将一起显示。用户无需知道文件所在的磁盘即可在共享下访问它。可以调整共享以包括/排除特定磁盘,并使用各种方法确定如何跨这些磁盘分配文件。
除了控制数据在驱动器之间的分布方式之外,用户还可以控制共享可见的网络协议(我爱帮助网),以及定义用户级安全策略。通过网络协议访问unRAID服务器时,通过该协议导出的所有共享都将可见,但您可以切换单个共享的协议以及全局设置级别的协议。如果您希望系统上的私人数据不受匿名访问的影响,则可以创建用户帐户并定义策略以限制仅受信任个人的访问。除了这种用户共享概念之外,还可以单独共享整个单独的磁盘以获得高级管理功能。共享的简单概念是,它们使您能够以任何方式组织数据。

Unraid Server组成部分

网络附加存储

  1. 奇偶保护阵列
    Unraid阵列的主要目的是通过添加专用的奇偶校验驱动器来管理和保护任何驱动器组(JBOD)的数据。奇偶校验驱动器提供了一种方法,可以将所有数据从故障驱动器重建到替换驱动器上。令人惊讶的是,单个奇偶校验驱动器可以为所有其他奇偶校验驱动器提供保护!硬盘驱动器的内容可以认为是非常长的位流,每个位只能是零或一。如果对每个驱动器上的第n位的值求和并确定该和是偶数还是奇数,则可以强制将相应的第n个奇偶校验位也设置为偶数或奇数(零或一)。如果数据驱动器发生故障,那么现在可以使用该奇偶校验信息来推断出故障驱动器的确切位值,并在替换驱动器上完美地重建它。这是一个例子:

在上图中,我们有三个驱动器,每个驱动器都有一个比特流,这些比特流的计数根据设备大小而变化。这些设备本身不受保护,如果其中任何一个发生故障,数据将丢失。为了保护自己免于故障,我们必须添加第四个磁盘作为奇偶校验。奇偶校验磁盘的大小必须等于或大于最大数据磁盘的大小。要计算奇偶校验磁盘上每个位的值,我们只需要知道每一列的总和即可。如果一列的总和是偶数,则奇偶校验位应为0。如果一列的总和是奇数,则奇偶校验位应为1。这是与以前相同的图像,但是按帧:

现在,假设我们的示例中的驱动器2发生故障,并购买了新驱动器来替换它:

要在新更换的磁盘上重建数据,我们使用与以前相同的方法,但不是解决奇偶校验位,而是解决丢失的位。对于第1列,总和为0(偶数),因此丢失的位也必须为0。对于第6列,总和为1,是奇数,因此,丢失的位也必须为1。

使用奇偶校验重建磁盘的功能可防止数据丢失。奇偶校验保护还允许系统充分使用,同时保留所有数据的访问权限(即使驱动器发生故障),从而提供容错功能。

2.用户共享

与大多数RAID系统不同,Unraid将数据保存到单个驱动器。为了简化可管理性,用户可以创建共享允许写入文件的文件分散在多个驱动器上。可以将每个共享视为驱动器上的顶级文件夹。浏览共享时,来自参与该共享的所有驱动器的所有数据将一起显示。用户无需知道文件位于哪个磁盘上就可以通过共享访问文件。可以调整共享以包括/排除特定磁盘(我爱帮助网),并使用各种方法来确定如何在这些磁盘之间分配文件。除了控制如何在驱动器之间分配数据外,用户还可以控制共享可见的网络协议以及定义用户级安全策略。通过网络协议访问Unraid服务器时,通过该协议导出的所有共享都将可见,但是您可以切换单个共享以及全局设置级别的协议。如果您希望在系统上拥有防止匿名访问的私人数据,则可以创建用户帐户,并定义策略以将访问权限限制为仅信任个人。

3.缓存

Unraid的缓存驱动器功能提供了更快的数据捕获。一般来说,通过在三个或三个以上驱动器的阵列上使用高速缓存,可以实现高达3倍的写入性能。将数据写入已配置为使用缓存驱动器的用户共享时,所有这些数据最初都会直接写入专用缓存驱动器。因为此驱动器不是阵列的一部分,所以奇偶校验更新不会阻碍写入速度。然后,一个称为“移动器”的Unraid进程会按您选择的时间和频率(通常在深夜)将数据从缓存复制到阵列。移动器完成后,将释放先前在高速缓存驱动器上消耗的空间。

对于单个缓存驱动器,捕获的数据存在风险,因为奇偶校验驱动器仅保护阵列,而不保护缓存。但是,您可以使用多个驱动器构建缓存,以增加缓存容量并为该数据添加保护。缓存中多个驱动器的分组称为构建缓存池。Unraid缓存池是通过使用传统的RAID 1的独特方式创建的,使用BTRFS功能既提供RAID 1的数据冗余又提供RAID 0的容量扩展。

应用服务器

1.应用服务器Docker介绍

传统的NAS应用程序支持解决方案具有三个主要限制:

  1. 他们不能支持为其他操作系统编写的应用程序。
  2. 它们可能难以安装,甚至更难以移除。
  3. 它们并不总是与同一OS中的其他应用程序“玩得很开心”。

Docker通过多种关键方式解决了这些问题:

  • 它允许使用任何Linux操作系统来授权给定的应用程序(不再受主机本身的操作系统的限制)。
  • 它通过提供预安装的映像来确保用户始终如一的运行时体验,并在用户使用完它们后更容易删除它们,从而消除了应用程序必须经历的“安装”过程。
  • 它使通常会存在共存问题的应用程序在同一操作环境中和谐地生活。

Docker由三个主要组件组成:引擎,集线器和容器。

2.Unraid Docker引擎

Docker引擎代表Unraid 6中内置的管理组件。使用该引擎,我们可以控制应用程序对重要系统资源的访问,与Docker Hub进行交互,并使应用程序彼此之间或与我们的操作系统之间不发生冲突。

从存储角度来看,该引擎利用了BTRFS文件系统的写时复制功能以及通过集线器提供的Docker映像。映像本质上是具有层次结构的tar文件,因此依赖于公共层的其他映像不需要为它们共享的层复制存储。共享层处于只读状态,而对共享层所做的更改仅反映在更改了共享层的应用程序的实例中。简单来说,这意味着应用程序可以有效地利用系统性能和存储容量。

2. Unraid Docker Hub

与传统的Linux容器(LXC)和虚拟机(VM)相比,Docker提供的最大优势之一在于其应用程序存储库:Docker Hub。如今,许多传统的Linux操作系统在其框架中都带有一个称为 软件包管理器的 组件。软件包管理器的任务是让人们轻松地从称为 存储库的目录中安装为特定操作系统编写的应用程序 。尽管程序包经理的工作做得相当不错,但他们具有前面提到的所有限制。Linux容器和虚拟机虽然能够提供一种控制分配给应用程序的资源的方法,但仍然依靠传统的程序包管理器来进行软件检索并将其安装到运行时环境中。

相比之下,Docker Hub提供了所有好处,而没有传统软件包管理器的限制。使用Docker引擎,可以自动下载预构建的应用程序,而且由于我们已经介绍了写时复制的优点,因此实际下载的唯一数据是系统上不存在的数据。该中心包含14,000多个Docker化应用程序,因此查找所需内容不是问题。另外,由于我们的一些忠实社区成员,用户可以通过使用Unraid 6中的模板来快速添加许多最受欢迎的容器。这些论坛成员已自行构建和维护这些模板以及可用列表。模板继续增长。

可以从http://registry.hub.docker.com访问Docker Hub 。

3. Unraid Docker 容器(Containers)

Docker的基础在于它能够使用Linux控制组,名称空间隔离和映像以Docker容器的形式创建隔离的执行环境。Docker控制分配给容器的资源,并将其与同一系统上的其他应用程序冲突。这提供了传统虚拟机的所有优点,但没有与仿真硬件相关的开销,这使容器非常有效,在某些研究中,它与裸机等效物几乎没有区别。

Docker通过允许应用程序访问主机操作系统的系统资源(例如CPU,内存,磁盘和网络)进行工作,但将它们隔离到自己的运行时环境中。与虚拟机不同,容器不需要硬件仿真,从而消除了开销,硬件要求,并提供了近乎裸机的性能。

4. Unraid虚拟主机(Vms)

自从虚拟化技术被首次引入以来,它已经取得了很大的进步,并为用户带来了很多好处。通过支持在Unraid 6上使用虚拟机,我们可以在隔离的环境中运行更广泛的应用程序。尽管Docker容器是运行基于Linux的无头应用程序的首选方法,但虚拟机具有以下独特优势:

  1. 运行非Linux操作系统(例如Windows)。
  2. 独立于Unraid OS的物理设备支持驱动程序。
  3. 自定义和调整客户机操作系统。

Unraid Server OS旨在作为虚拟化主机运行,利用虚拟机管理程序以安全和隔离的方式将资源划分给虚拟化来宾。为简化起见,可以为虚拟机分配比Docker容器更大的资源范围,但仍具有隔离访问这些资源的相同好处。这使Unraid服务器能够处理各种其他任务,而不仅仅是网络连接的存储。

可分配设备

我们对KVM的实现包括QEMU,libvirt,VFIO *,VirtIO和VirtFS的现代版本。我们还支持开放虚拟机固件(OVMF),该固件支持UEFI对虚拟机的支持(添加了SecureBoot支持以及简化的GPU传递支持)。这允许将各种资源分配给虚拟机,从基础(存储,计算,网络和内存)到高级(完整的PCI / USB设备)。我们可以仿真多种机器类型(i440fx和Q35),支持CPU固定,针对SSD进行优化等等。最重要的是,这些虚拟化技术可防止其使用影响主机操作系统的可靠性。

5.简单方便管理

简捷 方便 直观 可视化 高效的管理

Unraid系统的管理是通过直观的Web界面完成的,该界面提供了常见任务的基本控件以及为更精明的用户提供的高级调整选项。Unraid自动选择适合大多数人需求的默认设置,但也允许您根据自己的喜好调整设置。这使Unraid在需要的地方直观,而在需要的地方可调。

  • 仪表板视图。仪表盘具有磁盘运行状况,温度,资源利用率和应用程序状态的指示器,可提供50,000英尺的视图,可显示系统中发生的事情。
  • 阵列运算。分配用于阵列或缓存的设备,上下旋转单个磁盘,启动和停止阵列,甚至执行动态奇偶校验检查,所有这些操作都可以从单个页面进行。
  • 股份管理。在Unraid上设置股份很容易。为共享命名,可以选择对访问和分发控件应用策略,然后单击“创建”!
  • 磁盘调整。控制设备降速的方式和时间,默认文件系统格式以及其他高级设置。
  • 网络控制。启用NIC绑定和桥接,设置时间服务器等。
  • APC UPS安全关机。连接到APC UPS时,如果电源中断,Unraid可以安全地关闭系统。
  • 系统通知。Unraid可以通过Web管理控制台以及电子邮件和其他通知系统提醒您系统中发生的重要事件。
  • 任务计划程序。选择是否以及何时进行自动奇偶校验,以及移动脚本应多久将文件从缓存传输到阵列的次数。
  • Docker容器。从单个窗格管理应用程序控件。使用社区提供的模板轻松添加应用程序。
  • 虚拟机。在预先创建的虚拟机映像之间选择,或从头开始创建自己的自定义VM。

Unraid Server 详细使用与安装

Unraid的优缺点及一些避坑大法(实战经验)

使用Unraid 有多年时间,也避了不少坑,有兴趣一起玩的网友可以关注我,一起来交流

上一篇

发表评论