YB体育Unraid官方手册
发布时间:2024-01-23 06:21:17

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

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

  从本质上讲,unRAID是与硬件无关的解决方案,可以将几乎所有具有64位功能的系统转变为NAS。unRAID可以管理大小,速度,品牌和文件系统各不相同的驱动器阵列(通过IDE,SATA或SAS连接)。另外,通过消除使用传统的基于RAID的技术,我们可以通过添加更多驱动器来按需扩展,而无需重新平衡现有数据。unRAID的NAS功能包括一个受奇偶校验保护的阵列,用户共享和一个可选的缓存池。

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

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

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

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

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

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

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

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

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

  图1.可视化不同的应用程序如何共享对公共基本映像的只读访问权限,并将对它的修改存储在写时复制数据存储中。

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

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

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

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

  图2.可以为容器分配公共系统资源,并保持隔离状态,以免在同一系统上相互造成负面影响。

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

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

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

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

  。仪表板具有磁盘运行状况,温度,资源利用率和应用程序状态的指示器,可提供50,000英尺的视图,可查看系统中发生的事情。

  。分配用于阵列或缓存的设备,上下旋转单个磁盘,启动和停止阵列,甚至执行动态奇偶校验检查,所有这些操作都可以从单个页面进行。

  。在unRAID上设置共享很容易。为共享命名,可以选择将策略应用于访问和分发控件,然后单击“创建”!

  。连接到APC UPS时,在断电的情况下,unRAID可以安全地关闭系统。

  。unRAID可以通过Web管理控制台以及电子邮件和其他通知系统提醒您系统中发生的重要事件。

  。选择是否以及何时进行自动奇偶校验,以及移动脚本应多久将文件从缓存传输到阵列的次数。

  通常,如果Linux支持它,则unRAID支持它。CPU使用率将降至最低,因此即使使用Celeron或Atom处理器等低端设备也可以使用。但是,如果您希望通过Docker容器或虚拟机运行更多性能要求较高的应用程序,则具有额外时钟速度并支持超线程的处理器可能会非常有益。如前所述,如果使用虚拟机,则需要对CPU进行虚拟化支持(Intel VT-x / AMD-V);如果通过PCI设备,则也需要IOMMU支持(Intel VT-d / AMD-V) Vi)。为了运行本地化的虚拟桌面,您将需要能够将图形设备(GPU)分配给VM,这将需要更具体的组件选择以实现兼容性。

  unRAID将安装到高质量的USB闪存设备并从中引导。设备必须至少为512MB,不大于32GB,并包含唯一的GUID(序列号)。

  如果您的unRAID系统的唯一目的是充当传统的NAS,则对系统的要求最小:

  如果打算将系统用作带有Docker容器的应用程序服务器,则需要确保您有足够的内存来支持打算用于系统的并发量。大多数用户会发现很难仅在Docker上利用超过8GB的RAM,但是不同应用程序的使用情况可能会有所不同。有关运行应用程序服务器的一般建议如下:

  要在unRAID上创建虚拟机,您将需要HVM硬件支持(Intel VT-x或AMD-V)。要将基于主机的PCI设备分配给这些VM,您的硬件还必须支持IOMMU(Intel VT-d或AMD-Vi)。最后,必须在主板BIOS中启用所有虚拟化功能(通常在CPU或“系统代理”部分中找到)。注意:并非所有声称支持此功能的硬件都被证明可以有效地工作,因此请参阅“经过测试的硬件”部分,以了解已知的工作组件组合。虚拟机还可以根据类型推动对更多RAM / CPU内核的需求。以下是有关每个虚拟机应分配多少RAM的一些一般建议:

  请记住,虚拟机的内存使用量仅在虚拟机运行时才会发生,因此从系统上的峰值并发使用量考虑这些要求非常重要。

  与其他PCI设备不同,图形设备可能更难以传递给VM进行控制。借助unRAID 6,我们已经进行了许多调整,以最大程度地为用户提供图形传递功能。以下是与unRAID 6上的GPU传递相关的当前已知限制:

  从600系列或更高版本开始,NVIDIA GTX系列GPU应该可以正常工作,但并非所有型号都经过了测试。

  根据制造商或型号以及所连接的客户机操作系统的不同,AMD卡有一些问题。

  对于基于OVMF的虚拟机,如果您的GPU具有UEFI支持,它应该可以正常工作,但是某些用户仍然会报告特定于卡的问题。

  在开始之前,您应该已经组装好服务器,并通过电源和以太网连接,还应该连接显示器和键盘以进行初始配置(以准备在BIOS中更改配置设置)。初始设置完成后,您可以根据需要断开显示器和键盘的连接,以在Headless(不插其他外置硬解,包括显示器)状态下运行unRAID 。您还需要512MB或更大的优质USB闪存设备。

  现在,您可以从PC或Mac上卸下Flash,将其插入服务器并打开电源。如果unRAID Server操作系统立即启动(它将启动某些主板),则可以跳过以分配设备。如果无法启动,请重置服务器,进入BIOS,将系统设置为从USB闪存启动,保存BIOS设置,然后尝试再次启动。如果仍然难以使服务器从闪存启动,请确保闪存是唯一插入任何USB端口的设备。另外,避免使用前面板USB端口,而应使用直接在主板I / O面板上可用的端口。如果您已遵循这些准则但仍然无法启动,请尝试在BIOS设置中进行以下调整:

  注:出于引导选择的目的,许多主板仅支持多达12个硬盘驱动器。对于unRAID®Server OS,这通常不是问题。但是,如果BIOS将BIOS识别为您的闪存设备为硬盘驱动器,则在安装第12个“实际”硬盘驱动器后可能无法从Flash引导。为避免这种情况,请尽可能设置您的BIOS,以便将Flash视为可移动设备。

  现在,您已经启动了unRAID服务器,您可以开始设置第一个阵列了。启动过程不会超过几分钟,完成后,请从Mac或PC打开网络浏览器,然后导航至http:// tower(如果使用Mac,则为http://tower.local)。进入的第一页是unRAID Main选项卡,您可以在其中选择要分配给奇偶校验,数据和缓存磁盘插槽的设备。将设备分配到unRAID很容易!请记住以下准则:

  。将来在扩展阵列(将更多设备添加到数据磁盘插槽)时,不能分配大于奇偶校验设备的数据磁盘。因此,强烈建议购买最大的HDD用作您的初始奇偶校验设备,因此将来的扩展不仅限于小型设备。

  。尽管unRAID不会阻止您执行此操作,但是由于TRIM /丢弃以及它如何影响奇偶校验保护,仅支持将SSD用作缓存设备。不支持将SSD用作数据/奇偶校验设备,这可能会导致此时丢失数据。

  。它通过将写操作重定向到专用磁盘(或unRAID 6中的磁盘池)并将此数据按照您定义的时间表(默认为每天凌晨3:40)移动到阵列中来实现。写入缓存的数据仍通过您的用户共享显示,从而使此功能完全透明。

  。如果仅将一个缓存设备分配给系统,则无法保护驻留在缓存中的数据在按计划移至阵列之前不会丢失数据。为确保数据始终处于受保护状态(数据和缓存磁盘上均如此),您必须将多个设备分配给缓存功能,从而创建所谓的缓存池。缓存池可以按需扩展,类似于阵列。

  。应用程序和VM受益于SSD,因为它们可以利用其原始IO潜力在与它们交互时更快地执行。在高速缓存池中使用SSD,以实现功能,性能和保护的最终组合。

  分配完所有设备后,可以单击“ 阵列操作”下的“开始”按钮。这将挂载设备并启动阵列。添加到磁盘或缓存设备插槽中的新设备将显示为“未格式化”,并且在格式化之前将无法使用。unRAID 6默认将所有设备都使用XFS文件系统,但是如果您定义了缓存池,则BTRFS将自动用于这些设备。要格式化设备以供使用,您必须单击“阵列操作”下显示“格式化”的复选框,然后单击“格式化”按钮。

  甚至在设备格式化之前,奇偶校验同步将在后台执行以初始化对阵列的保护。在同步完成之前,阵列将运行但处于不受保护的状态。建议先等待初始奇偶校验同步完成,然后再将数据添加到阵列中。

  当unRAID配置为自动运行时,您可能希望通过自定义IP地址,主机名,磁盘可调参数和其他设置来进一步优化设置。本节介绍了可以从unRAID webGui配置的各种设置。除非另有说明,否则所有设置控件都可以在unRAID任务栏上的“ Setting”选项卡下找到。

  在此页面上,您可以设置时区并切换最多3个NTP服务器的使用。建议您将unRAID调整到您的时区,以确保准确计时。

  您可以从此页面为磁盘设备配置其他设置。使阵列能够在启动时自动启动,调整磁盘降速计时器,甚至调整高级驱动程序设置(例如SMART轮询频率)。

  unRAID自动使用的主机名tower,但是您可以在此页面上进行调整。您还可以为系统提供描述/型号(对系统构建者有用)。

  默认情况下,unRAID会尝试从本地网络上的DHCP服务器(通常是路由器)获取IP地址。在此页面上,您可以配置静态IP地址,设置绑定/桥接或其他选项。建议设置静态IP,但使用unRAID不需要设置。

  如前所述,用户共享可以极大地简化跨阵列中多个磁盘的内容组织和访问方式。您可以指定允许哪些磁盘参与用户共享(全局包含/排除),如果存在缓存设备/池,则可以在此处配置它与用户共享一起使用。

  可以将unRAID连接到APC UPS(不间断电源),以便在断电的情况下,可以命令系统在关闭电源的同时通过电池供电。在此页面上,您可以配置与特定UPS的连接,并定义何时应发出shutdown命令的策略。有关完整的手册,请访问:

  SMB协议是基于Microsoft Windows的客户端使用的标准。在此页面上,可以启用它的使用,定义Windows工作组,甚至加入活动目录域。

  如果将用户添加到此页面上的FTP用户字段,则可以通过FTP连接。如果未添加用户,则不会启动FTP服务。

  从此页面自定义unRAID webGui的外观。这包括调整日期和时间格式,数字格式,用于选项卡式/非选项卡式视图模式的切换,温度单位等等。

  可以从此页面配置基于浏览器和电子邮件的系统通知。您可以为每种方法订阅不同类型的通知,甚至可以为SMART值属性监视添加自定义警报。

  通过“调度程序设置”页面,您可以为两种类型的自动化系统任务配置频率:奇偶校验和高速缓存移动器。

  借助unRAID 6,我们现在可以在unRAID上运行任何Linux应用程序,而无需考虑其分发格式。这意味着无论是为Ubuntu,CentOS,Arch,Red Hat或任何其他变体编写的应用程序,unRAID都可以运行它。这是通过使用Docker容器来完成的,该容器使我们能够为每个应用程序提供其自己的隔离的操作环境,在该环境中它无法创建软件兼容性或与其他应用程序的共存冲突。本指南将向您展示如何在unRAID 6上使用Docker入门,以安装媒体服务器,文件共享软件,备份解决方案,游戏服务器等。

  如果您想了解有关docker及其底层技术的更多信息,而不是本指南中提供的信息,则应访问docker主页。

  Docker旅程的第一步将是创建Docker虚拟磁盘映像,服务和所有应用程序映像将在其中驻留。

  在Mac或PC上打开网络浏览器,然后导航到unRAID webGui。

  指定初始虚拟磁盘映像大小(建议初学者使用至少10GB的映像大小开始)。以后可以放大,但是一旦设置就永远不能减小尺寸。

  该路径必须是特定于设备的(您不能通过用户共享文件系统指定路径;例如,“ / mnt / user / docker.img”不是有效路径)。

  如果没有可用的缓存磁盘,建议将虚拟磁盘存储在缓存磁盘的根目录或数据磁盘的根目录上。

  服务启动后,网页将刷新,并出现一个新的“ Docker Containers”部分。将Dockerized应用程序添加到unRAID的最简单方法是使用模板存储库,该存储库充当通过unRAID Web界面轻松安装和配置应用程序的目录。这些模板及其各自的应用程序由unRAID用户社区维护。

  添加了模板存储库后,您现在可以开始使用Docker创建应用程序“容器”。容器可防止软件与在unRAID上运行的其他应用程序和服务引起冲突。

  如果选择了网桥类型,则应用程序的网络访问将被限制为仅在端口映射部分中指定的端口上进行通信。如果选择了主机类型,则将为应用程序提供访问权限,使其可以使用主机上尚未映射到另一个正在使用的应用程序/服务的任何端口进行通信。一般来说,建议将此设置保留为每个应用程序模板指定的默认值。

  通过将容器的目录路径映射到主机上的目录路径,可以为应用程序授予对数据的读写访问权限。当查看“卷映射”部分时,“容器”卷表示要映射的容器的路径。主机路径表示容器卷将在您的unRAID系统上映射到的路径。所有应用程序都需要至少一个卷映射来存储应用程序元数据(例如,媒体库,应用程序设置,用户配置文件数据等)。在这些字段中单击将提供一个“选择器”,使您可以导航到映射应指向的位置。单击“添加路径”按钮可以手动创建其他映射。大多数应用程序都需要您指定其他映射,以便应用程序与系统上的其他数据进行交互(例如,对于Plex Media Server,您应该指定其他映射,以使其可以访问您的媒体文件。重要的是,在命名容器卷时,您指定的路径应与容器中已存在的现有文件夹不冲突。如果不熟悉Linux,则可以在卷名上使用诸如“ unraid_”之类的前缀(例如,“ / unraid_media”是有效的Container卷名)。

  当网络类型设置为网桥时,将为您提供自定义容器将使用哪些端口的选项。虽然可以将应用程序默认配置为与特定端口通信,但是我们可以使用Docker将它们重新映射到主机上的其他端口。这意味着尽管三个不同的应用程序可能都希望使用端口8000,但我们可以将每个应用程序映射到主机上的唯一端口(例如8000、8001和8002)。当网络类型设置为主机时,将允许容器使用系统上的任何可用端口。与卷类似,可以创建其他端口映射,但是在使用模板时通常不需要这样做,因为应该已经指定了端口映射。

  重要说明:如果要调整端口映射,请不要修改Container端口的设置,因为只能调整Host端口。

  配置好卷和端口映射后,现在就可以创建第一个Docker容器了。单击创建按钮,下载过程将开始。下载映像时需要注意的几件事:

  下载完成后,该应用程序将自动启动。要与您的应用程序交互,我们首先单击unRAID Web界面的Docker页面上可见的图标。这样做将使上下文菜单显示为具有多个选项:

  在应用程序运行之后,您要做的第一件事就是配置它。配置通常涉及从应用程序Web界面内指定存储位置。这样做时,请记住要在添加容器时查找定义的卷映射。例如,如果需要在BT Sync应用程序中指定指向我的媒体共享的文件夹路径,则可以在应用程序界面中指定“ / unraid_media”的路径,如下所示。

  使用Docker容器在unRAID上运行应用程序非常简单而且非常强大。以下是一些其他技巧,可以改善您的体验:

  尽管Docker容器是运行基于Linux的应用程序(如媒体服务器,备份软件和文件共享解决方案)的首选机制,但虚拟机增加了对非Linux工作负载的支持以及为分配的PCI设备提供驱动程序支持的能力。本地化虚拟化是我们支持VM的方法,其中分配给来宾的所有资源对于主机都是本地的。

  与其他虚拟机管理程序不同,KVM是唯一直接内置在Linux内核中并受Linux内核支持的软件。

  Linux之前,所有其他类型虚拟机管理程序都将先加载,然后Linux在该虚拟机管理程序的特权状态下运行。

  通过利用作为Linux内核本身一部分的管理程序,它意味着更好的支持,更少的复杂性以及更大的优化改进空间。

  网络和磁盘设备驱动程序的虚拟化标准,仅来宾的设备驱动程序“知道”它在虚拟环境中运行,并与虚拟机管理程序配合使用。

  这使来宾能够获得高性能的网络和磁盘操作,并提供了半虚拟化的大多数性能优势。

  VirtFS也称为9p文件系统,它使我们能够轻松地从虚拟化主机到来宾进行文件系统访问。

  VirtFS等同于KVM的Docker Volumes,但需要从guest虚拟机内部发出安装命令。VirtFS可与基于Linux的虚拟机。

  虚拟功能IO允许我们将物理设备(例如图形卡)直接分配给虚拟机,而虚拟机又将直接为该设备提供驱动程序支持。

  这限制了与设备驱动程序和内存空间有关的问题的影响,从而使unRAID OS免受不必要的风险。

  VFIO的使用需要具有IOMMU功能的硬件(您的CPU必须具有Intel VT-d或AMD-Vi支持)

  Libvirt是软件的集合,它提供了一种方便的方法来管理虚拟机和其他虚拟化功能,例如存储和网络接口管理。

  这些软件包括一个API库,一个守护进程(libvirtd)和一个命令行实用程序(virsh)。

  虚拟机可以通过两种方法访问基于主机的网络:通过libvirt管理的专用NAT桥接或通过unRAID直接管理的公共桥接。libvirt启动时,将自动配置专用网桥(virbr0)。可以通过unRAID webGui上的“网络设置”页面创建公用网桥。

  专用网桥会生成一个内部DHCP服务器/地址池,以自动为VM创建IP,但是VM将位于无法被其他设备甚至unRAID上的其他服务访问的子网中。如果您希望VM与其他所有接受Internet访问和主机网络文件共享协议的网络服务完全隔离,则这种类型的桥接是理想的选择。可以通过浏览器提供的VNC会话执行VM管理。

  公共网桥为VM提供来自路由器的IP地址,但在内部桥接VM之间以及彼此之间以及主机之间的通信。如果您希望您的VM像网络上的另一台设备那样工作,则该类型的桥接是理想的,您可以在该设备上通过LAN路由器而不是在VM内部管理其网络访问。我们会保留您创建的虚拟接口的MAC地址设置,以确保VM每次连接时都应获得相同的IP地址,只要路由器管理的DHCP池不会用完地址即可。因此,如果要从另一台PC,笔记本电脑,平板电脑或其他类型的设备连接到VM,则应使用公共网桥。

  至少,您应该创建两个用户共享,以用于unRAID上的虚拟化。一个共享用于存储安装媒体文件(ISO),另一个共享用于存储虚拟机本身。如果还没有共享用于备份,则可以考虑添加一个共享来备份虚拟机。

  重要信息:不要将活动虚拟机存储在是否使用缓存设置为“yes“,这样做将导致您的VM在调用移动器时被移动到阵列中。

  完成准备步骤后,您可以通过从“VM”页面单击添加VM来创建第一个虚拟机。

  如果您希望切换虚拟机的其他高级设置,则可以从“基本*视图”切换到“ 高级视图”(位于“添加虚拟机”页面的“模板设置”*部分栏上的开关)。

  ,i440fx是默认设置,仅当您在通过基于PCI的图形卡时遇到困难时才应进行更改(这可能会提示Windows重新激活)

  OVMF要求VM的操作系统支持UEFI(Windows 8或更高版本,大多数现代Linux发行版),如果您希望分配物理图形设备,它也必须支持UEFI

  如果您将Windows指定为客户机操作系统,则可以切换Hyper-V扩展对VM的显示方式

  请参阅有关基于NVIDIA GPU,Hyper-V设置和各种驱动程序版本的3D游戏性能的文章。

  如果需要,您可以修改VM虚拟网络接口的网络MAC地址,并指定备用网络桥

  可以将GPU分配给虚拟机以进行直接I / O控制的功能还包括一些其他规定:

  如果您依靠本地连接的显示器和键盘直接与unRAID终端进行交互YB体育,则在创建分配了GPU的SeaBIOS VM之后,您将失去此功能。这是由于VGA仲裁错误所致,无法解决。这不会影响您使用telnet或SSH会话访问控制台的能力,但是直接对本地控制台的访问将似乎被冻结(光标闪烁,但对键盘输入无可见响应)。与将离散GPU传递给VM相比,是否将控制台的板载图形与传递给VM无关紧要。但是,使用OVMF时,不会使用VGA,因此不需要仲裁,因此您的控制台图形将保持不变。请注意,并非所有GPU都支持OVMF,因为OVMF需要GPU上的UEFI支持。

  如果未收到错误消息,但是启动VM时显示未“点亮”,则表示在正确分配设备后,主板或GPU可能会出现问题,无法正常显示VGA仲裁的发生。您可以尝试一些方法来解决此问题:

  完成XML的编辑后,单击“更新”,然后尝试重新启动VM,以查看GPU分配是否正常工作。

  对于基于Windows的客户机,安装过程与其他客户机略有不同,因为您将需要为I / O(磁盘,网络等)加载虚拟驱动程序。为此,您将需要执行以下步骤:

  根据您要安装的Windows版本,获取安装媒体的过程会略有不同。要获取Windows 7或更高版本的安装介质YB体育,您将需要为要下载的软件的任何版本输入有效的Microsoft Windows产品密钥。产品密钥可以从Microsoft Store或授权经销商处获得。如果您具有产品密钥,但是没有安装介质,请参见以下链接:

  重要的是不要选择将操作系统安装到USB闪存设备。如果出现提示,请选择“通过创建媒体安装”,然后选择“ISO文件”(这将使您将媒体保存到ISO文件中)。获得ISO文件后,将其复制到unRAID服务器上的共享中。

  为了最大化VM性能,unRAID利用VirtIO,它消除了与虚拟化相关的I / O相关的许多开销。这些虚拟设备将需要在Windows安装过程中加载其驱动程序,否则该过程将无法完成。

  这就是全部!如果您对此程序有疑问,请在Lime Technology论坛上发帖。

  在Xen到KVM中运行的虚拟机将需要不同的过程,具体取决于它们是作为准虚拟客户机还是硬件虚拟客户机创建的。无论您采用哪种转换方案,强烈建议您在继续之前创建现有Xen虚拟磁盘的副本。使用该副本测试转换过程,如果成功,则可以根据需要删除自己的基于Xen的虚拟磁盘。此外,您应该确保硬件支持硬件辅助虚拟化(Intel VT-x / AMD-V),因为这是与KVM一起使用的要求。Xen PV guest虚拟机没有利用硬件虚拟化扩展,这使得它们的转换过程比Xen HVM guest虚拟机向KVM转换的过程要复杂得多(在撰写本文时尚未进行记录)。

  要将Windows 7虚拟机从Xen转换为KVM,此过程非常简单,大约需要10分钟。开始之前,请删除通过Xen域cfg文件所做的所有PCI设备传递。转换过程完成后,可以重新添加这些设备。

  注意:如果您不使用GPLPV驱动程序,则可以跳过接下来的几个步骤,并从重新进入KVM模式恢复该过程。

  关于使用KVM在unRAID 6上创建基于Windows的虚拟机,有几件事值得一提。

  在激活Windows许可证之前,我们强烈建议您先对VM进行彻底的测试。

  在高级模式下在i440fx和Q35之间更改计算机类型将提示Windows重新激活许可证。

  Windows 7和早期版本的操作系统可能无法正确使用基于主机的图形分配。使用Windows 8.1或更高版本可获得最佳体验。

  如果使用OVMF,则必须使用Windows 8或更高版本。Windows 7不直接支持UEFI,因此OVMF将不起作用。

  如果要将图形设备分配给使用HDMI连接的Windows guest虚拟机,并且希望通过该连接推送音频,则需要在Windows中执行注册表修改,以确保音频驱动程序正常运行。有关MSI和VFIO中断的全面说明,请访问Alex Williamson的博客[8]。这是执行此操作的过程:

  如果“启用”设置设置为+,则意味着您的设备声称它具有MSI功能,并且由使用它的来宾VM启用。如果找不到找到MSI作为功能的行,则表明您的设备不支持此功能。如果将“启用”设置设置为-,则意味着您的设备声称它具有MSI功能,但来宾VM未使用它。此处记录了从Windows启用MSI支持的过程:

  如果您希望将现有的物理PC或服务器转换为可在unRAID 6上使用的虚拟机,则过程非常简单。步骤1-3适用于几乎所有基于Linux的现代来宾。步骤4-6适用于基于Windows的来宾。

  如果您的操作系统是使用UEFI安装的(与传统的VGA BIOS相对),请从步骤3重新开始,但选择OVMF作为BIOS类型而不是SeaBIOS。大多数操作系统安装使用传统的VGA BIOS进行安装,但是可以进行UEFI安装,在这种情况下,SeaBIOS将无法工作。其余转换过程相同。

  要连接到webGui,只需在浏览器的地址栏中键入服务器的名称(或其IP地址)(如果使用Mac OS X设备,则默认为http:// tower或http://tower.local。)。

  unRAID webGui上的第一个选项卡是仪表板。仪表板旨在为您提供系统的摘要视图,并允许您快速跳至与系统运行状态相关的常见任务。

  主选项卡用于在阵列停止时分配存储设备,并提供运行时磁盘使用情况的摘要视图。也可以从此页面手动调用奇偶校验。该页面本身分为5个部分:

  该数据直接从硬盘驱动器读取,包含设备序列号/型号以及在之下分配的驱动器号/dev。

  这是硬盘驱动器通过SMART报告的温度。旋转磁盘时,此处将显示一个星号(*)。这是因为将命令发送到硬盘驱动器以获取SMART信息会导致其启动。

  这是磁盘文件系统中的可用空间量,表示为1024字节的块数。由于文件系统的开销,新格式化磁盘的可用空间将始终小于磁盘的原始大小。奇偶校验/未分配的设备将不在此处显示值。

  错误统计信息显示失败的读取和写入操作的数量。在受保护的阵列中,任何单磁盘读取错误都将被即时纠正(使用奇偶校验重建)。错误计数器将在每次发生此类情况时增加。任何单磁盘写入错误都将导致错误计数器增加,并且该磁盘被禁用。

  系统启动后,统计信息开始清除;并且可以随时手动清除它们;请参阅“设置”页面。

  通常,在系统启动后,将自动启动阵列(完整的磁盘集)(联机存储并作为一组共享导出)。但是,如果磁盘配置发生了变化(例如添加了新磁盘),则阵列将保持停止状态,以便您可以确认配置正确。这意味着,每次更改磁盘配置时,都必须登录unRAID webGui并手动启动阵列。

  启动阵列时,系统将首先格式化新磁盘。完成此操作后,所有数据磁盘(包括新磁盘)将被导出并可供使用。

  格式化操作包括两个阶段。首先,清除新磁盘的全部内容(用零写入),然后在阵列中将其标记为活动。接下来,创建一个文件系统(ReiserFS,XFS或BTRFS)。默认情况下,unRAID首选将XFS用于新的阵列设备,将BTRFS用于新的缓存设备。这些设置可以在“磁盘设置”页面上进行更改。

  清除阶段对于保留阵列的容错特性是必需的。如果在清除新磁盘的任何时候任何其他磁盘发生故障,您仍然可以恢复发生故障的磁盘的数据。不幸的是,清除阶段可能需要几个小时,具体取决于新磁盘的大小。

  添加的任何新磁盘的容量必须等于或小于奇偶校验磁盘的容量。如果要添加一个大于奇偶校验磁盘的新磁盘,则必须先替换奇偶校验磁盘。(您可以使用新磁盘替换奇偶校验,然后将旧奇偶校验磁盘用作新数据磁盘。)

  启动阵列时,系统会将原始较小磁盘的内容重建到新磁盘上。完成后,将扩展磁盘的文件系统以反映新的大小。一次只能扩展一个磁盘。

  如果要用更大的磁盘替换现有的奇偶校验磁盘,则在启动阵列时,系统将简单地将奇偶校验同步启动到新的奇偶校验磁盘上。

  当新的更大的磁盘也大于现有的奇偶校验磁盘时,存在一种特殊情况。在这种情况下,必须使用新磁盘先替换奇偶校验,然后再用旧奇偶校验磁盘替换小磁盘:

  在更换故障磁盘后启动阵列时,系统会将故障磁盘的内容重建到新磁盘上;如果新磁盘更大,则扩展文件系统。

  您必须用大于或大于原始磁盘且不大于奇偶校验磁盘的磁盘替换故障磁盘。如果替换磁盘大于奇偶校验磁盘,则系统允许进行特殊配置更改,称为swap-disable。

  对于禁用交换功能,您可以使用现有的奇偶校验磁盘替换故障磁盘,然后将新的大磁盘安装为奇偶校验磁盘:

  启动阵列时,系统将首先将奇偶校验信息复制到新的奇偶校验磁盘,然后重建故障磁盘的内容。

  在这种情况下,将识别丢失的磁盘。如果在启动阵列时仅缺少一个磁盘,它将被标记为失败。所有数据磁盘将被导出(包括丢失的磁盘),但是系统将不受保护地运行;也就是说,如果磁盘发生故障,您将丢失数据。

  如果缺少两个或多个磁盘,则无法启动阵列。在这种情况下,您必须放回磁盘,或将阵列重置为未配置状态。

  当阵列停止时,您可以导航到webGui顶部的“工具”选项卡,然后单击“新建配置”。此功能将还原阵列配置数据,以便系统认为它与所有新的硬盘驱动器都是全新的。启动阵列时,系统将启动后台进程以生成奇偶校验信息。

  在所有硬盘均为新硬盘的特殊情况下,格式化操作将不会清除数据区域。它只是产生奇偶校验。当您添加了新磁盘并且不想等待清除阶段完成时,可以使用此功能。在这种情况下,您可以首先重置阵列配置,然后简单地启动阵列,系统将重新同步奇偶校验,并合并新磁盘。

  阵列配置数据存储在Flash上的文件config / super.dat中。因此,您必须始终在服务器中安装Flash。

  当阵列启动并且奇偶校验已经有效时,在“阵列操作”部分中将有一个标记为Check的按钮,它将启动后台奇偶校验功能。奇偶校验将并行遍历所有数据磁盘,计算奇偶校验,并根据奇偶校验磁盘上存储的奇偶校验对其进行检查。如果发生不匹配,奇偶校验磁盘将使用计算的数据进行更新(写入),并且“同步错误”计数器将增加。

  同步错误的最常见原因是功耗,这会阻止将缓冲的写数据写入磁盘。每当阵列启动时,如果系统检测到以前发生过不安全的关机,则它将自动启动奇偶校验。

  用户共享是unRAID OS的一项功能,可在多个数据磁盘之间提供统一的名称空间。用户共享通过呈现所有非RAID存储的视图,就像一个大文件系统一样,简化了存储管理。

  启用“用户共享”后,unRAID OS将自动创建一组共享,这些共享以在每个数据磁盘上找到的顶级目录命名。如果一个以上的磁盘上存在同一顶级目录,则导出的共享将包含所有磁盘上该顶级目录下的所有目录/文件。

  如果多个磁盘上的同一层次结构上存在相同的对象(目录或文件),则用户共享将引用编号最小的磁盘上的对象。例如,如果在磁盘1和磁盘2上都存在电影/汽车,则电影用户共享下的汽车将引用磁盘1上的版本。

  每次启动阵列时,如果启用了“用户共享”,则unRAID OS将重新生成并将每个顶级目录重新导出为网络共享。

  创建新的用户共享时,或在用户共享中创建任何对象(文件或目录)时,系统必须确定将在哪个数据磁盘上创建用户共享或对象。通常,新的用户共享或用户共享内的对象将在具有最大可用空间的数据磁盘上创建。但是,有一组共享配置参数可用于微调磁盘分配。

  共享的基本分配策略由“分配方法”配置参数定义。您可以选择两种分配方法之一供系统使用:

  在这种方法中,系统将选择当前具有最小可用空间但仍高于某个最小值(称为“高水位”标记)的磁盘。假设在上面的示例中,我们遇到这种情况:

  初始高水位标记设置为最大磁盘大小的1/2;在这种情况下,它将设置为60GB。在这种状态下,disk1在“高水位”标记上方有15GB的可用空间;disk2具有50GB,disk3具有10GB。

  创建新对象后,系统将选择disk3,直到disk3上的可用空间降至60GB以下。随后,系统将开始从disk1进行分配,直到其可用空间低于60GB。然后它将从disk2进行分配,直到其可用空间也低于60GB。一旦所有磁盘上的可用空间量低于60GB,就会通过将旧的高水位除以2来建立新的高水位线。

  High-water方法的优点是,在写入一系列文件时,大多数时候只需要旋转一个数据磁盘即可。

  通常,媒体数据将合并在单个目录或目录树下。然后,在播放过程中,将依次访问文件。组成DVD电影的VOB文件集就是这种情况。在这种情况下,如果可能的话,我们希望所有关联的媒体文件都存储在同一物理磁盘上。这是因为我们不希望在包含下一个文件的磁盘旋转时暂停媒体播放。unRAID OS通过引入称为“拆分级别”的可配置分配参数来解决此问题。

  拆分级别定义了共享目录层次结构中的最高级别,可以在多个磁盘之间拆分。在上面的电影共享示例中,将“分割级别”设置为1仅允许根据“分配”方法将直接在“电影”目录下创建的任何对象分配给任何磁盘。因此,当我们创建Alien子目录时,它可能驻留在任何数据磁盘上。但是,当我们在Movies / Alien目录中创建文件或其他目录时,该对象位于2级,并且将在Movies / Alien目录实际所在的任何磁盘上创建。

  然后将“ Split Level”设置为2。这将使类型在所有磁盘之间扩展,但仍要确保实际影片目录的内容在同一磁盘内。

  如果将共享的“拆分级别”设置为0,则在该共享下创建的所有目录/文件将位于最初创建共享的同一磁盘上。

  如果将共享的“拆分级别”设置为较高,例如999,则在该共享下创建的每个目录/文件都将根据分配方法放置在磁盘上。

  控制共享使用哪些磁盘的最后一种方法是通过“包括的磁盘”和“排除的磁盘”配置参数。

  Included disks(s)参数定义了一组磁盘,这些磁盘是分配给该共享的候选磁盘。如果“包含的磁盘”为空,则所有当前数据磁盘均为候选磁盘。例如,要将共享限制为仅使用disk1,disk2和disk3,可以将“包括的磁盘”设置为disk1,disk2,disk3。

  “ Excluded disk(s)”(已排除磁盘)参数定义不考虑分配的磁盘集。如果“排除的磁盘”为空,则不会排除任何磁盘。

  在考虑为新对象分配空间的磁盘时,unRAID OS首先检查该磁盘是否在“包括的磁盘”集中,并检查它是否在“排除的磁盘”集中。

  unRAID操作系统将根据配置的分配方法选择磁盘以创建初始的顶级共享目录。

  如果共享安全级别设置为“公共”(未启用),则无需创建其他用户。尝试连接到您的unRAID服务器上的共享的任何用户都将被授予访问权限,这取决于共享上的“导出模式”设置。

  如果将共享安全级别设置为“私有”(启用),则需要输入可以访问共享的用户列表。当用户尝试连接到您的unRAID服务器上的共享时,将出现一个对话框,要求他们输入用户名和密码,然后再被授予访问共享的权限。此外,您可以指定哪些用户可以访问每个共享,以及将访问权限限制为只读。

  假设我们有一个称为电影的共享,我们希望网络上的每个人都可以阅读,但是只有拉里可以读/写:

  注意:某些操作系统会将隐藏文件添加到用户共享中,这将阻止您删除它。您可以通过从控制台执行以下命令来标识这些文件(将替换为您的用户共享名):

  在unRAID 4.7版本上,要删除用户共享,只需清除共享名称字段,然后单击应用即可。只能删除完全空的用户共享。

  名为config / shares / .cfg的用户共享配置文件存储在Flash中,用于每个用户共享(共享名称在其中)。如果此文件不存在,则将一组默认值用于用户共享。每当更改“用户共享”参数时,它的配置文件也会更新,或者如果不存在则创建它。

  添加新的用户共享或更改现有用户共享的配置参数不会断开其他共享上的任何当前连接。但是,重命名或删除用户共享将断开所有未完成的连接。这是因为必须停止Samba才能重命名或删除与共享关联的顶级目录。

  用户共享使用专有代码实现,该专有代码构建所有数据磁盘的复合目录层次结构。这是在/ mnt / tmp上安装的tmpfs文件系统上创建的。用户共享使用专用的FUSE伪文件系统(称为“ shfs”)导出,该系统安装在/ mnt / users上。

  当需要在选定磁盘上创建对象时,首先在磁盘上创建目录层次结构(如果尚未放置)。删除磁盘上特定目录的最后一个文件后,该磁盘上目录层次结构的未使用部分将保留在原处。

  启用用户共享后,仍可以通过单个磁盘共享访问文件。但是,根据磁盘目录层次结构和用户共享设置,磁盘共享上的某些操作可能不会反映在包含该磁盘的用户共享中。

  “用户”页面用于为根用户设置密码,并为服务器添加/删除用户。用户级别的安全性是一项功能,可让您根据用户名限制对共享的访问。

  如果未启用“用户级别的安全性”,则无需输入用户列表。尝试连接到您的unRAID服务器上的共享的任何用户都将被授予访问权限,这取决于共享上的“导出模式”设置。

  为共享启用用户级安全性后,您将需要输入可以访问共享的用户列表。当用户尝试连接到您的unRAID服务器上的共享时,将出现一个对话框,要求他们输入用户名和密码,然后再被授予访问共享的权限。此外,您可以指定哪些用户可以访问每个共享,以及将访问权限限制为只读。

  无论是否启用了“用户级安全性”,内置用户名root始终显示在“用户”列表的顶部。如果您为root用户输入非空白密码,那么当您尝试打开webGui时,浏览器也会提示您输入密码。另外,系统将提示您输入密码以登录控制台或telnet会话。

  要创建新用户,请滚动到“用户”列表的末尾,输入新的“用户名”和“密码”(以及“重新输入密码”),然后单击“添加用户”。

  要更改现有用户的密码,只需为该用户键入新的密码(并重新输入密码),然后单击应用。

  要删除用户,请将用户名更改为空白,然后单击应用。请注意,您不能删除root用户。

  每个新用户都会自动获得一个唯一的uid和一个唯一的gid(组名与用户名相同)。但是,在共享中创建的所有对象(文件/目录)将归root拥有。

  只有root用户可以访问unRAID WebGui,并登录到系统控制台或telnet会话。配置的用户在服务器上没有实际的家庭帐户。

  配置/ passwd中 -包含用户名和加密口令 配置/组 -包含用户创建的组 配置/ smbpasswd中 -包含用户名和SMB加密口令

  名称应仅由字符az,0-9,-(破折号),_(下划线)和组成。(点)。请不要使用任何大写字母。

  以下部分代表在整个unRAID系统生命周期内需要执行的常见任务。这包括扩展阵列,替换发生故障的设备以及从缓存池添加/删除设备。

  如果没有池,则驻留在缓存中的数据将处于不受保护的状态,直到移动到阵列。将多个存储设备集中在一起可确保始终保持数据保护,无论数据是在缓存中还是在阵列中。