FreeNAS-学习指南-全-

FreeNAS 学习指南(全)

原文:annas-archive.org/md5/4a7b61ae51a9e14fe0caa74e9b849e52

译者:飞龙

协议:CC BY-NC-SA 4.0

第一章:关于 NAS 和 FreeNAS 的全部内容

第一章是对网络附加存储(NAS)的高层次概述,特别是 FreeNAS 软件的介绍。我们将介绍 NAS 的基本理念以及 FreeNAS 服务器的哲学。本章的内容比书中的其他章节更加理论化,但理解网络附加存储的概念以及 FreeNAS 服务器在您业务中的作用仍然非常重要。本章的主要内容包括:

  • 什么是网络附加存储?

  • 什么是 FreeNAS?

  • FreeNAS 有哪些功能?

  • FreeNAS 为我和我的企业做了什么?

网络附加存储

在 80 年代中期,两个著名的计算机公司独立开始研究如何通过网络访问另一台计算机上的文件,就像那台远程计算机的硬盘直接连接到本地机器一样。这两家公司是 Sun Microsystems 和 Microsoft。Sun Microsystems 的方法是为其 UNIX 操作系统设计的,被称为网络文件系统(NFS),并随后在几乎所有版本的 UNIX 操作系统中得到了实现,包括 Linux。而微软的解决方案(最初与 IBM 共同开发)被称为 SMB(服务器消息块),但后来被重命名为公共互联网文件系统(CIFS)。

NFS 和 CIFS 的基本功能非常相似,安装任一协议的网络计算机都可以读取和写入另一台网络计算机上的文件系统。Windows 用户通常通过“网络邻居”(Windows 95/98)或“我的网络位置”(Windows ME、2000 和 XP)或更近一些的“网络和共享中心”(Vista)来接触这一概念。在这里,你可以浏览本地网络上的其他 PC,并读取和写入该机器上的文件,只要文件的所有者与您共享它。

使用远程计算机(文件服务器)存储文件的能力,促使许多公司部署了大型的集中式 NFS 服务器或 Windows 服务器,这些服务器被数百甚至上千台 UNIX 工作站或 PC 客户端访问。用户通常会被鼓励将所有重要文件存储在这些服务器上,因为 IT 人员会定期备份服务器,从而备份用户的重要文件。

存储空间一直是计算机系统中的一个重要方面。今天,硬盘空间比以往任何时候都更为紧缺。回到 1960 年代,存储是以字节(8 位二进制数字,值为 0 或 1)和千字节为单位来衡量的。随着计算机的进步,存储(包括硬盘)从兆字节(1024 千字节)发展到吉字节(1024 兆字节),直到今天,随着 21 世纪的推进,计算机存储已经进入了太字节(1024 吉字节)的领域。

随着现代对视频和音频的需求,结合高速的局域网和 CIFS 与 NFS 访问协议,一种新的存储解决方案应运而生:网络附加存储(简称 NAS)。NAS 服务器在许多方面与传统的文件服务器相似,尤其是在服务器硬件方面。但 NAS 服务器比传统的办公或部门服务器更加专业化,因为它只通过网络提供存储访问。它并不设计用来运行像数据库或邮件服务器这样的应用程序,而这些应用程序可能是其他类型服务器的功能。通常,NAS 服务器不需要永久连接键盘、鼠标或显示器,日常管理则通过网页界面进行。

下面是 FreeNAS 网络界面的一个示例:

网络附加存储

要访问服务器上的数据,典型的 NAS 将支持多个访问协议,从而允许 Microsoft Windows 客户端、Apple OS X 客户端和 UNIX(包括 Linux)客户端连接并使用服务器上的数据。

NAS 服务器通常包含一个或多个硬盘,这些硬盘可以组合成大块连续存储区域,或以冗余的方式使用。在冗余设置中,如果一个硬盘发生故障,系统仍然能继续工作,而且您的数据不会丢失。

NAS 服务器有各种形状和尺寸。有几家公司提供嵌入式操作系统的紧凑型 NAS 服务器,并且可能只能安装两个硬盘。这些设备相对便宜,但扩展空间有限。在另一端,有专门的 NAS 服务器,它们更像传统的文件服务器,具有较强的处理能力,并且支持多个硬盘(这使得 NAS 能够托管几个 TB 的数据)。

下面是一个 NAS 如何适应您的网络环境的示例:

网络附加存储

与传统的文件服务器相比,网络附加存储具有几个优势:

  • NAS 提供更好的安全性。由于服务器只运行提供数据访问的专用操作系统,因此没有其他服务(如电子邮件服务器和通用 Web 服务器)运行,从而减少潜在的安全风险。

  • NAS 服务器旨在提供更高的可用性(减少停机时间)。NAS 服务器设计有硬盘冗余模型,从而在硬件故障时不丢失宝贵的数据。

  • NAS 服务器使用和管理起来更简单,因为大多数配置通过网页界面完成,而该界面是专为执行运行 NAS 所需的特定任务而设计的。

  • NAS 的系统要求较为简单,不需要尖端的处理能力。

  • NAS 服务器可以在异构网络环境中工作,因此可以让不同类型的计算机连接并使用其存储。

因此,NAS 的整体成本低于传统服务器,同时允许扩展并提高可用性和安全性。

本书聚焦于一种名为 FreeNAS(免费网络附加存储)的 NAS 实现,它将普通 PC 或服务器转变为 NAS。

什么是 FreeNAS?

FreeNAS 是一款免费的软件,将个人电脑转换为 NAS 服务器。它支持来自 Microsoft Windows、Apple OS X、Linux 和 FreeBSD 的连接。它支持硬盘冗余,拥有简单的 Web 管理界面,并且系统要求较为适中。

FreeNAS 是一种被称为嵌入式操作系统的操作系统。这意味着它紧凑、高效,并且专门用于完成单一任务,在这种情况下是 NAS。一旦 FreeNAS 安装在 PC 上,该 PC 就会变成一个专用的 NAS,无法同时执行其他一般任务。

要使用 FreeNAS,您需要从 www.freenas.org 下载该软件,并在您希望将其变成 NAS 的计算机上启动它。我们将在下一章中详细讨论这一点。

FreeNAS 有两个版本;一个是 Live CD,另一个是可安装套件。Live CD 将计算机启动为 NAS,并使用软盘或 USB 闪存驱动器存储配置信息。可安装版本将自己安装到服务器上(就像传统操作系统那样),并使用系统硬盘存储配置信息。

那么,为什么 FreeNAS 是免费的呢?FreeNAS 是一种开源软件。它最初由 Olivier Cochard-Labbé 编写,现在由一个小型国际团队维护,Oliver 是项目负责人。作为开源软件,意味着 FreeNAS 团队已将软件授权方式设定为允许用户自由访问该软件及其源代码。您可以自由使用和部署 FreeNAS,且没有任何限制。您还可以获取源代码并为自己构建或修改软件。唯一的限制是,当重新分发 FreeNAS 时,无论是否有修改,原始的版权声明必须保持完整。Olivier Cochard-Labbé 是版权持有者,他还持有 FreeNAS 名称的商标。

FreeNAS 由几个不同的组件组成。在最低层次上,是操作系统(FreeBSD,详见下文)。然后是提供网络服务的各种服务器组件,最后是 Web 管理界面。

注意

在本书中多次提到的操作系统是 FreeBSD。FreeBSD 是一种类 UNIX 操作系统,源自原始 AT&T 版本的 UNIX,通过伯克利软件分发(BSD)分支传承下来。FreeNAS 建立在 FreeBSD 之上并依赖于 FreeBSD。由于 FreeNAS 和 FreeBSD 之间高度的协同效应,第九章和第十章将帮助您排除 FreeNAS 中的问题,并涉及 FreeBSD 操作系统的低级命令。

特性

FreeNAS 软件的功能非常强大,随着每次发布,功能列表都在不断增长,同时保持提供简单 NAS 服务器的目标。那么,FreeNAS 能做些什么呢?

FreeNAS 可以安装在硬盘或 USB 闪存驱动器上,安装完成后占用不到 32MB 的磁盘空间。

支持使用通用互联网文件系统(CIFS)协议的 Microsoft Windows 计算机。这是微软用于通过网络访问文件的协议。CIFS 也被 Linux 操作系统和苹果的 OS X 所支持。这意味着 Linux 和 Macintosh 计算机也可以访问 NAS。通过 CIFS,NAS 的区域可以永久挂载到客户端机器上,就像它们是本地硬盘一样。

FreeNAS 支持网络文件系统(NFS)。NFS 是一种成熟的网络文件访问协议,通常用于 UNIX 类型的环境中。使用 NFS,NAS 服务器上的存储区域可以像客户端的本地磁盘一样使用。

文件传输协议(FTP)是被支持的。FTP 是一种成熟的协议,用于通过网络传输文件。FTP 是一个客户端/服务器协议,通常用于在机器之间传输文件,以“一次性”的方式进行。建立连接后,文件传输完成,连接关闭。这是一种常用于允许人们从互联网上下载文件的协议。在 NAS 环境中,它非常适合提供网络上的软件库(例如软件、公司模板和杀毒软件更新)。

FreeNAS 服务器可以通过不同的工具(如 Unison 和 RSYNC(远程同步))作为备份服务器使用。使用 RSYNC,可以高效地将整个磁盘或文件夹(及其子文件夹)与备份服务器同步。RSYNC 相较于直接通过网络复制文件的优势在于,RSYNC 只会复制文件中已更改的部分。

FreeNAS 还支持安全外壳协议(SSH)进行加密连接和数据交换,支持苹果文件协议(AFP),为 Mac OS X 和经典 Mac OS 提供文件访问服务,还支持 UNISON(另一种文件同步协议)。

为了提供对 NAS 存储的访问,并扩展服务器的存储能力,FreeNAS 支持 Internet 小型计算机系统接口(iSCSI)。iSCSI 通过 IP 网络模拟本地 SCSI 硬盘的存在。FreeNAS 可以充当 iSCSI 服务器(通过 SCSI over IP 协议导出 RAW 本地存储),在技术上称为 iSCSI 目标。FreeNAS 也可以充当客户端,连接到其他 iSCSI 目标并挂载 iSCSI 磁盘。挂载到本地的 iSCSI 磁盘成为服务器的通用存储资源的一部分;而 FreeNAS 服务器可以充当这些磁盘的网关或主控,允许其他机器(如 Windows PC)通过 CIFS、FTP 等使用 iSCSI 磁盘。这种设置在存储区域网络(SAN)模型中非常流行。

FreeNAS 支持多种文件系统。文件系统是文件在磁盘上存储和组织的方式。不同的文件组织方法具有不同的特点,如速度、最大文件大小、以及系统崩溃后的恢复能力。FreeNAS 可以使用 UNIX 文件系统(UFS),这是 FreeNAS 的默认文件系统。它还可以使用 Linux 文件系统 ext2 和 ext3,以及 NT 文件系统(NTFS),后者是 Microsoft Windows NT/2000/XP、Windows Server 2003/2008 和 Vista 的本地文件系统。

支持多种类型的硬盘,包括当前所有流行的硬盘(SATA/PATA、SCSI、iSCSI、USB 和 Firewire)。FreeNAS 还可以处理大于 2TB 的硬盘,只要文件系统允许。

所有受 FreeBSD 支持的流行网络卡(包括有线和无线网络卡)都可以在不需要下载和安装额外驱动程序的情况下与 FreeNAS 兼容。

FreeNAS 包括硬盘故障转移和镜像技术。使用一种名为 RAID(冗余廉价磁盘阵列)系统,你可以将硬盘配置成多个磁盘组,通过组合磁盘使数据在 2 个或更多的磁盘上分布,以便在某个磁盘发生故障时,数据完整性得以保持,且你的 NAS 继续工作。FreeNAS 可以使用硬件 RAID(由控制卡负责控制所有磁盘),也可以使用软件 RAID,其中 FreeBSD 操作系统负责运行 RAID 阵列。FreeNAS 通过 FreeBSD 提供的驱动程序支持许多流行的硬件 RAID 卡。

FreeNAS 能为我和我的企业做些什么?

网络附加存储(NAS)是解决一个问题的方案。为了了解 NAS,特别是 FreeNAS,能为你带来什么,我们首先需要看看问题的本质。

简单来说,问题在于对高度可访问存储空间的需求。存储空间的需求因三个明确但重要的原因而增加。首先,企业中创建的数字信息量在增加。其次,这些数字信息的大小在增加,最后,在一些有法定长期数据存储要求的国家,对旧数据进行全面归档和管理的需求也在增加。

创建的数字信息量增加,因为越来越多的业务数据存储在计算机上,企业对纸张的依赖性降低了。以电子邮件为例。10 到 15 年前,电子邮件可能不是您业务的关键部分。它可能存在并被使用,但尚未成为关键。而今天,电子邮件已成为使命关键。像 Yahoo!、Gmail 和 Hotmail 这样的在线电子邮件服务最初提供的是 5 或 10 兆字节的邮箱,而今天它们提供的邮箱容量已经是以吉字节计。一个拥有 100 人的组织每年会生成吉字节级别的电子邮件数据。如果您的业务扩展并雇佣更多人员,那么电子邮件的数量也会随之增加。随着您的客户数量增加,您的电子邮件数据量也会增加,依此类推。

然后,如果你考虑到文件、合同、会计、库存、演示文稿、销售材料等等,你就会发现数据量在增长。每个新的销售线索,每个新客户和每份支持合同都会增加生成的数据量。

其次,数字信息的性质正在发生变化,数据的大小也在随之改变。在过去,数据更多地以文本为导向,但今天数据已经多媒体化。照片、视频和音乐现在是正常的数据类型。其中一个显著的区别当然是,文本类型的数据(包括简单的文字处理器文档)较小,而多媒体文件则大得多。这反映在可用的光盘类型上。最初的 CD-ROM 容量为 650 兆字节,足够存放 72 分钟的音乐。然后出现了 6 倍大的 DVD,容量为 4.7 吉字节(单层盘)。现在,有高密度光盘如蓝光光盘,双层蓝光光盘可存储 50 GB,几乎是双层 DVD 的 6 倍大小,容量为 8.5 GB。与此同时,硬盘的容量也在增长,达到了几 TB 的大小。

第三,企业如何管理旧数据变得越来越重要。世界各国政府已通过立法,要求企业保存数据更长时间。数据的价值是不断波动的。看似只是来自一位前员工的旧文件,可能在一夜之间变成系统中最重要的文件,因为你发现其中包含了重要的信息。旧邮件的价值也同样波动。你今天认为的旧邮件,可能在明天变得至关重要,因为律师可能因为某些法律事务需要查看它。保持旧数据的安全并易于访问(通过将其复制到 FreeNAS 服务器,并配合其他备份方法)至关重要。但由于其本身的特性,旧数据的体积将随着时间的推移不断增加,你对存储的需求也会随之增加。

注意

当 FreeNAS 不是正确的解决方案时

FreeNAS 并不是在所有情况下都能提供最佳解决方案。最明显的例子是,当你在网络上只有非常少的用户,比如少于 3 个时。在这种情况下,直接附加存储(即外部 USB 硬盘或向现有的网络 PC 添加另一个硬盘)是另一种解决方案。

随着存储空间需求的增加,数据需要在你网络上的不同类型计算机(Windows、UNIX、OS X)之间可访问,并且需要在没有长时间停机的情况下,以一致的方式提供访问。

传统上,Windows 桌面机器与 Windows 服务器配合使用,而 UNIX 桌面机器与 UNIX 服务器配合使用,但 Windows 和 UNIX 系统之间的互通较少。虽然许多网络协议都可供 Windows 和 UNIX 使用,但这两个不同的系统往往是孤立使用的。Windows 服务器有自己的系统管理员,而 UNIX 机器也有自己的管理员。

为了降低成本并提高可用性,网络附加存储需要提供从 Windows PC 和 UNIX 客户端访问数据的功能。拥有一个可以服务网络中所有客户端的统一服务器,是管理数据的一个重要方面。

FreeNAS 如何满足这些需求

为了解决更多存储空间的需求,你可以使用 NAS。但要对你的企业有价值,这个 NAS 需要易于使用、易于安装和部署、易于管理、可扩展,且没有高昂的许可证费用。

易用性— 由于 FreeNAS 的设计目标是做一件事,那就是将一台 PC 或服务器转换为网络附加存储,因此它简单易用且易于管理。从用户的角度来看,它就像是一个存储设备。如果在 Windows 平台上使用,它只会显示为一个额外的硬盘;在内网环境下,它则是一个 FTP 存储库。大多数系统管理操作都是通过 Web 界面完成的,甚至可以通过 Web 界面重启机器。

易于安装和部署—— 启动 FreeNAS 非常简单,特别是在使用 USB 闪存驱动器和现场 CD 时。只需将 CD 插入驱动器并启动。在下一章中,我们将进行快速安装,帮助你熟悉 FreeNAS 及其 Web 界面。

易于管理—— 正如上文“易用性”部分提到的,FreeNAS 是专门为 NAS 设计的软件。与传统服务器操作系统的完整安装不同,你只需担心存储配置,没有复杂的系统服务需要配置,且不会有 101 个选项让你头疼。但不要被误导,FreeNAS 是功能丰富且非常智能的软件,管理界面简洁易用,同时又不失全面性。

可扩展性—— 可扩展性和稳定性是 FreeNAS 的核心功能,因为它基于 FreeBSD 操作系统。FreeBSD 被证明是一个成熟且适合生产环境的操作系统。许多小型、中型和大型企业都成功部署了 FreeBSD,甚至像 Yahoo! 这样的公司也曾依赖 FreeBSD 作为服务器操作系统。FreeBSD 以其网络性能和可靠性而闻名,这也是为什么 FreeNAS 选择 FreeBSD 的原因。可扩展性的真正限制是服务器能够容纳的硬盘数量。但超出物理硬盘限制后,FreeNAS 可以使用网络上的 iSCSI 设备,从而使服务器进一步扩展。

注意

如果你将 FreeNAS 安装在 USB 闪存驱动器上或使用现场 CD 版本,那么大部分磁盘空间将用于存储,当然这是 NAS 的目标。如果你使用的是传统操作系统,那么在初始安装时,几 GB 的硬盘空间可能就会被占用。

许可证费用—— 使用传统服务器操作系统时,通常需要支付操作系统厂商的许可证费用。有时,这还包括基于组织用户数量的“按席位”许可证费用。由于 FreeNAS 是开源的,所以没有许可证费用。这意味着你可以自由地使用和部署 FreeNAS,使用量没有限制。

FreeNAS 服务器的实际用途

那么 FreeNAS 服务器有哪些实际用途呢?以下是一些 FreeNAS 服务器的简要用途:

  • 作为企业中资源的公共存储区域,包括销售资料、演示文稿、传单、宣传册、模板、软件包、软件更新、流行的办公软件和流行的互联网软件。

  • 为每个用户提供一个只有他/她可以访问的网络文件夹,这样他们就可以将所有工作保存到服务器上,而不是保存在本地 PC 上。这有时被称为“网络驱动器”,意味着可以通过网络访问的硬盘。这样有两个明显的优点:

    • 备份变得更加容易,因为所有数据都存储在一个中央位置(即 FreeNAS 服务器)。

    • 用户不依赖于他们使用的 PC,因为所有数据都存储在一个中央位置,此外,每个用户 PC 的硬盘也不需要太大,而且可以随时被清空(比如为了重新安装操作系统)而不必担心。

  • 作为大型文件的中央存储,这些文件很快就会占满桌面 PC 的硬盘。如果你的业务涉及使用大型文件,如多媒体文件(视频、音频和照片),那么 FreeNAS 服务器可以为这些文件提供一个方便的中央存储位置,否则它们会使桌面 PC 的硬盘不堪重负。

  • 作为你内网的 FTP 仓库(内网是一个私有的、内部网络,使用与公共互联网相同的协议)。假设你有一个内网,可能会有一些常见资源,如展示模板,供所有员工使用。如果你的 web 服务器没有足够的磁盘空间(许多 web 服务器因为优化了性能而不是存储,所以没有大容量存储空间),那么通过 FTP 协议将 FreeNAS 服务器链接到 web 服务器,可以减轻 web 服务器的负担。

  • 作为备份服务器。你可以将 FreeNAS 服务器仅用作备份服务器。无论是通过微软 Windows 文件共享协议(CIFS)还是使用 RSYNC,你网络上的每一台 PC 都可以配置为将用户数据从本地 PC 复制到 FreeNAS 服务器。或者,如果你已经在网络上使用了通用服务器,FreeNAS 服务器也可以作为该服务器的备份存储。

  • 作为 iSCSI 头/网关。如果你已经投资了 SCSI over IP 技术,那么 FreeNAS 是一个很好的方式,通过多种协议提供对你的 iSCSI 设备的访问。iSCSI 设备仅使用一种协议,即 SCSI over IP,它们无法理解像 Windows 文件共享协议(CIFS)或 FTP、NFS 等其他协议。但 FreeNAS 可以理解这些协议以及 SCSI over IP。因此,它可以充当你的 iSCSI 设备和网络计算机之间的中介(网关)。

整合

FreeNAS 可以实现整合(将多个服务器合并为一个)的两个方面。第一个是基于访问协议的整合。如前所述,Windows 服务器和 UNIX 服务器使用不同的协议来访问它们存储的数据。FreeNAS 支持多种访问协议,包括 CIFS(Windows 协议)和 NFS(UNIX 协议)。一个 UNIX 文件服务器和一个 Windows 文件服务器可以整合为一个支持来自两种系统的客户端的 FreeNAS 服务器。第二种整合方式是数据整合。如果你创建一个具有高初始存储空间的 FreeNAS 服务器,你可以将现有的通用服务器替换为一个 FreeNAS 服务器。之前,每个通用服务器都需要独立的管理(通常是专门的),但只需一个 FreeNAS 服务器,你的管理工作量就能大大减少。

总结

本章介绍了网络附加存储(NAS)和 FreeNAS 服务器的概念。我们查看了 FreeNAS 服务器的特点以及 FreeNAS 如何为您的业务提供帮助。最后,我们探讨了 FreeNAS 服务器的一些实际应用。在下一章中,我们将讨论如何在您的环境中规划 FreeNAS,包括查看网络影响以及规划磁盘冗余。

第二章:准备将 FreeNAS 添加到网络中

就像所有系统部署一样,NAS 也需要正确规划以最大化成功。在本章中,我们将讨论一些基本的规划要点,包括:

  • 容量规划

  • 硬件要求

  • 备份规划

  • 冗余需求

  • 网络基础设施

本章可能看起来不像是“动手操作”的内容,但成功规划和部署 NAS 需要做出重要决策并采取相应的行动。

规划你的 NAS

根据我的经验,计算机领域的人可以分为两种类型,一种是在添加任何新硬件或服务到网络之前进行精心规划的人,另一种是直接添加现有资源并寄希望于好运的人。你可能会很忙,觉得适当的规划是一个额外且不必要的步骤。但同样也有一个事实是,系统部署后解决问题的成本远高于在“上线”之前就解决它们。

比如,假设你没有正确规划硬盘需求,事实上,你现有的服务器无法容纳更多的硬盘。现在该怎么办?再买一台服务器?最好一开始就选对合适的服务器。

容量规划

部署 FreeNAS 的计划受到两个主要因素的限制,第一个是你可用的资源(即你已经拥有的 PC 或服务器,或者购买新设备的资金)以及你希望在 NAS 中拥有的容量。

注意

永远不要低估对磁盘空间的需求。视频文件、音频文件、电子邮件、软件下载;我们存储的数据类型清单在不断增长。我记得当我为我的 386 PC 购买第一个 170MB 的硬盘时,我还在想怎么可能填满 170MB 的空间。今天,一段简短的视频就有 170MB!

你拥有的资源越多,你能拥有的容量就越大,这是一种简单的关系。当然,FreeNAS 在这方面提供了多种帮助,首先,它是免费的。没有许可费用。如果你需要 2 个用户或 20 个用户,费用都是一样的……$0。此外,FreeNAS 对系统要求较轻,你不需要 4GB 的内存来运行这个服务器。

所以,第一个大问题是有多少用户将使用这个服务器?如果你是家庭用户,那么答案可能是不到 5 个人。也许,你希望 FreeNAS 充当一个简单的多媒体文件存储库,任何家庭中的 PC 都能访问。如果你在一个小型办公室工作,那么答案可能是不到 15 个用户,大型办公室则是不到 25 个用户。对于任何企业级部署,人数可能是 25 人及以上。

确定了这个数字后,你需要考虑这些用户中有多少人将向 NAS 写入,换句话说,将向 NAS 添加文件,以及有多少人只是读取已有的内容。我们将这些称为写入用户和读取用户。再次强调,在家庭环境中,可能只有 1 人实际上会将文件复制到 NAS,而其他 2 或 3 人可能只是使用它们。在办公环境中,情况就更难说了,这完全取决于您计划如何使用 FreeNAS。

现在,这一节的最后一个问题是什么?每个写入用户在服务器上需要多少空间?

现在你只需要做乘法:

需要写入用户数量 X 需要的千兆字节

因此,如果我们有 2 名写入用户,每个需要 5GB,那么您需要从 10GB 磁盘空间开始。如果您有 25 名写入用户,每个需要 10GB 磁盘空间,那么您需要 250GB 磁盘空间,以此类推。对于家庭用户,也许只有 1 个写入用户,但您想要 500GB,那么 1 X 500GB 就是 500GB!!!

注意

现在翻倍

无论你现在有多少数字,都要翻倍。你肯定在某处低估了,你不知道但确实如此。无论是用户数量还是他们需要的数据量。所以现在最安全的做法就是翻倍。这样,你就不会在六个月后因为缺少磁盘空间而被抓个正着了。

现在下一个计算有点棘手。我们需要计算您的数据增长速度。它的增长取决于您在 FreeNAS 上存储的内容。例如,如果您将 FreeNAS 用作备份服务器,那么随着用户创建文档、接收电子邮件、从互联网下载内容,备份其 PC 所需的磁盘空间将增加。这里没有固定的规则,您需要计算出来。中档和经济实惠(而不是顶级、尖端和昂贵的)硬盘,平均每年的容量增长约为 25%至 50%。它们的增长不是由需求驱动的,而是由技术驱动的,因此这实际上并不能为我们提供数据增长的指导。话虽如此,总是倾向于使用所有可用的磁盘空间。可用的磁盘空间越多,用户就越有办法把它填满。

我记得曾经为一家中型 IT 公司工作,服务器的磁盘空间不足了。发了封电子邮件要求大家从服务器上删除不必要的文件。删除后,磁盘空间释放了超过 50%。

一旦确定了每年需要多少额外的磁盘空间,您可以计算接下来三年的磁盘需求。在这个例子中,我们将使用 25 名初始需要 2GB 磁盘空间的用户,每年增长 25%。

初始所需空间:25 X 2 = 50GB

翻倍:= 100GB

第一年增长 25%:100 X 25% = 125GB

第二年增长 25%:125 X 25% = 156GB

第三年增长 25%:156 X 25% = 195GB

从这些数据可以看出,三年内磁盘使用量可能会翻倍。根据你的业务类型以及 FreeNAS 的使用方式,增长率甚至可能更高。如果数据增长率为 40%,那么所需的存储空间在两年内可能翻倍。

为了进一步调整这个公式,你可以考虑任何计划中的员工增长,因为每增加一名成员初期将需要额外 4GB 的磁盘空间,三年后将达到近 8GB。

选择硬件

FreeNAS 运行在 PC 平台上。其最低要求为一台“兼容 IBM PC”的机器,配备 Pentium 处理器、至少 96MB 的内存,以及可引导的 CD-ROM 驱动器和硬盘用于存储。然而,实际的最低要求是 Pentium II 处理器和 128MB 内存,当然还需要 CD-ROM 和硬盘。

CPU

不可能列出 FreeNAS(或更具体地说,FreeBSD 操作系统)支持的所有制造商、主板和 CPU,但这里有一些通用的指南:

  • 所有 Intel 处理器(从 Pentium 开始)都受支持,包括 Pentium、Pentium Pro、Pentium II、Pentium III、Pentium 4(及其变种如 Xeon 和 Celeron 处理器),以及 Intel Core 系列处理器(包括 Core Solo、Core Duo 和 Core 2 Duo)。

  • 所有兼容 i386 的 AMD 处理器也受到支持,包括 Am486、Am5x86、K5、K6(及其变种)、Athlon(包括 Athlon MP、Athlon XP 和 Athlon Thunderbird)、Duron 和 Opteron 处理器。

  • 支持所有标准 PC 总线,包括 ISA、AGP、PCI 和 PCI-X。不支持 IBM PS/2 系列 PC 所使用的 MicroChannel 扩展总线。

  • 支持配有多个 CPU 的 PC,以及双核或四核的 PC。FreeBSD 还可以利用支持超线程技术(HT)的 Intel CPU。FreeBSD 将把这些附加的逻辑处理器当作额外的物理处理器来识别。FreeBSD 不会尝试根据逻辑处理器之间共享的资源来优化调度决策。

CPU 的选择对你的 NAS 非常重要。虽然 FreeNAS 可以在配备少于 128MB 内存的 Pentium 1 上运行,但在实际使用环境中它的性能表现不佳。虽然运行 NAS 在复杂数学运算上对 CPU 的需求不高,但由于需求量大,它可能对 CPU 有较高的消耗。如果有 5 个人同时访问文件,CPU 将被大量使用。我实验室中的一台测试机是 Pentium III,主频为 466MHz。使用非常快的网络连接向 FreeNAS 复制大文件时,CPU 的使用率达到了 100%。

以下是帮助你选择 CPU 的一些建议:

  • 如果你只是想尝试 FreeNAS,并计划在小规模上使用它,那么一台老款的 233MHz 或更高频率的 Pentium II 机器(或 AMD 同类处理器)将是完美的选择。

  • 对于家庭使用、备份或存储多媒体文件,最低要求是 1GHz 的 Pentium III(或相当于 AMD 的处理器)。这样的机器可以处理软件 RAID 和最多 10 个客户端。

  • 对于小型办公环境,最低可接受的 CPU 是至少 1.3GHz 的 Pentium 4(或相当于 AMD 的处理器)。

  • 对于大型安装,运行在 3GHz 的 Pentium 4(或相当于 AMD 的处理器)是最低要求,理想情况下,快速的双核或双处理器机器会更好。

前端总线(FSB)

FSB 将 CPU 与主内存连接起来。FSB 越快,数据传输到 CPU 的速度越快。通常,FSB 的速度(以 MHz 为单位)与 CPU 的速度成正比。然而,有一些主板/CPU 组合即使是更高速度的 CPU,也使用较低的 FSB。这将降低系统的整体性能。确保你选购的机器具有良好的 FSB 速度。

处理器速度并不是影响传输速度和并发用户容量的唯一因素。网络是一个非常重要的因素,我们很快会讨论到这一点,此外,机器中磁盘的类型也非常重要。

磁盘

处理器的任务是协调来自网络的请求与机器中的磁盘之间的操作。如果 CPU 较慢,那么协调工作就会变慢,整体性能也会下降。同样,如果磁盘较慢,系统的性能也会受到影响。NAS 的最终目标是将数据读写到硬盘。硬盘的速度决定了数据读取和写入的速度。

质量

在讨论磁盘和控制其性能的各种参数时,重要的是不要忽视磁盘的质量。所谓质量,是指磁盘故障的可能性。在你的 FreeNAS 服务器中,CPU 可能会失败,内存可能会失败,网络可能会失败,等等。但如果磁盘故障,你就有可能丢失数据。

在查看磁盘时,我们需要关注两点:首先是磁盘如何连接到 PC,其次是磁盘本身。

总线

每个硬盘都通过一种叫做接口的东西与 PC 连接。接口是数据在硬盘和 PC 之间传输的管道。接口越快,数据传输的速度就越快。随着时间的推移,PC 采用了不同类型的硬盘接口,每次更新时,最高传输速度都会有所提高。

IDE/ATA— 最常见的硬盘接口(直到大约 2004 年)是先进技术附件(ATA)接口或集成驱动电子(IDE)接口。它是由西部数据公司在 1980 年代中期开发的,二十多年间是将硬盘和 CD-ROM 连接到 PC 的主要接口。ATA 有几个同义词或变体,包括增强型 IDE(EIDE)和 AT 附件数据包接口(ATAPI),但本质上它们是相同的技术,只是经过精炼和重复使用。2003 年,推出了一种新接口,称为串行 ATA(SATA),因此 ATA 被追溯性地重新命名为并行 ATA(PATA),以区别于新的接口。尽管作为连接硬盘到 PC 的方式逐渐退场,ATA 仍然是连接 CD-ROM 和 DVD-ROM 到 PC 的流行方式,许多主板都配有 PATA 和 SATA 接口。ATA 接口很容易识别,因为它们使用 40 或 80 根的排线将硬盘连接到 PC。

SATA— 串行高级技术附件(SATA)接口于 2003 年发布,并在 2004/2005 年间开始流行。SATA 比 PATA 更快,并且增加了在操作过程中移除或添加设备的能力(这叫热插拔)。SATA 使用比 PATA 更薄的电缆(不再是扁平的 80 针电缆),这使得空气冷却在 PC 中更高效。

SCSI— 一直以来,PATA 和 SATA 都有一种替代方案,那就是小型计算机系统接口,简称 SCSI。与 ATA 一样,SCSI(通常发音为“scuzzy”)已经存在很长时间了。它最常见于 PC 服务器,并且也在苹果的 Macintosh 电脑和 Sun Microsystems 中得到广泛应用。像并行 ATA 一样,SCSI 正被一种使用更小电缆、运行速度更快的串行版本所替代,这些新版本通常被称为串行 SCSI。

每种接口类型都有其优缺点。如果你正在使用现有的 PC 作为你的 FreeNAS 服务器,那么这些差异大多是理论上的,因为你只能使用机器中已有的接口。但如果你为你的 FreeNAS 服务器购买新的硬件,那么这些差异可能变得非常重要。

第一个差异是传输速度。最后一个版本的 PATA 可以以 133 MB 每秒(MB/s)的速度传输数据。这意味着 700MB 的数据(与 CD 相同)将需要略超过 5 秒的时间来复制。SATA 目前有两种速度,SATA 150,可以传输 187.5 MB/s,和 SATA 300,最高可达 375MB/s。复制一张 CD 的数据分别需要不到 4 秒和不到 2 秒。SCSI 有许多不同的变体,最新的版本 Ultra-320 和 Ultra-640 分别具有 320MB/s 和 640MB/s 的传输速度。700MB 的文件在 Ultra-640 系统上将需要略超过 1 秒的时间来传输。所有这些速度都是理论上的峰值传输速率,但它们确实提供了一个很好的传输速度差异的指导。

成本也是一个区别。PATA 和 SATA 的成本相似,目前 SATA 稍便宜一些,因为 PATA 硬盘已经不那么流行了。然而,SCSI 硬盘的历史价格一直更高。SCSI 硬盘主要被视为“专业”存储选项,因此具有更高质量的零部件,但销量较少,因此价格更高。

另一个区别在于可以连接到 PC 的硬盘数量。传统上,ATA 限制为四个硬盘。大多数主板配备两个 IDE 接口,称为主接口和从接口。每个接口可以连接两个被称为主驱动器和从驱动器的驱动器。在传统 PC 中,从接口的主驱动器是 CD 或 DVD ROM 驱动器,主接口的主驱动器是硬盘。可以通过将另一个硬盘作为主从驱动器或从从驱动器的方式来扩展 PC。

注意

ATA/IDE 系统的一个问题是,当两个设备连接到同一电缆时,电缆上只能有一个设备执行读取或写入操作。因此,在与使用频繁的 DVD 同一电缆上的硬盘将发现,几乎每次被要求执行传输时,它都必须等待 DVD 先完成自己的传输。如果 DVD 没有使用,则不会出现这个问题。

SATA 不同之处在于每个物理电缆只连接到一个硬盘。你的 PC 上可以连接的 SATA 硬盘数量取决于主板上有多少连接器。一些主板只有两个连接器,但也有一些主板有多达八个连接器。还可以通过在 PCI 插槽中安装另一个 SATA 控制器来添加额外的 SATA 连接器。

SCSI 是在你的 PC 或服务器上添加额外驱动器的冠军,使用标准的 SCSI 控制器可以添加最多 16 个驱动器。许多服务器通常内置 2 或 3 个 SCSI 控制器,因此最多可以添加 48 个驱动器。SCSI 是一种成熟的技术,SCSI 驱动器通常比 PATA/SATA 硬盘质量更高。然而,它们更昂贵。

驱动器

在购买硬盘时,我们经常首先关注的是硬盘的容量,即多少吉字节(甚至是特字节)。但除了容量外,质量和速度也是问题。硬盘是物理机制,这意味着与计算机内存或硬盘接口相比,它们相当慢。在为你的 FreeNAS 服务器购买硬盘时,除了容量外,还有几个重要因素需要注意。

硬盘性能由三个因素决定:寻道时间、主轴转速和总体传输速度。

寻道时间— 为了在磁盘的特定位置读取或写入数据,磁盘的读写头需要被物理地移动到该位置。这个过程叫做寻道,移动到正确位置所需的时间就是寻道时间。寻道时间因目标位置的远近而有所不同,因此寻道时间通常表示为平均值。桌面硬盘的典型寻道时间大约是 7 毫秒到 8 毫秒(并且正在下降),而服务器或高端磁盘的寻道时间大约是 3 毫秒到 4 毫秒。这意味着在较便宜的硬盘上,查找数据或找到写入数据的正确位置所需的时间可能是较贵硬盘的两倍。我们当然是在讨论毫秒,但将其乘以磁盘上发生的寻道次数,你就会看到更高质量的磁盘能显著提升速度。对于大文件的单一传输,性能变化不大,因为一旦磁盘找到了文件(假设文件是连续的),它就可以直接读取,不需要在读取之间进行长时间的寻道。但在多用户的情况下,磁盘会尝试同时读取和写入多个文件。

主轴速度— 硬盘由一个或多个涂有磁性材料的盘片组成。正是这些盘片使我们得以使用“磁盘”一词,有时人们也喜欢说“光盘”。每个盘片在磁盘驱动单元内旋转,读写头在盘片表面上下摆动,读取和写入数据。盘片旋转的速度是影响磁盘性能的一个因素,原因有二:首先,当等待查找磁盘上的某个位置时,磁盘旋转越快,那个位置越快就会出现在读写头下方;其次,一旦开始读写,磁盘旋转得越快,数据写入或读取的速度也越快。如今,磁盘的旋转速度有很多种,从每分钟 4200 转(RPM)开始,接着是 5400 RPM、7200 RPM、10,000 RPM 和 15,000 RPM。10,000 RPM 和 15,000 RPM 类型的磁盘有时被称为 10K RPM 或 15K RPM 磁盘。传统上,笔记本电脑使用较慢的磁盘来节省电池电量。常见的笔记本磁盘速度是 4200 RPM 和 5400 RPM,但现在也有一些 7200 RPM 的笔记本磁盘。有趣的是,一些高端磁盘制造商现在采用 2.5 英寸笔记本格式用于服务器,因为他们发现可以在更小的物理体积中制造出更可靠、更快速、噪音更小的磁盘,并且磁盘驱动技术的进步意味着这些磁盘的容量不一定较小。桌面计算机主要使用 5400 RPM 和 7200 RPM 的磁盘,高端服务器则使用昂贵的 10K RPM 和 15K RPM 磁盘。

传输速度— 现在,硬盘正在高速旋转,磁头以最大速度来回飞行,真正的问题是数据能以多快的速度从硬盘读取或写入。不幸的是,这个问题并不好回答。我们可以测量几种不同类型的传输速度。首先是内部介质传输速率,即硬盘能够从盘片表面读取或写入数据的实际速度。这个数据对我们没有太大用处(尽管我相信也有些人觉得它很有趣),因为它只是一个内部传输速度,不包括任何寻址时间。它并不反映硬盘向 PC 输出的数据。一个更好的(但不完美的)硬盘性能衡量标准是硬盘的持续传输速率。这指的是硬盘能够从硬盘的多个部分按顺序传输数据的速度,包括寻址所需的开销。然而,值得注意的是,硬盘外部接口的速度(例如 SATA 150)并不反映硬盘的外部传输速率。如今最好的硬盘的传输速率低于 100MB/s。而 SATA 接口的最低速度为 150MB/s,最快为 300MB/s。许多硬盘在硬盘上包括一个内存缓存,这意味着如果条件合适,硬盘可以在短短的几毫秒内以总线速度输出数据。但这些缓存相对于硬盘的大小来说非常小,只有几兆字节。所以,通常情况下,硬盘是直接从硬盘盘片获取数据的,因此,它永远无法达到外部总线的速度。

多硬盘驱动器

所以,如果硬盘的速度无法与硬盘接口匹配,为什么还要制定这些越来越快的规范呢?好消息是,因为你可以为 PC 安装多个硬盘,你可以通过同时从两个硬盘读取和写入来提高整体性能。这有两个方面,首先,如果你在 FreeNAS 服务器上安装多个硬盘并将它们作为独立的资源提供,那么硬盘上的负载将根据有多少人访问硬盘一上的文件和有多少人访问硬盘二上的数据进行分配。由于硬盘接口可以同时处理两个硬盘的操作,你就实现了系统性能的翻倍。第二种方法是将硬盘用作阵列,其中硬盘包含相同数据的副本,这样 FreeNAS 服务器就可以在两个地方找到相同的数据,并从较空闲的硬盘读取数据。这被称为廉价磁盘冗余阵列(RAID),我们将在本章稍后更详细地讨论它。

内存、网卡、PCI 和 USB

在决定 FreeNAS 服务器硬件时,还有一些最后需要提到的事项。

第一个需要考虑的因素是内存,或者更具体地说是内存的大小。FreeNAS 的最低内存要求是 96MB,但如果你打算使用 iSCSI,则至少需要 256MB。额外的内存总是有好处的,因为 FreeNAS 会利用额外的内存进行磁盘缓存(也就是说,额外的内存将用于将常用的数据存储在内存中,从而减少从磁盘读取数据的需求)。

接下来需要考虑的是你的网络;这一部分将在本章后续内容中详细讨论,但值得在这里提到的是,你需要一个网络接口来将你的 NAS 连接到网络。许多主板自带网络接口,它们是一个不错的起点,但可能不是最佳选择。简而言之,常见的以太网网络接口有三种速度:10Mb/s、100Mb/s 和 1000Mb/s。请注意,这些速度单位是兆比特每秒而不是兆字节每秒。显然,网络接口的速度越快,数据从 FreeNAS 服务器的传输速度也会越快。

然而,值得一提的是,网络性能直接与 CPU(和主板)的速度相关。将一个千兆以太网卡插入一台奔腾 II 处理器的电脑,并不会使网络传输速度提高十倍。

若要将网络卡或可能的硬件 RAID 控制器连接到主板,你需要有空余的 PCI 插槽。99.9%的主板都有空闲的 PCI 插槽,但值得提到的是,PCI 的速度限制为 132MB/s。对于网络来说,这应该不是问题,但如果你添加了一个高速的硬件 RAID 控制器,数据传输速率可能会超过 PCI 总线的带宽。现在有一种新的 PCI 版本,叫做 PCI Express,它有不同的速度配置(1x、2x、4x、8x、16x 和 32x),但这些配置的带宽都比传统 PCI 要大得多。

最后,如果你打算使用 USB 闪存盘存储配置数据,或者希望将 FreeNAS 安装在 USB 闪存盘上,那么你的 FreeNAS 服务器需要一个 USB 2.0 端口。配置数据可以存储在软盘、USB 闪存盘或 PC 中的硬盘上。将配置数据存储在 USB 闪存盘上的好处是,你可以将硬盘完全留给存储使用。将 FreeNAS 安装在 USB 闪存盘上也有类似的好处。这样可以让所有硬盘完全用于存储,同时提高启动速度,因为从 USB 启动比从 CDROM 启动要快。请注意,如果你打算将 FreeNAS 安装在 USB 闪存盘上,你的 BIOS 需要支持从 USB 启动。

备份规划

在决定如何使用和部署你的 FreeNAS 服务器时,你需要考虑备份需求。备份遗憾的是常常被当作低优先级任务处理,直到突然发生问题,大家才会问备份在哪里。

FreeNAS 并没有提供许多自动化备份选项。FreeNAS 机器不支持刻录 DVD,也不支持连接磁带驱动器。这让我们只剩下两个选择:

  • 第一个选择是在机器中加入足够的磁盘,以便可以在内部复制数据,第二个选择是将数据复制到另一台机器上,然后将其刻录到 DVD 或将其作为备份服务器保留。这个过程可以通过两种方式实现。可以将机器中的磁盘数量加倍,作为一项手动任务,系统管理员可以将数据从“活动”磁盘复制到“备份”磁盘。这项任务也可以自动化,更多细节将在第七章中探讨。另一种方法是使用 RAID,我们将在本章稍后更详细地研究。通过镜像技术,可以将 FreeNAS 服务器配置为将所有写入一个磁盘的数据自动复制到另一个磁盘,从而设置数据的备用副本。这个备用副本在读取操作时也会被使用,从而提高整体存储性能。

注意

内部复制数据作为唯一备份手段的缺点是,如果服务器本身发生故障,备份数据也会丢失。其次,这种方法(特别是 RAID 变体)无法恢复误删除的文件,也无法恢复几个月前的文件。

  • 实现 FreeNAS 服务器备份的第二种方式是将数据复制到另一台机器上。这台机器可以作为备份服务器,仅保存数据,或者作为数据写入 DVD 或其他备份介质之前的中转点。FreeNAS 提供了多种方式来将数据从服务器复制出去。事实上,像 CIFS、NFS 和 FTP 等访问协议都可以用来将数据复制到另一台机器上。此外,FreeNAS 还支持 RSYNC 协议,其主要目标是实现数据从一台机器到另一台机器的镜像(或精确复制)。RSYNC 还很智能,它只会复制需要复制的数据(因为数据已发生更改),从而在可能的情况下节省网络带宽。

如果你只需要一个备份服务器,那么另一台 FreeNAS 服务器将是理想的选择。通过 RSYNC 协议,两个 FreeNAS 服务器可以配置为在特定时间进行备份。确保备份服务器不与 FreeNAS 服务器放在一起是一个好习惯。为什么?如果天花板塌了或者空调突然把东西倒到服务器上,两个机器并排放置不会对你的备份策略有太大帮助!!!

如果你需要将数据写入 DVD 或其他类型的介质,那么你需要使用像 Windows、OS X 或 Linux 计算机这样的客户端机器来复制数据,然后将其放入 DVD 等介质中。你应该调查一下在这些平台上可用的备份解决方案。

什么是 RAID?我需要它吗?

对科幻作家来说,似乎有一个经验法则,就是一旦飞船受到敌方攻击,所有看似都失去了,直到紧急备份系统启动,然后一切恢复到满电状态,除了可能有一些闪烁的灯光和从附近控制台冒出的偶尔火花。

幸运的是,你不需要担心你的 FreeNAS 服务器被激光束击中,但你确实需要担心硬盘故障、电压激增、爆裂的水管(或冷却系统)、火灾,甚至可能是地震。

RAID(冗余独立磁盘阵列)概念并不是解决所有备份和冗余问题的魔法方案。首先,它无法保护你的服务器免受地震的影响!然而,作为一种提高存储访问速度并应对磁盘故障的手段,RAID 是一个优秀的系统。

那么,它是什么呢?RAID 是一种将数据分割并复制到多个硬盘上的系统,从而提供冗余并消除读取瓶颈。根据使用的方案,你的数据将会被完整或部分复制到 RAID 阵列中的其他磁盘上,如果其中一块磁盘发生故障,其他磁盘(上面有数据的副本)将继续工作,整个数据保持完整。RAID 提供了两个主要优势:一是数据的复制,防止磁盘故障;二是存储性能的提升,因为多个磁盘可以用来读取相同的数据,并迅速返回给客户端。最简单的 RAID 设置需要至少两块硬盘。

有几种不同的 RAID 配置,称为 RAID 等级。最初,有 5 种 RAID 等级,其中两个最常用(RAID 1 和 RAID 5)。还有一些扩展功能,改进、组合或嵌套了原始的 RAID 等级。如果在使用冗余的 RAID 等级的阵列中某个磁盘发生故障,当插入新磁盘替代故障磁盘时,它将会从其他磁盘中重建数据,阵列将重新变为完全可用。也可以指定某个磁盘作为“热备件”,它会在没有外部干预的情况下自动替代故障磁盘。然后,故障磁盘可以被替换,并成为“热备件”。对于 RAID,所有磁盘需要具有相同的大小。对于 FreeNAS 中的软件 RAID 功能,如果磁盘的大小不同,则会使用较小的磁盘大小。

下面是最常见的 RAID 等级概述。并非所有这些 RAID 等级都可以通过 FreeNAS 的软件 RAID 功能实现,但如果你使用的是专用的硬件 RAID 卡,它们可能是可用的。

RAID 0(无冗余的条带化集群)—RAID 0 是一种将两个硬盘连接在一起以创建一个大硬盘的方法。数据在两个硬盘之间交错分布,因此提高了性能,但没有容错能力。任何硬盘故障都会摧毁整个阵列,数据将丢失。单独使用时,这种配置并不十分有用,但可以与 RAID 1 结合形成 RAID 10 系统。请见下文。

RAID 1(镜像)—在这种配置中,使用两个硬盘,其中一个硬盘镜像另一个硬盘的内容。写入到硬盘 1 的任何数据都会同时写入硬盘 2,方式完全相同。如果任一硬盘发生故障,RAID 继续使用剩余的硬盘。故障硬盘被替换后,新的硬盘将与好的硬盘同步,镜像过程将继续。写入性能通常会稍差于单一设备,因为需要将数据的相同副本写入另一块硬盘,但读取性能大大提高,因为数据在两个地方可用,读取操作可以在两个硬盘之间分配。可用的存储空间始终是两块硬盘总容量的一半,因为其中一块硬盘用于复制另一块硬盘。

RAID 5(带分布奇偶校验的条带化集群)—这是最常见、也许是最实用的 RAID 级别之一。它允许你结合多个物理硬盘,同时保持一定的冗余性。RAID 5 可以在三个或更多硬盘上使用。如果一个硬盘发生故障,数据仍然完好无损。RAID 5 可以容忍一个硬盘故障,但不能容忍两个或更多硬盘故障。RAID 5 的读取和写入性能通常都会提高。RAID 5 阵列的大小等于最小硬盘的大小乘以硬盘数量减去 1。如果你有三个 200GB 的硬盘,则阵列的总大小为 200 X (3-1) = 400GB。

RAID 6(带有双重分布奇偶校验的条带化集群)—这与 RAID 5 非常相似,只不过数据会分布到另外两个硬盘上,这意味着阵列可以从两个硬盘的故障中恢复。RAID 6 可以在四个或更多硬盘上使用。RAID 6 阵列的大小等于硬盘大小乘以硬盘数量减去 2。如果你有四个 250GB 的硬盘,则阵列的总大小为 250 X (4-2) = 500GB。

RAID 10(镜像条带化集群)—这种配置有时称为 RAID 1+0,是由两个 RAID 0 阵列组成的 RAID 1 阵列。因此,硬盘 1 和硬盘 2 以 RAID 0 配置形成一个大硬盘 A1。硬盘 3 和硬盘 4 也以 RAID 0 配置形成一个组合硬盘,称为 A2。然后 A1 和 A2 被用来在 RAID 1 配置中互为镜像。RAID 10 阵列能够承受多个硬盘故障,只要这两块故障硬盘属于同一 RAID 0 阵列。读取性能较好,写入性能优于 RAID 1,因为数据写入是交错分布在镜像中的两个硬盘上的。

硬件 RAID 或软件 RAID

RAID 有两种形式。一种是由专用硬件控制的阵列,通常称为 RAID 控制器,另一种是由软件控制的阵列,更具体地说,是由操作系统控制,在这种情况下是 FreeBSD。

如果你有硬件 RAID 控制器,那么你可以使用它。FreeBSD 支持许多硬件 RAID 控制器,且该控制器负责管理 RAID 阵列。使用 RAID 控制器时,性能得到保障,因为没有额外的开销添加到本地 CPU 上来运行阵列。控制器仅向操作系统呈现一个逻辑磁盘,FreeNAS 将其视为一个磁盘,不管阵列由多少个磁盘组成。一些 RAID 卡还支持热插拔;允许在系统运行时更换故障的硬盘。

注意

小心“假”硬件 RAID 控制器

有一种便宜的 RAID 控制器,它没有专门的硬件来管理 RAID 阵列,而是使用标准的磁盘控制器芯片与特殊的固件和驱动程序相结合。虽然被称为 RAID 控制器,但 RAID 处理的负担被放在 CPU 上,而非 RAID 控制器本身。这些控制器通常被称为“假”RAID 控制器,并非因为它们没有正确实现 RAID,而是因为它们不是“真正”的硬件 RAID 控制器。FreeNAS 不支持这种类型的 RAID 控制器。

如果你没有 RAID 控制器,那么你可以使用 FreeNAS(在 FreeBSD 的帮助下)来运行 RAID 阵列。这不需要额外的控制器,并且 FreeNAS 自带此功能。我们将在第六章中详细讲解如何在 FreeNAS 上配置软件 RAID。

网络考虑因素

由于 FreeNAS 是网络附加存储,部署服务器时一个重要的因素是网络基础设施。如果你的网络速度慢,你的 FreeNAS 服务器对用户的响应也会显得很慢。

所有现代的局域网(LAN)都使用 Ethernet 或无线网络。这里的“局域”是指局限于一个本地区域,通常是一个建筑物,比如房屋或办公楼。Ethernet 发明于 1980 年代,并已成为家庭和办公室有线网络的标准。最初,它使用同轴电缆连接各个机器,但今天每台机器都通过一种叫做 5 类电缆(通常称为 Cat 5 电缆)的 8 根线直接连接到集线器或交换机。

集线器或交换机充当分发点,将网络流量转发给客户端。如今,Ethernet 网络有 3 种主要速度。最初的以太网网络工作在 10Mb/s(注意是兆比特而非兆字节),称为 10BaseT,接着是 100Mb/s 网络,称为 100BaseT,最近则是 1000Mb/s,也就是 1000BaseT。100BaseT 通常被称为快速以太网,而 1000BaseT 则是千兆以太网。

简单来说,你希望在 FreeNAS 服务器上使用最快的网络连接,这意味着目前使用千兆以太网。这并不意味着你需要在整个网络中都使用千兆以太网。如果你的网络已经使用了快速以太网,那么你不需要更换网络中的所有网卡和交换机。但是,你确实需要确保你的 FreeNAS 服务器配备了千兆网卡,并且连接到一个优质的千兆交换机。

这意味着,如果两台 PC(每台都具有快速以太网)正在从 FreeNAS 服务器复制数据,那么两者都会使用其最大可用的网络带宽(100Mb/s),但 FreeNAS 服务器因为使用的是千兆以太网,所以能够处理这两个请求(假设它拥有足够的硬件支持,如 CPU、磁盘等)。

交换机还是集线器?

要将你的 FreeNAS 服务器连接到网络,需要将它连接到一种叫做集线器或交换机的网络设备。

今天集线器相当少见,但从本质上来说,它是一个广播设备,将所有进入某个端口的分组广播到其他所有端口。它不会尝试以任何方式管理流量,也不会检查是否适合将某个特定分组转发出去。结果,网络碰撞会发生。这意味着 PC 在尝试使用网络时,其他 PC 也在同时使用网络。以太网有内建的系统来处理这个问题,但它会减慢流量的传输速度。

由于碰撞问题,在 10Mb/s 网络中只允许使用 4 个集线器,在 100Mb/s 网络中只允许使用 2 个集线器。对于 100Mb/s 及更高速率的网络,使用交换机要比集线器好得多。

在 10Mb/s 和 100Mb/s 网络之间交替使用时,产生了一种混合集线器,叫做双速集线器。实际上,这个集线器是两个较小的集线器(一个是 10Mb/s 集线器,另一个是 100Mb/s 集线器)组合成一个单元,它们之间通过一个链接连接。具有 100Mb/s 连接的 PC 将连接到 100Mb/s 集线器,而具有 10Mb/s 连接的 PC 将连接到 10Mb/s 集线器。它们之间有一个两端口桥接器。像单速集线器一样,由于快速以太网交换机的普及和低成本,这种设备今天已经很少见了。

交换机与集线器的不同之处在于,交换机会检查通过某个端口传入的流量,并计算应该将其发送到哪里。通过仅将每个分组发送到它本应发送的设备,网络交换机能够节省网络带宽,并且通常比集线器提供更好的性能。

注意

警惕便宜的千兆交换机

需要注意的是,虽然有些交换机自称为千兆以太网交换机,但这并不一定意味着它能够处理 1000Mb/s 的流量。一些便宜的交换机虽然能够理解 1000MB/s 网络的语言,因此它们被称为千兆以太网交换机,但它们并不提供完整的带宽。

千兆交换机的关键特点是支持巨型帧(即大帧)。没有巨型帧支持时,超过 100Mb/s 的网络提升将会很小。

关于无线连接?

无线连接如今已成为将家庭 PC 连接到 DSL(或 ADSL)互联网调制解调器以及连接家中各种设备(如互联网无线电设备、笔记本电脑甚至多媒体中心)的流行媒介。您可以将这些设备连接到电视,并通过无线连接流式传输音乐和电影到您的台式电脑和互联网。

FreeNAS 确实支持多种无线设备,并且在 Web 界面中支持配置无线卡。

然而,无线连接并非连接到 FreeNAS 的最佳方法。首先,无线带宽有限(54Mb/s),只有 100Mb/s 的一半。其次,从无线接入点到服务器的距离越远,带宽就会下降,特别是如果信号需要穿过墙壁时。实际结果是服务器需要靠近无线接入点,而且既然如此接近,您应该能够通过电缆连接到您的网络。

值得重申的是,FreeNAS 服务器最适合连接到千兆以太网交换机。

总结

在本章中,我们已经看到了您需要为组织中部署服务器而做出的决策。我们根据用户数量考虑了硬件要求,并研究了您可以放置在服务器中的不同类型的磁盘。我们还考虑了对您的网络可能产生的一些影响。

在下一章中,我们将亲手操作 FreeNAS 服务器并进行安装。

第三章:探索 FreeNAS

现在是安装 FreeNAS 服务器并开始查看基本配置的时候了。本章分为五个主要部分:

  • 不耐烦的快速入门指南

  • 安装的详细概述

  • 基本配置

  • 安装到硬盘

  • 从之前的版本升级 FreeNAS。

下载 FreeNAS

在你安装 FreeNAS 服务器之前,你需要从 FreeNAS 网站(www.freenas.org)下载最新版本。进入下载区并找到最新的“LiveCD”版本。LiveCD 版本是所谓的 ISO 镜像文件,文件扩展名为 .iso。ISO 镜像是 CD 或 DVD 光盘结构和数据的精确副本。使用 CD 刻录程序,你可以制作一个 FreeNAS 启动 CD。稍后我们将更详细地讨论这个过程。

我需要什么硬件?

在本章中,我们将开始探索 FreeNAS,因此你需要一台可以安装 FreeNAS 软件的机器。此时,它不必是你最终将用作 FreeNAS 服务器的机器。你现在可以使用一台“测试”机器,学完 FreeNAS 后,你可以再构建、安装并部署生产机器(或多台机器)。

所以,我们现在需要的是一台至少有 96MB 内存的 PC(推荐 128MB 或更多),一个可启动的 CD-ROM 驱动器,一个网络卡,一块或多块硬盘,和一个软盘驱动器(以及一张空白格式化磁盘)或一个 USB 闪存盘(已格式化为 MS-DOS 并且为空)。

硬盘将用于存储你想要保存的数据,软盘或 USB 闪存盘将用于存储配置信息。

在安装和初始化阶段,你还需要将显示器和键盘(但不需要鼠标)连接到 PC 上。FreeNAS 启动并运行后,你可以移除显示器。

警告

FreeNAS 作为 LiveCD 启动,这意味着它在启动时不会使用主机机器上的磁盘。然而,当你开始配置 FreeNAS 服务器上的存储(特别是当你格式化磁盘时),磁盘上的所有数据将会丢失。请不要使用包含重要数据或操作系统的机器,以免丢失数据。

注意

虚拟化与 VMware

一台普通 PC 通常只运行一个操作系统,在该操作系统内你会运行如文字处理和电子邮件等应用程序。现在有一项技术(称为虚拟化),它允许 PC 运行多个操作系统,或者更准确地说,它允许一个虚拟 PC 在你的实际 PC 内运行。这个虚拟 PC 是一个独立的软件盒子,可以运行自己的操作系统和应用程序,就像一台物理计算机一样。虚拟 PC 的行为完全类似于物理 PC,拥有自己的虚拟 CPU、内存、硬盘和网络接口卡(NIC)。

你可以在虚拟 PC 上安装 FreeNAS,而 FreeNAS 无法区分虚拟 PC 和任何其他物理机器,此外,它会像真实 PC 一样在网络上出现,运行 FreeNAS。

如今,Windows、Linux 和 Apple OS X 都有许多虚拟化产品可供选择。你可以在维基百科上了解更多内容:en.wikipedia.org/wiki/Virtualization

一个非常受欢迎的虚拟化解决方案来自 VMWare(www.vmware.com)。VMWare 提供商业版和免费版,并且有适用于 VMWare 系列产品的预配置 FreeNAS 镜像。这使得它成为一个理想的环境来测试 FreeNAS 服务器。

给急于上手的快速入门指南

如果你熟悉将 ISO 镜像刻录到 CD、设置电脑的 BIOS 从 CDROM 启动、磁盘分区和 TCP/IP 网络,那么这本简短的指南应该能帮助你在几分钟内启动一个简单版本的 FreeNAS 服务器。

然而,如果这些步骤让你觉得有些艰巨,那么跳过这一部分,继续下一部分,我们将逐步讲解安装过程。

在这个例子中,我们将使用 USB 闪存盘来存储配置文件。你也可以使用软盘,但请小心,在启动过程中,PC 不要先尝试从软盘启动,再从 CDROM 启动。

刻录和启动

一旦你从 FreeNAS 网站下载了 ISO 镜像文件,就需要将其刻录到 CD 上。完成后,将 CD 和 U 盘插入 PC 并打开电源。确保 BIOS 设置为从 CD 启动。如果没有,你需要进入 BIOS 并配置其从 CD 启动。在许多现代 PC 上,启动时可以通过按一个特殊的键(通常是 F8 或 F12)来选择启动设备,从而显示启动设备菜单。你可以选择 CD 作为启动设备。

启动过程分为四个明显的部分:

  1. 第一阶段,PC 将进行自检(POST,开机自检)。此时,PC 会检查已安装的内存数量(通常可以在屏幕上看到内存的计数)以及连接的设备(如硬盘和 CDROM)。

  2. 接下来,系统应该会从 CD 启动。在此时,FreeBSD(FreeNAS 的底层操作系统)将开始启动,你可以通过简单的旋转图标来辨认(这些图标由简单的文本字符如 |、-、/ 和 \ 组成,通过动画效果表现出旋转的样子)。

  3. 第三步是 FreeNAS 启动菜单。它会出现几秒钟,你只需要让它按默认设置正常启动即可。

  4. 最后的阶段是当 FreeNAS 的标志出现时,系统将作为 FreeNAS 服务器启动。你可以通过 PC 扬声器发出一些短促但悦耳的蜂鸣声来判断系统是否完全加载。

为了启用网页界面的访问,必须配置 FreeNAS 服务器的网络。按下键盘上的空格键,FreeNAS 标志将消失,简单的文本菜单将出现。

烧录与启动

配置网络有两个方面,首先,你需要选择使用哪个网卡;其次,你需要为其分配一个地址。如果你机器中只有一个网卡,那么 FreeNAS 服务器应该已经找到并自动分配它作为局域网(LAN)接口。

注意

如果找不到我的网卡怎么办?

这可能意味着你机器中的网卡不被 FreeNAS 或更具体地说不被 FreeBSD 支持。你需要更换为一个 FreeBSD 支持的网卡。请查看 FreeBSD 硬件兼容性页面以获取更多信息:www.freebsd.org/releases/6.2R/hardware-i386.html

如果你看到类似这样的内容:

烧录与启动

那么网络已经被 FreeNAS 自动识别并分配。

FreeNAS 的默认 IPv4 地址是 192.168.1.250,如果这个地址适合你的网络,那么你可以保持不变。然而,如果你需要更改地址,请按 2 然后按 ENTER 键。如果你希望机器通过 DHCP(动态主机配置协议)获取地址,回答 IPv4 DHCP 提问时选择是(y),否则选择否(n)。如果你不使用 DHCP,现在可以输入所需的 IP 地址。接下来,你需要输入子网掩码。如果是 255.255.255.0,输入 24;如果是 255.255.0.0,输入 16;如果是 255.0.0.0,输入 8。此时,你可以跳过默认网关和 DNS 问题(直接按 ENTER)。如果你确实想在此时输入默认网关和 DNS 服务器,它们通常是你 Internet 路由器的 IP 地址。我们不会使用 IPv6,因此此时最简单的做法是回答 yes,即“是否要使用自动配置 IPv6?”这个问题。这样 FreeNAS 会尝试(并可能失败)获取 IPv6 地址,虽然有一点小延迟,但比手动输入 IPv6 地址要简单!

现在你已经准备好访问网页界面。可以从任何网络上的机器(包括 Windows、Linux 和 OS X 机器)使用网页浏览器访问 FreeNAS 网页界面。在这台客户端机器上,在网页浏览器中输入带有 http:// 前缀的 FreeNAS 服务器地址。例如:

192.168.1.250

配置

第一次访问 FreeNAS 网页界面时,你需要输入用户名和密码。默认的用户名是 admin,默认的密码是 freenas

现在你应该已经进入了网页界面。要配置一些存储空间,你需要处理“磁盘”。操作的逻辑顺序是必须先添加磁盘,然后格式化(如果需要),然后挂载。最后,通过配置不同的系统服务如 CIFS 和 FTP 给各种已挂载的磁盘提供访问权限。

配置中

因此,要添加磁盘,转到磁盘: 管理。页面右侧有一个带圆圈的+符号(第一次可能会被忽略),点击它添加磁盘。在下一页上,选择要添加的磁盘。如果点击下拉菜单,应该看到机器的硬盘、光盘和 USB 闪存磁盘。

注意

FreeBSD 中的磁盘名称

FreeBSD 中的磁盘命名约定是:

/dev/ad0: 是 IDE/ATA 主设备

/dev/ad1 是 IDE/ATA 主从设备

/dev/ad2 是 IDE/ATA 二级主设备

/dev/ad3: 是 IDE/ATA 二级从设备

/dev/acd0: 是检测到的第一台 ATA CD/DVD 驱动器

/dev/da0: 是第一个 SCSI 硬盘,/dev/da1 是第二个,依此类推。

USB 闪存磁盘使用 SCSI 驱动程序控制,因此它们也会显示为 /dev/daN 驱动器。

确保默认选择了 ad0。页面的其余部分可以不动。点击添加将磁盘添加到系统中。然后你需要点击应用以使更改生效。现在你将看到一个表格,显示你添加的磁盘,包括其大小和描述。

注意

应用

在 FreeNAS 中,大多数步骤需要通过点击应用按钮(将配置文件保存到磁盘)来应用。通常这个按钮位于页面顶部,在任何表格或配置信息之前。如果你不应用这些更改,界面通常会记住你的更改,但它们不会在系统中生效。重启后,未应用的更改将会消失。在某些页面上,可以执行多个操作,然后一次性应用它们。

接下来,需要格式化磁盘。在磁盘: 格式中,选择磁盘 ad0(刚刚添加的)。保持其他设置不变,点击格式化磁盘。然后磁盘将会被格式化。格式化命令的低级输出将显示在一个框中。应该以完成!结束。

现在需要挂载磁盘。转到磁盘: 挂载点。点击圆圈中的+(我将其称为“添加圆圈”)。将类型保持为磁盘,再次选择磁盘ad0。你需要输入一个名称,store是一个很好的名称,但随意使用任何你想要的描述性名称。

注意

描述性命名

在设置和配置 FreeNAS 服务器时,你需要为挂载点、共享名称等发明各种名称。尽量用描述性强的名称,但不要过于冗长。Temp、scratch、blob 甚至 zob 可以用于测试,但最好使用更有意义的名称,如 storeage1、storage60gb 或 backupstorage 等。名称中不要使用空格,使用下划线代替,并且一般来说,名称长度不应超过 15 个字符。

虽然在 Web 界面中填写描述不是强制性的,但还是值得使用的。填写完表单后,点击添加,然后应用更改。

与 Windows 机器共享

现在磁盘已被添加、格式化并挂载,接下来是将其共享到网络上,并赋予其他用户读写权限。FreeNAS 支持许多不同类型的访问协议,在本入门指南中,我们只会介绍 Microsoft 的 CIFS 协议,它主要允许 Windows 机器(但也支持 Apple OS X 和 Linux 机器)访问存储。

  1. 1. 在服务:CIFS/SMB中,勾选启用框(在配置数据表的标题处)。此时,除了工作组名称外,你几乎可以保持其他设置不变。我们将保持认证方法为“匿名”,因为这是最容易设置的方式,并且提供对所有人的无限制读写访问权限。

  2. 2. 为确保 Windows 机器能够找到共享存储,我们需要将 FreeNAS 服务器上的工作组名称设置为与将访问共享的 Windows PC 的工作组名称相同。Windows Vista 的默认工作组名称是 WORKGROUP,但请注意,Windows XP 家庭版的默认工作组名称是 MSHOME。

  3. 3. 现在点击保存并重启。这将保存你所做的更改并重启 CIFS 服务。

  4. 4. 进入共享标签页并点击添加共享。输入共享的名称。重复挂载点名称可能是最安全的做法,因此在这种情况下,输入“store”并同时添加评论。然后点击..,在路径部分。这将弹出一个简单的文件系统浏览器。你看到的文件位于 FreeNAS 服务器上,而不是本地 PC 上。点击store/mnt/store/会出现在小的编辑框中。点击确定,你将返回到共享页面。现在,/mnt/store/已作为路径被添加。

  5. 5. 保持其他设置不变,点击添加,然后应用更改。

现在计算机的第一个硬盘已经格式化、挂载并共享到网络上的其他设备。接下来,我们将在 Windows Vista 机器上访问该共享。

测试共享

你可以从任何支持 CIFS 协议的机器进行此测试,包括 Windows 95/98/ME、Windows 2000/XP、Apple OS X 和 Linux。这里,我们将使用 Windows Vista。

  1. 1. 点击 开始 菜单中的 网络,打开网络和共享中心。窗口出现时,Vista 会自动扫描网络上的共享资源。扫描完成后,你将看到网络上的可用计算机,包括 FREENAS

测试共享

  1. 2. 打开 FREENAS 计算机,你会看到你配置的存储区域。双击它,你现在就可以从 Windows 机器内部访问 FreeNAS 服务器了。尝试将一些文件拖放到存储区域中,然后再试着删除它们。

  2. 3. 如果不想通过网络和共享中心访问 FreeNAS 服务器,可以点击 开始,输入 \freenas 然后按 Enter。这将直接显示 FreeNAS 服务器上可用的共享资源:

测试共享

安装的详细概述

是时候着手配置一个可用的 FreeNAS 服务器了,为此,我们需要将其启动到一台 PC 上。这个过程有几个步骤。首先,你需要刻录你下载的 ISO 镜像文件到光盘上。然后,需要从光盘启动 PC;这可能需要你在 BIOS 中进行设置,使计算机从光驱启动。接下来,你可以配置 FreeNAS 服务器,让网络上可以使用存储空间。

在使用 LiveCD 启动 FreeNAS 时,FreeNAS 上有两种类型的存储:数据存储和配置存储。数据将保存在 PC 的硬盘上,但配置需要保存在软盘或 USB 闪存盘上。在本示例中,我们将使用 USB 闪存盘来存储配置文件。

制作 FreeNAS 光盘

要将 PC 启动到 FreeNAS,你需要一张光盘。你下载的 ISO 镜像文件包含了刻录光盘所需的所有信息,但它需要被写入到实际的光盘中。这个过程通常被称为刻录光盘,因为激光通过加热和标记或灼烧表层的方式将数据写入光盘。

你需要一台带有 CD-RW 光驱的 PC 和一张空白的 CD-R 光盘(我建议使用一个知名品牌的 CD-R 光盘以获得最佳效果)。将 FreeNAS 的 ISO 镜像下载到该机器上。带有 CD 刻录机的 PC 应该安装了某些 CD 刻录软件(例如 Roxio Easy CD 或 Nero)。如果你熟悉 CD 刻录软件,直接将 ISO 文件刻录到 CD-R 光盘上即可。

注意

如果你不熟悉 CD 刻录软件,或者没有安装任何 CD 刻录软件,那么我推荐使用 ISO Recorder。你可以从isorecorder.alexfeinman.com/isorecorder.htm下载它。

从光盘启动

将你新制作的 FreeNAS CD 插入你希望安装 FreeNAS 的机器的 CD 驱动器中,同时将 USB 闪存盘插入 USB 端口。闪存盘将用于存储配置数据。(你也可以使用软盘。如果同时插入了 USB 闪存盘和软盘,FreeNAS 会将配置保存在 USB 设备上。)现在,你需要开启 PC。当 PC 启动时,它会经过所谓的自检(Power On Self Test,POST)过程。在这个过程中,PC 会检查安装的内存大小,并检测已安装的硬盘。在自检后,PC 会尝试从一个硬盘、CD-ROM、软盘甚至 USB 闪存盘启动。PC 选择哪个设备作为启动设备,可以通过内置的设置程序来更改。设置程序允许你修改基本的系统配置设置。这些设置存储在计算机内存的一个特殊的电池供电区域,即使关机时也能保持这些设置。在 POST 过程中,通常会显示一条信息,告诉你如何进入内置设置程序。通常是 DEL 键或 F2 键,在某些系统中,也可能是 F10 键。

你需要进入设置程序检查和/或更改第一个启动设备为 CD-ROM,以便计算机能够从 FreeNAS 启动。每台 PC 的设置程序略有不同,所以你需要到处查找,直到找到所需的设置。三种最流行的设置程序(也称为 BIOS——基本输入输出程序)是 Phoenix 设置程序、Phoenix-Award 设置程序和 AMI 设置程序。

注意

有很多种类的 BIOS 设置程序,每个 PC 制造商都会根据自己的需求修改设置程序。以下信息仅是一个“粗略指南”,帮助你熟悉操作。你的 BIOS 设置程序可能与下面的示例有很大不同。最好的信息来源是随 PC 或主板附带的手册。如果你没有手册,大多数 PC 制造商会在他们的网站上提供下载。

Phoenix BIOS

如果你的机器使用的是 Phoenix BIOS,通常需要按 F2 键进入设置程序。设置程序顶部有一个菜单,你可以使用左右箭头键进行导航,你需要选择 Boot 菜单。

Phoenix BIOS

Boot 菜单页面上,你可以使用上下箭头键选择可用的启动设备。你可以使用 ENTER 键展开或收起各个部分。要更改启动顺序,使用 +- 键。你需要确保 CD-ROM 是列表中的第一个设备。在你更改了启动顺序后,需要进入退出菜单(按右箭头键),然后选择 Exit Saving Changes。此时,PC 会重新启动,在 POST 后,它将从 FreeNAS CD 启动。

Phoenix BIOS

Phoenix-Award BIOS

如果你的 PC 使用 Phoenix-Award BIOS,通常需要按 DEL 进入设置程序。进入后,你可以使用上下左右键在菜单中导航。进入 Advanced BIOS Features,然后使用 +- 键将 First Boot Device 设置为 CDROM。现在,你需要保存更改并退出。按 ESC 键会返回主菜单,然后选择 Save & Exit Setup。通常,按 F10 键也会达到相同效果。此时,PC 会重新启动,如果你正确进行了更改,它会从 FreeNAS CD 启动。

AMI BIOS

美国 Megatrends 公司(AMI)BIOS 通常会显示一条信息,提示你 进入设置。进入设置后,与 Phoenix 或 Award 的设置程序有很大的不同。在这里,Tab 键用于导航,方向键用于更改值。要从一页跳转到下一页,按 ALT+P 键。此信息通常也会打印在 BIOS 设置页面的底部。你需要找到变量 Boot Sequence 并确保它设置为首先从 CDROM 启动。

初次体验 FreeNAS

启动过程分为 4 个独立的部分。首先,PC 会执行其 POST(Power On Self Test)序列。在此过程中,PC 会检查已安装的内存数量(通常可以在屏幕上看到内存计数)以及连接的设备(如硬盘和 CDROM)。然后,它应该开始从 CD 启动。在这一阶段,FreeBSD(FreeNAS 的底层操作系统)将开始启动,可以通过简单的旋转小圆圈(由简单的文本字符如 | - / 和 \ 组成,这些字符动画化呈现出旋转的效果)来识别。第三步是 FreeNAS 启动菜单。这个菜单将只显示五秒钟,你应该让它正常启动,这是默认选项。最后阶段是 FreeNAS 标志的出现,系统将作为 FreeNAS 服务器启动。你可以通过 PC 喇叭发出的短促而悦耳的哔哔声来判断系统是否完全加载。

配置网络

FreeNAS 的大部分配置通过网页界面完成,但在你使用网页界面之前,FreeNAS 服务器需要配置为适应你的网络。这是通过连接到运行 FreeNAS 的 PC 的键盘和显示器上的简单文本菜单系统完成的。你可能只需要执行一次此操作,之后这些网络配置信息将保存在 USB 闪存盘(或软盘)中,并且服务器每次启动时都会加载这些配置。

如果你在 FreeNAS 机器上按空格键,FreeNAS 标志会消失,并出现一个简单的菜单。

配置网络

在这里,你有多个选项,包括重启或关闭系统的选项。前两个选项是关于配置网络的,它们反映了配置网络的两个部分:首先,你需要选择使用哪个网络卡(选项 1);其次,你需要为其分配一个地址(选项 2)。

如果你的机器只有一张网卡,那么 FreeNAS 服务器应该已经找到了它并自动将其分配为局域网(LAN)接口。

注意

如果找不到我的网卡怎么办?

这可能意味着你的机器中的网卡不被 FreeNAS 或更具体地说,FreeBSD 所支持。你需要更换一个被 FreeBSD 支持的网卡。请查看 FreeBSD 硬件兼容页面以获取更多信息:www.freebsd.org/releases/6.2R/hardware-i386.html

如果你看到以下截图:

配置网络

那么网络已经被 FreeNAS 识别并自动分配。

什么是局域网 IP 地址?

IP 代表互联网协议,它是计算机在互联网上相互通信的基本低级语言。它也用于私人网络(如办公室或家庭网络),将不同的 PC 甚至打印机连接在一起。IPv4 地址由 4 组数字(0 到 255)组成,并以点分十进制表示(意味着每组数字之间有一个点)。例如,192.168.1.250 是一个 IP 地址,它也恰好是 FreeNAS 服务器的默认 IP 地址。就像电子邮件、邮政服务和电话一样,每个目的地(电子邮件账户、邮箱或电话)需要一种唯一的标识方式。这就是 IP 地址的作用;它们使得网络上的每个设备都有一个唯一的标识符,以便消息能够被准确地传送到网络中的正确位置。

注意

如何发音 IP 地址

如果你需要与某人讨论 IP 地址,最简单的方式是分别说出每个数字。例如,192.168.1.250 不是“one hundred and ninety two dot”,而是“one nine two dot one six eight dot one dot two five zero”。

有两种方式可以为 FreeNAS 服务器获取 IP 地址。第一种是通过 DHCP 服务(动态主机配置协议)自动分配地址,第二种是手动分配地址。

注意

什么是 DHCP?

动态主机配置协议(DHCP)自动分配 IP 地址和其他 IP 参数(如子网掩码和默认网关)。需要 IP 地址的计算机会向 DHCP 服务器发送请求,服务器将从为此目的预留的地址池中回复一个 IP 地址。DHCP 服务器可以是 PC 或服务器(运行 Windows、OS X 或 Linux),也可以是小型设备,如现代 DSL 调制解调器和防火墙。

DHCP 方法的优点在于 IP 地址的分配完全在后台进行,你无需担心手动设置。缺点是,首先,你的网络中必须已经配置并运行着 DHCP 服务器;其次,DHCP 是从可用地址池中分配地址。这意味着每次 FreeNAS 服务器启动时,它不一定会拥有之前相同的地址。当使用 CIFS 协议时,这不是问题,但如果要访问 Web 界面或使用像 FTP 这样的协议,最好是有一个稳定的 IP 地址进行引用。不过,出于测试 FreeNAS 服务器或了解其工作方式的目的,使用 DHCP 分配的地址现在是可以接受的。

注意

事实上,可以通过 DHCP 为某些硬件(包括 FreeNAS 服务器)分配固定的、永久的 IP 地址,但这需要在 DHCP 服务器上进行额外的高级配置更改,这些更改本书无法涵盖。

因此,选择手动设置 IP 地址后,你现在需要获取两条信息。第一条是 FreeNAS 的实际 IP 地址,第二条是所谓的子网掩码。子网掩码也会以点分十进制表示,通常类似于 255.255.255.0。如果你在办公环境中工作,需要与网络管理员联系,他/她会提供所需的信息。如果你是在管理自己的网络,则需要选择一个当前未分配给网络中其他计算机的 IP 地址(同时,这个地址也不能属于网络中任何 DHCP 服务器的地址池)。

在获得了 IP 地址和子网掩码后,你可以为你的网络配置 FreeNAS 服务器。在控制台菜单中选择选项 2。如果你选择了让 DHCP 分配地址,请对关于使用 DHCP 为 IPv4 配置的第一个问题回答“是”(y)。否则回答“否”(n)。

如果你正在手动设置地址,可以现在使用点分十进制输入地址,例如:192.168.1.240。接下来是子网掩码。如果你的子网掩码是 255.255.255.0:输入 24;如果是 255.255.0.0:输入 16;如果是 255.0.0.0:输入 8。此时,你可以跳过默认网关和 DNS 设置(只需按 ENTER 键)。

我们不会使用 IPv6,因此最简单的方法是对“是否要使用 IPv6 自动配置?”这个问题回答“是”。这将导致 FreeNAS 尝试(并且可能失败)获取 IPv6 地址时出现短暂的延迟,但比手动输入 IPv6 地址要简单!

在成功设置 IP 地址后,屏幕上会显示一条小信息,邀请你通过在浏览器中打开列出的 URL 来访问 Web 界面。如果你使用了 DHCP,请记下列出的 URL。如果你手动设置了 IP 地址,请检查列出的 URL 是否与设置的 IP 地址相同,并在其前面加上 http://

现在你可以访问 Web 界面了。

注意

什么是 IPv4 和 IPv6?

互联网协议自 1980 年代中期以来就已存在,在设计时并未预见到互联网的普及。连接到互联网的计算机数量正在迅速增长,已经超出了原始协议的寻址能力。为此,设计了新的 IP 协议版本,并被命名为 IPv6(即 IP 版本 6),而旧版本则被称为 IPv4(即 IP 版本 4)。FreeNAS 支持这两种版本的互联网协议。在本书中,我们将只专注于 IPv4,因为它仍然是这两种协议中最为流行的。

基本配置

现在 FreeNAS 服务器已经启动并运行,是时候访问 Web 界面了。在与 FreeNAS 服务器同一网络上的计算机上打开浏览器,输入 FreeNAS 服务器的 URL。该地址应与服务器的 IP 地址相同,并以 http:// 开头。默认的 URL 是 192.168.1.250

基本配置

第一次访问 FreeNAS Web 界面时,系统会要求输入用户名和密码。默认的用户名是admin,默认的密码是freenas

基本配置

FreeNAS Web 界面

现在你应该已经可以在浏览器中看到 Web 界面。界面分为两大部分:左侧是菜单,右侧是配置页面。菜单分为多个部分:系统、网络接口、磁盘、服务、访问、状态、诊断和高级。

FreeNAS Web 界面

注意

当谈到某个特定的菜单项时,我们会使用“子部分: 菜单项”的格式来帮助你快速找到正确的菜单选项。例如,位于磁盘子部分中的管理选项,我们将称其为磁盘: 管理

系统

这一部分是用于系统级配置和操作的,例如你可以在这里更改用户名和密码,备份和恢复配置数据,以及关闭或重启服务器。

网络接口

在这里,你可以像通过控制台菜单一样配置 FreeNAS 服务器的网络。你可以更改用于 Web 界面的网卡,并为其分配永久或自动的 IP 地址。

在这里进行更改时要小心,因为有些更改需要重启才能生效。如果你更改了任何寻址信息,你需要使用新的 IP 地址访问 Web 界面。

磁盘

这个菜单部分用于管理服务器上的磁盘。在这里,你可以设置磁盘冗余(RAID)、控制加密、格式化磁盘,并将磁盘挂载到服务器上。

服务

各种访问协议如 CIFS、NFS 和 FTP 都可以从这里控制。每个服务都可以单独管理,默认情况下没有启用任何服务,因此在您能够访问存储在 FreeNAS 服务器上的文件之前,您需要启用至少一个服务。

访问

FreeNAS 提供的大多数服务使用某种形式的用户列表来控制谁可以访问,谁不能访问。本节用于定义这些用户及其所属的组,并将 FreeNAS 服务器连接到其他目录服务。

状态

状态菜单有几个报告工具,您可以通过这些工具查看 FreeNAS 服务器的当前状态,包括概述、内存使用情况、磁盘使用情况和网络使用情况。您还可以配置定期发送有关服务器状态的电子邮件。

诊断

诊断菜单包含不同的工具,帮助诊断 FreeNAS 服务器的任何问题,包括所有重要服务的日志和来自硬盘及其他系统模块的诊断信息。

高级

高级部分提供了一些简单的工具,用于在操作系统级别执行命令,不熟悉 FreeBSD 的用户不应使用。

添加磁盘

要配置一些存储空间,您需要使用“磁盘”。与磁盘工作的逻辑顺序如下:

  1. 1. 首先,需要告诉 FreeNAS 它可以使用哪些磁盘。磁盘可以是物理硬盘,也可以是 CD-ROM 或 iSCSI 目标。

  2. 2. 接下来,需要对磁盘进行格式化(如果需要的话)。

  3. 3. 之后,磁盘需要被挂载。这意味着它们被用作工作磁盘空间,可以被系统使用。在挂载之前,磁盘不可用作存储空间。

  4. 4. 最后,存储空间需要通过一种访问协议提供给网络,例如 CIFS、NFS 或 FTP。为此,需要启用相应的服务并配置使用磁盘。

下面是详细步骤:

  1. 1. 进入 磁盘:管理

    • 在页面右侧有一个带圆圈的 + 号(以下称为“添加圆圈”),点击它可以添加磁盘。

    • 在下一页,选择您要添加的磁盘。如果点击下拉菜单,您应该能看到计算机的硬盘、光驱和 USB 闪存磁盘。

      添加磁盘

      注意

      FreeBSD 中的磁盘名称

      FreeBSD 中的磁盘命名约定是:

      /dev/ad0: 是 IDE/ATA 主硬盘

      /dev/ad1 : 是 IDE/ATA 主从硬盘

      /dev/ad2 : 是 IDE/ATA 次级主硬盘

      /dev/ad3: 是 IDE/ATA 次级从硬盘

      /dev/acd0: 是检测到的第一个 ATA CD/DVD 驱动器

      /dev/da0: 是第一个 SCSI 硬盘,/dev/da1 是第二个,依此类推。

      USB 闪存磁盘使用 SCSI 驱动程序进行控制,因此它们也会显示为 /dev/daN 驱动器。

    • 确保选择了 ad0(默认情况下应该是选中的)。

    • 页面其余部分可以保持不变。

    • 点击 Add 将磁盘添加到系统中。

    • 然后,您需要点击 Apply,以使更改生效。现在您将看到一张显示已添加磁盘的表格,包括其大小和描述。

      添加磁盘

  2. 2. 接下来,磁盘需要格式化。请注意,此磁盘上的所有数据将丢失。在 Disks: Format 中,选择磁盘 ad0(您刚刚添加的磁盘)。保持其他设置不变。默认情况下,这意味着我们将使用 UFS 格式化磁盘,UFS 是 FreeBSD 的原生文件系统。如果需要,您可以输入卷名称。点击 Format disk,磁盘将被格式化。格式化命令的低级输出将显示在一个框中。格式化磁盘所需的时间取决于磁盘的大小。格式化完成后,屏幕上会显示 Done!

  3. 3. 现在需要挂载磁盘。前往 Disks: Mount Point。点击添加圆圈。将 Type 保持为 Disk,然后再次选择磁盘 ad0。您需要输入一个名称,store 这个名称就可以,但也可以自由选择任何您喜欢的描述性名称。

    注意

    具有描述性

    在设置和配置您的 FreeNAS 服务器时,您需要为挂载点、共享名称等发明各种名称。尽量简洁且具有描述性,不要啰嗦。用于测试的名称如 temp、scratch、blob,甚至 zob 都可以,但建议使用更有意义的名称,如 storage1、storage60gb 或 backupstorage 等。

    虽然在 Web 界面中填写描述不是强制性的,但建议使用。完成表单后,点击 Add 然后应用更改。

    添加磁盘

  4. 4. 现在磁盘已经添加、格式化并挂载,接下来是共享它到网络,并赋予其他用户读写权限。FreeNAS 支持许多不同类型的访问协议。首先,我们将查看 Microsoft 的 CIFS 协议,它主要允许 Windows 计算机(但也支持 Apple OS X 和 Linux 计算机)访问存储。接着,我们将进行第二次测试,配置 FTP 协议。

通过 CIFS 访问磁盘

  1. 1. 在 Services: CIFS/SMB 中,勾选启用框(在配置数据表的标题中)。此时,除了工作组名称外,几乎可以保持其他设置不变。

  2. 2. 为确保 Windows 机器能够找到共享存储,我们需要将 FreeNAS 服务器上的工作组名称设置为与将访问共享的 Windows 计算机的工作组名称相同。Windows Vista 的默认工作组名称是 WORKGROUP,但请注意,Windows XP 家庭版的默认工作组名称是 MSHOME。

注意

检查工作组

在 Windows XP 中,你可以通过点击开始,然后右键点击我的电脑来发现你的工作组名称。现在点击属性。在弹出的系统属性对话框中,点击计算机名称标签。你可以通过点击更改...按钮来更改工作组名称。

在 Windows Vista 中,你可以通过点击开始,然后右键点击计算机来找到你的工作组名称。现在点击属性。工作组名称位于计算机名称、域和工作组设置中。你可以通过点击更改设置,然后点击更改...按钮来更改工作组名称。

  1. 3. 将身份验证方法保持为匿名,因为这是最容易设置的方式,并且为每个人提供了不受限制的读/写访问权限。然后点击保存并重启。这将保存你所做的更改并重启 CIFS 服务。

通过 CIFS 访问磁盘

  1. 4. 现在,进入共享标签并点击添加按钮。输入共享的名称。重复挂载点的名称是最安全的做法,所以在这种情况下使用store,并添加一个备注。然后点击路径部分的...。这将打开一个简单的文件系统浏览器。你看到的文件在 FreeNAS 服务器上,而不是你本地的 PC 上。点击store/mnt/store/ 将出现在小的编辑框中。点击确定,你将返回到共享页面。现在,/mnt/store/ 已作为路径添加。

  2. 5. 其他设置保持不变,点击添加,然后应用更改。

现在,计算机的第一个硬盘已经格式化、挂载,并共享给网络中的其他设备。接下来,我们将从一台 Windows Vista 机器访问这个共享。

测试共享

你可以从任何支持 CIFS 协议的机器进行此测试,包括 Windows、OS X 和 Linux。这里我们将使用 Windows Vista:

  1. 1. 通过点击开始菜单中的网络打开网络和共享中心。当窗口出现时,Vista 会自动扫描网络中共享的资源。扫描完成后,你将看到网络中可用的机器,包括 FREENAS。

测试共享

  1. 2. 打开 FREENAS 计算机,你会看到你配置的store存储区。双击它,你现在就能在 Windows 机器中“进入” FreeNAS 服务器了。尝试将一些文件拖放到store区中。然后再试着删除它们。

  2. 3. 要访问 FreeNAS 服务器,可以不使用网络和共享中心,点击开始,输入\freenas,然后按Enter键。这样你可以直接查看到 FreeNAS 服务器上可用的共享。

测试共享

通过 FTP 访问

文件传输协议(FTP)是一种快速且稳定的网络文件传输协议。FTP 是一种客户端/服务器协议,通常用于将文件从一台计算机传输到另一台计算机,通常是一次性的。建立连接后,文件传输完成,连接关闭。这个协议常用于允许用户从互联网下载文件。在 NAS 的应用场景中,它对于在网络上提供软件仓库非常有用(例如软件、公司模板、以及杀毒软件更新)。

  1. 1. 要启用 FTP 服务,请进入服务:FTP并勾选启用。

  2. 2. 现在点击保存并重启

这将保存你所做的更改并重启 FTP 服务。默认情况下,启用匿名 FTP 登录。这意味着任何用户都可以登录并访问存储。

测试 FTP 访问

所有现代操作系统,包括 Windows、Linux 和 OS X,都包含命令行 FTP 客户端。这些客户端使用起来非常简单,但如果你习惯使用图形用户界面,学习起来可能会有点困难。一个适用于 Windows 的免费 FTP 客户端是 Core FTP,你可以从www.coreftp.com下载。

  1. 1. 要使用 Core FTP 测试 FreeNAS 的 FTP 服务,首先下载并安装它。

  2. 2. 启动 Core FTP 时,第一个看到的窗口是站点管理器。在这里,你可以输入连接服务器的参数。

  3. 3. 在站点名称字段中输入FreeNAS_Server,以便记住这个特定的服务器连接。

  4. 4. 在主机/IP/URL字段中输入 FreeNAS 服务器的 IP 地址。

  5. 5. 勾选匿名,这样可以在不输入用户名和密码的情况下连接(实际上,用户名是匿名,Core FTP 会自动为你填入)。

  6. 6. 现在点击连接

测试 FTP 访问

一旦你点击连接,Core FTP 将连接到 FreeNAS 服务器。在左侧,你会看到 Windows 机器上的文件,在右侧,你会看到 FreeNAS 机器上的文件。FTP 服务将你带到顶级目录,所以你需要双击store以进入之前配置的store文件夹。你可以尝试从 Windows 机器中拖动一些文件,看看它们是否被复制到 FreeNAS 服务器上。

最后,你可以尝试通过 CIFS 再次访问 FreeNAS 服务器(只需点击开始并输入\freenas,然后打开store共享文件夹),你将看到刚刚通过 FTP 复制过来的文件。

注意

使用 Windows 内置 FTP 客户端

现代版本的 Windows 也内置了一个简单的 FTP 客户端,可以通过 Windows 资源管理器打开。你可以通过在我的电脑(或 Internet Explorer)地址栏中输入ftp://192.168.1.250(如果这个不是你的 FreeNAS 服务器的 IP 地址,请相应修改)来建立与 FreeNAS 服务器的 FTP 连接。从这里,你可以像操作本地硬盘一样拖放文件,并使用 Windows 资源管理器。

安装到硬盘

直到现在,FreeNAS 一直在从“LiveCD”运行,这意味着它从 CD 启动并从内存运行,无需将操作系统复制到硬盘。FreeNAS 提供了将其安装到硬盘或 USB 闪存盘的选项,安装后将从硬盘或 USB 闪存盘启动,而无需使用 CD。对于硬盘安装,配置数据将保存在硬盘上,而不是保存在 USB 闪存盘或软盘中。

安装 FreeNAS 的首选方式是将其安装到 USB 闪存盘上,因为这样可以释放一个 IDE 或 SCSI 通道用于额外的存储。FreeNAS 已针对闪存盘进行了优化。为了避免频繁写入导致闪存盘损坏(过多的写操作),FreeNAS 的嵌入式版本在从闪存盘启动后,会直接从内存中运行。要使用 USB 闪存盘版本,您的 BIOS 必须支持从 USB 闪存盘启动。

注意

在继续之前,您应该注意,安装 FreeNAS 到硬盘上会清除该硬盘上的所有数据。

安装 FreeNAS 到硬盘时,您可以选择将硬盘分为两个部分。第一个是引导分区,其中将包含 FreeNAS 服务器。这只是一个小分区,其余的磁盘将作为较大的数据分区。

要将 FreeNAS 安装到硬盘,您需要返回控制台(因为这无法从 Web 界面完成)。

安装到硬盘

注意

关于“嵌入式”与“完整版”之间的区别,请参见下面的嵌入式与完整版部分。

  1. 1. 选择选项9,然后选择2,以将 FreeNAS 的“嵌入式”版本安装到带数据分区的硬盘上。

  2. 2. 系统会显示安装将执行的操作摘要。选择OK以继续。

  3. 3. 接下来,系统会要求您确认 CDROM 设备的名称(该 CDROM 包含 FreeNAS 文件)。

  4. 4. 然后,您需要选择您希望安装 FreeNAS 的硬盘。系统会列出所有可用的硬盘。您需要将 FreeNAS 安装到 ad0,这是主要的主 IDE 驱动器。如果您使用的是 SCSI 硬盘,应该选择 da0。请注意,如果您插入了 USB 闪存盘,它也可能会显示为 da0,因此不要将其与真正的 SCSI 硬盘混淆。

  5. 5. 系统现在将开始安装。

一旦安装了 FreeNAS,控制台将显示成功消息。此时,理解以下几点非常重要:

  1. 1. 安装了 FreeNAS 的磁盘现在已被分区为两个部分。这两个分区分别称为 ad0 分区 1(简称 ad0p1)和 ad0 分区 2(ad0p2)。分区 1 包含 FreeNAS 软件,分区 2 用于存储数据。

  2. 2. 您需要重新访问磁盘:挂载点页面,因为磁盘的底层结构发生了变化,任何先前的挂载点可能无效。

  3. 3. 您无需再次格式化 ad0。它已经为您使用 UFS 进行了格式化。

    1. 您需要将磁盘从 CD 驱动器中取出并重启机器。为此,请移除磁盘,按 Enter 返回安装子菜单,然后选择 EXIT 返回主菜单,最后使用选项 7 重启机器。

要挂载分区 2,您需要进入 磁盘:挂载点 页面。如果在安装 FreeNAS 时已为磁盘定义了现有的挂载点,您需要先将其移除,然后继续操作。要挂载分区 2,点击添加按钮,选择磁盘(可能是 ad0 或 da0),然后选择分区 2。这与您之前使用整个磁盘时不同。分区 2 是数据分区,而分区 1 包含 FreeNAS 软件。填写名称和描述后点击 添加

之后,您可以像之前一样启用 CIFS 和 FTP 等服务。

安装到硬盘

嵌入版与完整版

当您进入安装子菜单时,您会看到还有一个所谓的 FreeNAS “完整版”安装。这并不意味着它比“嵌入版”有更多功能或更完整。而是它是一种像传统操作系统一样安装 FreeNAS 的方式。文件会安装到硬盘上,如果编辑或删除文件,这些更改将是永久性的。嵌入版则是从 RAM 运行(并最初从硬盘加载),对操作系统文件的任何更改都将是临时性的,重启系统后它会恢复到原始状态。这意味着完整版可以进行调整和更改,这对于开发 FreeNAS 插件的人来说是个好事,但也意味着不熟悉 FreeBSD 的人可能会不小心破坏系统。然而,嵌入版增加了一层保护,如果出现问题,重启将恢复系统文件到已安装的状态。

注意

本讨论涉及的是系统文件,而不是通过 Web 界面操作更新和控制的配置文件。重启将不会恢复配置文件到先前的状态,除非更改尚未应用。

推荐的安装 FreeNAS 的方式是使用嵌入版。只有在以下情况之一成立时,您才应该考虑使用完整版:

  • 您需要为您的 FreeNAS 服务器安装额外的 FreeBSD 软件包。

  • 您需要自定义根文件系统的大小。

  • 您的系统内存不足,需要从硬盘运行 FreeBSD,而不是从 RAM 磁盘运行。

从先前版本升级 FreeNAS

如果您使用的是 FreeNAS 的 LiveCD 版本,那么升级非常简单。只需下载新版本并将其刻录到 CD 上,然后使用新 CD 重启 FreeNAS 服务器。请始终记得查看 FreeNAS 网站,以获取有关升级的任何信息,特别是关于配置文件格式等内部更改。

如果您已经在硬盘(或 USB 闪存盘)上安装了 FreeNAS,那么可以通过 Web 界面进行升级。在 FreeNAS 网站上,您可以找到嵌入式版本的 FreeNAS 进行下载。这些文件不是像 LiveCD 版本那样的 ISO 文件,而是用于升级现有安装的文件。嵌入式下载是一个.img文件。下载正确的文件并将其保存在硬盘上。进入 Web 界面,找到系统:固件页面,点击启用固件上传,然后使用浏览..按钮找到您下载的文件。

最后,点击升级固件。耐心等待,FreeNAS 将在升级完成后重启,您的配置数据将被保留。

注意

升级固件后,切勿中断升级过程。一旦开始固件更新,至少需要 128 MB 的内存才能完成更新。升级固件之前,您应始终备份系统配置。您可以在“系统:备份/恢复”页面进行此操作。

摘要

本章中,我们已经安装并配置了 FreeNAS 服务器。我们从 LiveCD 磁盘启动 FreeNAS 服务器,并配置了一个通过 CIFS 和 FTP 访问的简单磁盘。我们还介绍了如何将 FreeNAS 安装到硬盘上以及如何升级它。

在下一章中,我们将详细了解您可以通过不同方式连接到 FreeNAS 服务器,包括从 Windows 机器、OS X 和 Linux 系统连接。

第四章:连接到 FreeNAS

FreeNAS 服务器的强大之处在于许多不同的操作系统可以连接到它并使用它的服务。在本章中,我们将探讨 FreeNAS 支持的不同服务和协议,并展示如何在 Windows、OS X 和 Linux 等平台上使用 FreeNAS 服务器进行文件共享、备份和流媒体处理。

引言

FreeNAS 服务器是“多语言”的,因为它可以通过多种协议与不同类型的计算机系统通信。在详细了解每个协议之前,值得先整体了解它们,看看每个协议的存在意义以及它最适合处理哪些任务。

下表列出了每个协议及其可以连接到 FreeNAS 服务器的计算机类型(Windows、Apple Mac 等)。某些协议是某个平台的原生协议,例如 CIFS 是 Windows 机器的原生协议,但其他操作系统如 OS X 也能“支持” CIFS。同时,还列出了该协议的主要用途。

Windows OS X Linux/UNIX 用途
CIFS 是的,原生支持。 是的,内置支持。 是的,内置支持。 文件共享
NFS 是的,需要第三方软件。 是的,原生支持。 是的,原生支持。 文件共享
FTP 是的,内置支持,或者你可以使用第三方软件。 是的,内置支持,且你可以使用第三方软件。 是的,内置支持,且你可以使用第三方软件。 上传和下载文件
RSYNCD 是的,需要第三方软件。 是的,内置支持,你也可以使用第三方软件。 是的,内置支持。 备份与同步
Unison 是的,需要第三方软件。 是的,需要第三方软件。 是的,需要第三方软件。 备份与同步
AFP 否。 原生支持。 否。 Apple 的文件共享
UPnP 是的,需要第三方软件。 是的,需要第三方软件。 是的,需要第三方软件或专门的发行版(见下文)。 流媒体
iSCSI 是的,一些 Windows 版本内置支持,例如 Windows Vista。 是的,需要第三方软件。 是的,内置支持。 使用 IP 上的 SCSI 协议连接远程原始磁盘

在本章中,我们将详细探讨各种协议。为了帮助你理解,最好有一个正在运行的测试 FreeNAS 服务器,并且你已经按照第二章的快速安装和配置指南进行了操作。

通过 CIFS 连接

通用互联网文件系统(CIFS)是访问远程 Windows 计算机文件的标准方式。它由微软开发并维护,用于其 Windows 平台,此外,CIFS 还在包括 OS X 和 Linux 在内的大多数主要操作系统上通过第三方软件实现,其中最流行的叫做 Samba。Samba 是一个开源软件,它为 CIFS 客户端提供远程文件访问服务,支持多个平台(包括 Windows 客户端)。Samba 已包含在 FreeNAS 服务器中。

CIFS 的功能实际上比仅仅访问文件要大。通过它,网络上的其他资源,如打印机,也可以共享。但对于 FreeNAS,CIFS 用于共享服务器上的磁盘,并使其他理解 CIFS 协议的计算机能够访问它们。这意味着 Windows、Linux 和 OS X 机器都可以通过 CIFS 协议访问 FreeNAS 服务器上的文件。

注意

有时,在阅读 CIFS 相关内容时,您可能会看到“SMB”或“服务器消息块”(Server Message Block)这个术语。SMB 是 CIFS 协议的原始名称,它源自 IBM 和后来的微软的工作。1996 年,SMB 被重命名为 CIFS。

配置 FreeNAS 服务器上的 CIFS

在尝试通过 CIFS 将另一台计算机连接到 FreeNAS 服务器之前,您需要确保在 FreeNAS 服务器上正确配置了 CIFS。

  1. 1. 转到服务:CIFS/SMB。此页面包含两个标签,首先是 设置 页面,然后是 共享 页面。首先,确保通过勾选配置表标题栏中的“启用”框来启用该服务。

  2. 2. 要使 CIFS 在默认设置下工作,您需要至少设置认证系统、NetBios 名称和工作组。认证暂时应保持为匿名。我们将在下一章中深入讨论 FreeNAS 中的认证和用户管理。NetBios 名称是 FreeNAS 服务器在 Windows 网络中使用的名称。当您想要访问服务器时,Windows 允许您使用一个友好的名称,而不是 IP 地址。在本示例中,我们将使用名称 FreeNAS。最后,您需要输入工作组。所有 Windows 计算机都属于一个工作组或一个域。

    注意

    工作组和域

    家庭网络和小型办公室局域网使用工作组,工作组本质上是共享相似标签或名称的计算机集合。在家庭网络中,通常只有一个名为“WORKGROUP”(如果主要使用 Windows XP 计算机,则可能是 MSHOME)的工作组。对于小型办公室环境,可能有 2 或 3 个工作组,分别是“SALES”(销售)、“ENGINEERING”(工程)和“ACCOUNTS”(财务)。工作组将计算机连接在一起,这样当查看网络时,这些计算机会被分组在一起。工作组中的计算机通常不超过十到二十台,且所有计算机必须在同一局域网内。

    较大的企业网络使用域而非工作组。在域中,存在一台服务器(称为域控制器),它负责控制该域中的资源和安全性。一旦用户拥有域帐户,他们就可以登录域内的任何计算机,而不需要在任何特定机器上拥有本地帐户。域可以包含数千台计算机,分布在多个网络中。

  3. 3. 输入 FreeNAS 服务器的工作组名称。如果你网络中有许多 Windows XP 机器,它可能是 WORKGROUP,或者是 XPHOME。

  4. 4. 下一步是配置共享在网络上的磁盘。点击页面底部的 保存并重启,然后点击顶部的 共享 标签。在这里,你可以添加通过 CIFS 协议共享的磁盘。你只能共享已配置的磁盘。如果有需要添加到 FreeNAS 的磁盘,请前往磁盘菜单。有关更多信息,请参阅第二章的快速入门指南,或查看第六章获取高级信息。

  5. 5. 点击添加圆圈。现在你进入了 服务:CIFS/SMB:共享:添加 页面。这里的最少数据是你要为共享指定的 名称,关于共享的注释或描述,以及共享的位置——路径。

  6. 6. 名称和注释应该很容易填写。对于这个示例,我们将分别使用 store 和 storage place 作为名称。现在是路径部分。在 FreeNAS 中,所有磁盘都挂载在 /mnt 目录下。这意味着路径将类似于 /mnt/diskname。要找到正确的路径名称,请点击 ...,这将弹出一个新窗口。

配置 FreeNAS 服务器上的 CIFS

在顶部,你会看到 /mnt,然后更下方是 store。这就是在 磁盘:挂载点:添加 中配置的磁盘名称。点击 store,路径将更改为 /mnt/path

配置 FreeNAS 服务器上的 CIFS

  1. 7. 点击 确定,然后点击 添加,最后应用更改。

此时,CIFS 已配置完成并准备就绪。在了解不同版本的 Windows 以及 OS X 和 Linux 如何使用 CIFS 连接到 FreeNAS 之前,让我们详细了解一下其他参数。

CIFS 设置说明

参数 含义
描述 服务器描述。这个字段可以留空,但你可能会发现添加描述会很有用。
Dos 字符集 这是 FreeNAS 与 Windows 9x/Me 客户端通信时使用的字符集。它将与所有较新的客户端进行 Unicode 通信。默认是 CP850,这对于英语和其他西欧语言非常合适。
Unix 字符集 这是 FreeNAS 内部使用的字符集。默认是 UTF-8,适用于大多数系统,并涵盖所有语言的所有字符。
日志级别 设置发送到日志文件的日志/调试消息的数量。可以在“诊断:日志:系统”中查看这些信息。除非你正在尝试解决 CIFS 连接问题,否则应将其保持为最低。
本地主浏览器 允许 FreeNAS 尝试成为本地主浏览器。在“我的网络邻居”(或 Vista 中的等效位置)中,图标表示计算机。本地主浏览器收集信息以创建浏览列表。除非你在域中运行 FreeNAS,否则可以将此项安全地设置为“是”。
时间服务器 如果你的 FreeNAS 服务器有准确的时钟,你可以指示它将自己作为 SMB 时间服务器向 Windows 客户端广播。
WINS 服务器 WINS(Windows 网络名称服务器)允许 FreeNAS 服务器发现其他网络上计算机的友好 CIFS 名称。你可以通过将其指向 WINS 服务器的 IP 地址来设置 FreeNAS 使用网络上的其他 WINS 服务器。如果你仅在本地局域网中使用 FreeNAS,那么可以将此项留空。

CIFS 高级设置

这些是高级参数,只有在你知道自己在做什么并且了解为什么要更改它们时,才应进行更改。在 99.9% 的情况下,这些参数可以保持不变。

参数 含义
创建掩码 每个在 FreeNAS 上创建的数据文件都有一些默认的读写权限。使用此选项覆盖文件创建权限。(默认 0666)。有关更多信息,请参阅下面的提示。
目录掩码 在 FreeNAS 服务器上创建的所有目录都有默认的读写权限。使用此选项覆盖目录创建权限(默认 0777)。有关更多信息,请参阅下面的提示。
发送缓冲区大小 发送缓冲区的大小(默认 16384)。对于 Windows 95/98,你需要使用 8192 缓冲区大小。
接收缓冲区大小 接收缓冲区的大小(默认 16384)。对于 Windows 95/98,你需要使用 8192 缓冲区大小。
大文件读写 使用 Windows 2000 引入的新 64k 流媒体读写变种 SMB 请求。
扩展属性支持 扩展属性支持。允许客户端尝试在共享上存储 OS/2 风格的扩展属性。

注意

创建掩码

在 FreeBSD(以及大多数 UNIX 操作系统)中,每个文件或目录有三个级别的读/写权限:用户、组和世界。可以在每个级别设置读取、写入或执行文件的权限。

当 FreeNAS 创建通过网络复制的文件时,会为该文件设置一组默认的文件权限。这是由默认的创建和目录掩码决定的(见上文)。

使用数字方案,创建或目录掩码有四个数字位置,始终从 0 开始,例如 0744,表示三个级别。左侧的第一个数字表示“用户”,中间的数字表示“组”,右侧的数字表示“世界”。以下是每个数字的含义:

0 = 无访问权限,1 = 仅执行,2 = 仅写入,3 = 写入和执行,4 = 仅读取,5 = 读取和执行,6 = 读取和写入,7 = 读取、写入和执行(完全访问)。

添加共享时的选项

与一般的 CIF 设置类似,当你在 服务:CIFS/SMB:共享:添加页面 中添加共享时,有几种不同的选项可供选择。这里简要介绍这些选项及其作用。

参数 含义
可浏览 该设置控制是否在网络视图和浏览列表中显示此共享。如果不可浏览,该共享仍然可访问,但只能在直接指定地址时访问。
继承权限 新文件和目录的权限通常由创建掩码和目录掩码控制,但继承权限参数会覆盖这些设置。这在有很多用户的系统中特别有用,可以让每个用户灵活使用同一个共享。
回收站 这将在共享上创建一个回收站。如果你创建了回收站,你必须手动清空它。
允许主机 该参数是一个由逗号、空格或制表符分隔的主机集,允许访问此共享。使用关键词 ALL 允许所有人访问。如果不填写此字段,则会禁用此设置。
拒绝主机 该参数是一个由逗号、空格或制表符分隔的主机集,不允许访问此共享。在列表冲突时,允许列表优先。如果需要默认拒绝所有主机,请使用关键词 ALL(或子网掩码 0.0.0.0/0),然后明确指定允许访问的主机。若不填写此字段,则会禁用此设置。

映射网络驱动器是什么意思?

当通过网络访问文件时,有两种方式可以找到数据。一种是通过 我的网络邻居(或根据你 Windows 版本不同而名称略有不同)浏览到它。在这里,你可以找到一台计算机,然后逐层深入,直到找到你想要的文件夹。另一种方法是将远程共享文件夹挂载为你计算机上的一个驱动器。这个 网络驱动器 会始终带你到远程服务器上正确的位置,你的数据所在。你还可以配置它在每次启动 Windows 时自动挂载。这对于像 FreeNAS 服务器这样的情况尤其有用,因为它提供的存储空间始终可以在你的 PC 上访问。

通过 Windows Millennium 连接 CIFS

双击 我的网络邻居。在这里,你可以浏览本地网络并查看最近访问的网络资源。

  1. 1. 双击 整个网络 将带你进入本地网络上的工作组和域列表。在一个小网络中,这可能只有一个工作组,最可能的是 WORKGROUPMSHOME

通过 Windows Millennium 连接 CIFS

  1. 2. 双击 工作组,你将看到该工作组中的计算机列表。

  2. 3. 查找 FreeNAS 服务器,它可能叫做 Freenas。现在双击它,你将看到 FreeNAS 服务器上可用的共享列表。

  3. 4. 如果你使用的是根据第二章快速安装指南设置的测试 FreeNAS 服务器,那么你只会看到一个名为store的共享。如果双击store,你将能够访问 FreeNAS 服务器上的该存储空间。你可以尝试将一些文件复制到store中,看看 FreeNAS 服务器如何运作。

    注意

    为了节省寻找 FreeNAS 服务器的时间,你可以直接在“我的网络位置”的地址栏中输入其地址。地址的格式为\server\share,所以在我们的示例中,我们将使用\freenas\store

    现在只需按下Enter,你就可以访问 FreeNAS 服务器了。

  4. 5. 在 Windows Millennium 中有几种方法可以映射网络驱动器。一种方法是在“我的网络位置”中打开 FreeNAS 机器。与其双击store,不如右键单击它。这将弹出一个小菜单。现在点击映射网络驱动器...

通过 Windows Millennium 连接 CIFS

  • 现在,选择你希望映射到该网络共享的驱动器字母,如果希望每次启动 Windows 时自动挂载该驱动器,请勾选开机时重新连接

完成此操作后,网络驱动器将出现在我的电脑中,你可以像使用其他硬盘一样使用它。

使用 Windows XP 的 CIFS

假设你的 FreeNAS 和 Windows XP 计算机在同一个工作组内,当你打开我的网络位置时,store共享应该会自动显示。如果没有显示,请稍等片刻(因为有时 Windows 需要几分钟来整理工作组中所有可用资源的列表),然后按F5刷新显示。

另一种访问 FreeNAS 服务器的方法是点击窗口左侧的查看工作组计算机,这是网络任务面板中的选项。这样你可以看到工作组中所有的计算机,应该包括 FreeNAS 服务器。在这里,你可以进一步查找并找到网络共享store

像 Windows Millennium 和 Windows Vista 一样,你可以直接在我的网络位置窗口的地址栏中输入 FreeNAS 服务器的地址。

要将驱动器从我的网络位置映射到 FreeNAS 服务器,首先通过工作组找到Freenas计算机,或者在地址栏中输入它的名称。

  1. 1. 右键点击你想映射的共享文件夹,然后点击映射网络驱动器

  2. 2. 点击你想使用的驱动器字母,然后指定是否希望每次登录计算机时自动重新连接。

注意

网络驱动器通过从字母 Z 开始的字母映射。这是你创建的第一个映射驱动器的默认驱动器字母。不过,如果你想使用 Z 以外的字母,可以选择其他字母。

  1. 3. 点击完成

  2. 4. 会打开一个窗口,显示你已映射的store共享内容,且驱动器字母(例如 Z)将在我的电脑中显示。

使用 CIFS 与 Windows XP 配合

FreeNAS、CIFS 和 Windows Vista

在 Windows Vista 中通过 CIFS 访问 FreeNAS 服务器与以前版本的 Windows 非常相似,之前在第二章也有介绍。总的来说,点击网络按钮打开“网络和共享中心”。当窗口出现时,Vista 会自动扫描网络中的共享资源。扫描完成后,您将看到网络中可用的计算机,包括 FREENAS。

此外,要在不使用“网络和共享中心”的情况下访问 FreeNAS 服务器,点击 开始,输入 \freenas,然后按 Enter 键。这将直接显示 FreeNAS 服务器上的共享资源。

要映射网络驱动器,点击 开始,输入 \freenas,然后按 Enter 键。右键点击您想映射的共享(例如 store),并点击菜单中出现的 映射网络驱动器.. 项。与 XP 类似,网络驱动器通过字母进行映射,从字母 Z 开始。这是您创建的第一个映射驱动器的默认驱动器字母。不过,如果您希望使用 Z 以外的字母,可以选择其他字母。点击 完成,驱动器将被映射。

从 Linux 访问 FreeNAS 的 CIFS

所有流行的 Linux 发行版都通过一个名为 Samba 的软件支持 CIFS 协议。Samba 是一个开源套件,允许非 Windows 操作系统(如 Linux)的用户与 Windows 计算机和服务器进行互操作。Samba 项目的目标是消除互操作性障碍。

在 Linux 中使用 Samba 客户端(因为 Samba 也可以作为服务器使用)非常简单。例如,在 Kubuntu 中,要获取类似 Windows 中的“我的网络位置”的列表,打开 Konqueror 并在地址栏输入 smb:/。这时将显示可用的工作组。从这里,您可以深入到 FreeNAS 服务器及其共享目录。这对所有基于 KDE 的发行版(如 Mandriva 和 SuSE)都适用。或者,您可以使用系统菜单上的 远程位置 图标(这与 K 菜单不同)。在这里,您可以点击 Samba 共享,这将带您进入 smb:/ 列表。

通过 CIFS 从 Linux 访问 FreeNAS

从 OS X 连接 CIFS

苹果的 OS X 操作系统完全支持 Windows 连接。随着 OS X 10.5 Leopard 的发布,其易用性也得到了改进。Leopard 会自动检测局域网中可用的 CIFS 共享资源。它们会出现在 Finder 窗口左侧的 共享 部分。点击您想使用的资源(在 FreeNAS 的情况下,会显示“freenas SMB 服务”),然后您就可以像访问其他文件夹一样访问它们。

从 OS X 连接 CIFS

FTP

虽然 CIFS 和 NFS 是文件系统协议,这意味着可以在网络上共享整个文件系统,并且其他计算机可以像本地附加一样使用这些文件系统,但 FTP 在设计上更为有限,仅用于从一台计算机向另一台计算机传输文件。在 CIFS 和 NFS 中,当您读取或写入文件时,它们仍然位于远程服务器上,而使用 FTP 时,文件会从服务器传输到本地计算机或反之。一旦您下载到计算机上的文件并对其进行更改,这些更改将不会反映在服务器上的文件中。

FTP 协议的主要用途是从服务器下载文件到本地计算机。文件可以通过 FTP 上传到服务器(也可以通过 FTP),然后那些需要文件的人可以多次下载文件。这在以下两种情况下很有用:

  • 对于小型办公室或家庭环境,它非常适合作为下载软件和驱动程序的存储库。由于所有的 Web 浏览器都支持 FTP,这意味着只需使用标准的 Web 浏览器就可以将文件下载到本地计算机,或者可以使用更复杂的 FTP 客户端。

  • 在企业环境中,如果有公司内部网络(Intranet),那么各个内部网站的链接可以通过 FTP 链接到 FreeNAS 服务器上的文件。如果需要下载不必存放在 Web 服务器上的大文件,这一点尤为有用。

FTP 还支持将文件上传到服务器。在这里,负责 Intranet 或文件存储库的人员将文件上传到 FreeNAS 服务器,需要这些文件的人员可以像上述描述的那样下载它们。

要配置 FTP 服务,请转到服务: FTP并勾选启用框。点击保存并重新启动,FTP 即配置完成。其余设置可以保持不变。但如果考虑更改任何设置,下面是每个参数的表格说明。

参数 含义
TCP 端口 如果出于网络原因需要更改 FTP 端口,则可以在这里更改。默认端口是 21。
客户端数 最大同时客户端数。
最大连接数每 IP 每个 IP 地址的最大连接数(0 = 无限制)。
超时 最大空闲时间(以分钟为单位)。
允许 root 登录 指定是否允许连接用户直接以超级用户(root)身份登录。请谨慎使用此选项,因为启用它可能存在安全风险。
匿名登录 启用匿名登录。
本地用户 启用本地用户登录。
横幅 FTP 在第一次连接时显示的问候横幅。

还有几个高级 FTP 选项。下表描述了它们:

参数 含义
创建掩码 使用此选项设置新的默认文件创建掩码(初始默认为 077)。
目录掩码 使用此选项设置新的默认目录创建掩码(初始默认为 022)。
FXP 启用 FXP 协议。FXP 允许在两台远程服务器之间进行传输,而不需要任何文件数据传输到请求传输的客户端(不安全!)。
NAT 模式 强制使用 NAT 模式。如果你的 FTP 服务器位于不支持应用层 FTP 代理的 NAT 设备后面,请启用此选项。
保留所有文件 允许用户恢复和上传文件,但不能删除或重命名它们。目录可以被删除,但只能在为空时删除。然而,仍然允许覆盖现有文件。
chroot 所有人 除 root 外,对所有人使用 chroot()。
被动 IP 地址 强制在回应 PASV/EPSV/SPSV 命令时使用指定的 IP 地址。如果服务器位于一个没有正确处理状态 FTP 伪装的 NAT 设备后面,请将该设备的 IP 地址放在这里。如果你有动态 IP 地址,可以放入网关的公共主机名,每次新客户端连接时都会解析这个主机名。
pasv_min_port 分配给 PASV 风格数据连接的最小端口(0 = 使用任何端口)。
pasv_max_port 分配给 PASV 风格数据连接的最大端口(0 = 使用任何端口)。

使用命令行 FTP 客户端

在第二章中,我们展示了如何使用免费的 FTP 客户端 CoreFTP 从 Windows 机器连接到 FreeNAS 服务器,我们还提到过 Windows 资源管理器自带的内建 FTP 客户端。所有主要的操作系统(包括 Windows)都包含一个内建的命令行 FTP 程序。它们本质上是相同的,不管操作系统是什么,所以如果你知道如何使用 OS X 上的命令行 FTP 程序,你也能在 Linux 等操作系统上管理。对于本例,我们将使用苹果的 OS X。

首先,你需要打开一个终端窗口(在 OS X 或 Linux 上)或命令提示符(在 Windows 上)。要连接到 FreeNAS 服务器,你需要输入:

ftp 192.168.1.250

其中,192.168.1.250是 FreeNAS 服务器的 IP 地址,如果你的 IP 地址不同,需要输入你自己的 FreeNAS IP 地址。

第一个需要输入的是用户名,现在我们将使用匿名 FTP,这意味着任何人都可以访问 FTP。下一章我们将讨论用户管理和认证。所以输入:

anonymous

现在,你需要输入密码。因为我们进行的是匿名登录,任何密码都可以,包括直接按ENTER

然后你会进入 FTP 程序,并看到ftp>提示符。

要查看目录中的文件列表,我们使用ls命令。所以输入ls然后按ENTER。结果会类似于以下内容:

ftp> ls
227 Entering Passive Mode (192,168,1,250,112,201)
150 Accepted data connection
drwxrwxrwx 3 0 0 512 Jan 22 11:59 store
226-Options: -l
226 1 matches total
ftp> 

在这些信息中,重要的一行是以drwxrwxrwx开头的那一行。你会在右侧看到“store”这个词。这就是在第二章快速入门指南中添加、格式化并挂载的名为 store 的磁盘。drwxrwxrwx告诉我们它是一个目录(因为前面的d),并且每个人都有读、写和执行权限。

现在我们想要切换到store目录,使用cd命令来实现:

ftp> cd store
250 OK. Current directory is /store
ftp> 

对存储文件夹进行目录列出后显示:

-rwx------ 1 21 0 135477136 Jan 22 12:45 W2KSP4_EN.EXE 

这是 Windows 2000 的服务包 4。我已将其复制到我的 FreeNAS 服务器上作为示例。如果我的网络中有一台或多台需要升级到服务包 4 的 Windows 2000 计算机,我可以从 FreeNAS 服务器上下载该文件,并在每台计算机上运行。

为了获取文件并将其下载到我的计算机上,我使用get命令:

ftp> get W2KSP4_EN.EXE 

传输将开始,并以类似以下内容的摘要结束:

135477136 bytes received in 00:15 (8.50 MB/s) 

要退出 FTP 程序,只需键入quit

这里有更多 FTP 命令帮助你前进:

命令 描述
删除 删除当前远程目录中的文件。
lcd 更改本地计算机上的目录。
mkdir 在当前远程目录内创建一个新目录。
mget 将多个文件从远程计算机复制到本地计算机;在传输每个文件之前,会提示你回答 y/n,除非你事先使用了关闭提示命令。
mput 将多个文件从本地计算机复制到远程计算机;在传输每个文件之前,会提示你回答 y/n,除非你事先使用了关闭提示命令。
put 将一个文件从本地计算机复制到远程计算机。
pwd 显示远程计算机上的当前工作目录。
rmdir 删除当前远程目录中的目录。

使用网页浏览器进行 FTP

所有网页浏览器都包含一个简单的 FTP 客户端,可以浏览 FTP 区域并下载文件。启动你的网页浏览器,然后在地址栏中输入:

ftp://192.168.1.250/ 

请注意,地址以ftp://开头,而不是http://

网页浏览器将显示如下内容:

使用网页浏览器进行 FTP

在这里,网页浏览器显示了store,这是先前配置的磁盘。与 CIFS 不同,你不需要单独添加每个磁盘;所有已挂载的磁盘都可以使用。

如果你点击store,你将进入store文件夹,看到如下内容:

使用网页浏览器进行 FTP

在这里,你可以点击服务包,网页浏览器将开始为你下载它。

NFS

网络文件系统(NFS)是 UNIX 系统等同于 CIFS 协议的技术。虽然有第三方包可以让 Windows 计算机使用 NFS 资源,但 NFS 在 UNIX/Linux 操作系统上仍然占据主导地位。

要配置 NFS 服务,请进入服务:NFS页面。与其他所有服务一样,要启用它,你需要勾选启用框。

NFS 的参数很少,但它们非常重要。

注意

以下说明适用于 0.68 系列的 FreeNAS 版本。0.69 和 0.7 版本的 FreeNAS 在处理 NFS 时略有不同,但本质上的思想是相同的。

在 0.69 和 0.7 版本中,请注意以下差异:

服务:NFS 设置页面现在有两个选项卡;设置共享

设置选项卡有一个新参数:服务器数量,它指定要创建多少个 NFS 进程。需要有足够的进程来处理来自网络上 NFS 客户端的最大并发量。典型的数字是四到六个。

现在的 NFS 设置有了共享(share)这个概念(与 CIFS 非常相似),要使文件夹或磁盘在网络上可用,必须为其创建一个“共享”。为此,你需要点击共享选项卡,并点击添加按钮。

以下描述的其余参数现在是按共享(share)单独设置的,而不是针对整个服务器。

第一个参数是将所有用户映射为 root。这意味着在 FreeNAS 机器上,远程用户在通过 NFS 访问磁盘时将拥有 root 权限(或 Windows 术语中的管理员权限)。这通常是一个不好的做法,尽管默认设置是,但最好将其更改为。另外,任何通过 NFS 连接到 FreeNAS 的 OS X 客户端将会发出一些警告,提示需要用户名和密码。当将所有用户映射为 root设置为时,这些警告就不会出现。

第二个参数是授权网络列表,允许通过 NFS 连接到 FreeNAS 服务器。这个授权网络列表是通过设置哪些地址组可以访问服务器来定义的。

如果你的 FreeNAS 服务器的子网掩码是 255.255.255.0(这很可能是默认情况),那么:

点击添加按钮,输入 FreeNAS 服务器 IP 地址的前三个数字(中间有点),然后以点零(.0)结束。例如,如果 FreeNAS 服务器的 IP 地址是 192.168.1.250,那么你需要输入 192.168.1.0 作为授权网络。最后,在下拉框中选择 24(也就是 255.255.255.0)。

如果你使用的子网掩码是 255.255.0.0,那么你需要输入 IP 地址的前两个数字,并以点零点零(.0.0)结束,例如 192.168.0.0。将下拉框设置为 16。

如果你使用的子网掩码是 255.0.0.0,那么你只需要输入 IP 地址的第一个数字,并以点零点零点零(.0.0.0)结束,例如 192.0.0.0。下拉框需要设置为 8。

如果你不确定子网掩码的值是什么,请转到接口:LAN 并查看 IP 地址字段。你需要在服务:NFS 页面的下拉框中设置与 IP 地址字段下拉框中的值相同的选项。

从 OS X 使用 NFS

苹果 OS X 的核心是一个名为 Darwin 的开源 UNIX 操作系统。因此,OS X 本身就理解 NFS 协议。要从 OS X 连接到 FreeNAS 服务器,请打开 Finder,选择 Go->连接到服务器...(或者使用快捷键 Apple-K)。

在服务器地址字段中输入:

 nfs://192.168.1.250/mnt/store 

地址由三部分组成。首先是 nfs://,告诉 OS X 我们要通过 NFS 进行通信。接着是 FreeNAS 服务器的地址(192.168.1.250,根据需要修改),最后是我们要连接的资源。所有磁盘都作为 /mnt/name 导出。在这个例子中,名称是 store,因为我们之前在“磁盘:挂载点:管理”中定义了 store。挂载后,它会出现在 Finder 左侧的“共享”下。

在 Linux 上通过 NFS 挂载 FreeNAS

您使用的特定 Linux 发行版可能有图形界面工具来挂载 NFS 共享,但适用于所有 Linux 版本的最低通用标准是使用命令行。

通过 NFS 挂载 FreeNAS 服务器非常简单,且大部分与 OS X 相同,但与在 GUI 中输入命令不同,它是在命令行中输入的。在 Linux 中,要挂载任何类型的设备,无论是远程的还是本地的,都需要有一个挂载点,即一个用于挂载资源的位置。所以,打开一个终端窗口并以 root 身份登录(通常使用 su 命令,或者您也可以在以下命令前加上 sudo)。

首先,您需要切换到 /mnt 目录:

# cd /mnt 

现在创建一个目录以挂载 FreeNAS 服务器:

# mkdir freenas 

现在挂载 FreeNAS 服务器:

# mount 192.168.1.250:/mnt/store /mnt/freenas 

完成后,磁盘上存储在 FreeNAS 服务器上的所有文件和文件夹将出现在 /mnt/freenas 下。因此,使用之前的示例,您将会在 /mnt/freenas/W2KSP4_EN.EXE 找到 Windows 2000 Service Pack 4,不过这里可能没什么用处!

RSYNCD、Unison、AFP 和 UPnP

CIFS、NFS 和 FTP 是 FreeNAS 的三种主要文件访问协议,但 FreeNAS 不止如此,它还有另外四种协议用于不同的专门任务,包括备份和流媒体多媒体。

使用 RSYNC 进行备份

RSYNC 以高效的方式在机器之间复制文件,因此非常适合做备份。RSYNC 协议允许 RSYNC 仅传输两组文件之间的差异,通过高效的算法进行传输。RSYNC 是一个客户端/服务器系统,意味着有一个服务器在运行以接收备份文件,而客户端则从本地机器发送文件。对于 FreeNAS,这意味着可以配置 RSYNC 服务,并且您网络中的计算机可以使用 RSYNC 客户端备份到它。

要启用 RSYNC 服务,请在服务页面 RSYNCD: 服务器 上勾选启用框。其他参数可以保持默认设置。

RSYNC 本质上是一个命令行工具,具有 Linux/UNIX 背景,但也有一些 Windows 程序可以通过 RSYNC 进行备份管理。欲了解更多信息,请访问以下网站:

这两个工具都是开源的,并且可以免费下载和使用,没有任何限制。

从 Linux(或 OS X)命令行,你可以像这样开始备份本地机器上的文件:

rsync -a /home/user/backup rsync://192.168.1.250/store 

这将把目录 /home/user/backup 备份到 FreeNAS 上的存储磁盘。-a 参数将 RSYNC 设置为归档模式,这意味着任何子目录也将被复制,同时保留时间戳。

如前所述,你需要将 IP 地址(192.168.1.250)更改为你的 FreeNAS 服务器的 IP 地址。

注意

FreeNAS 还可以作为 RSYNC 客户端,这意味着它可以将文件从服务器发送到另一台服务器,从而允许 FreeNAS 服务器进行备份。我们将在第七章中更详细地讨论这一点。

使用 Unison 进行备份和同步

Unison 是一个用于 UNIX 和 Windows 的文件同步工具。它允许将一组文件和目录的两个副本存储在不同的主机(或同一主机上的不同磁盘)上,分别修改,然后通过将每个副本中的更改传播到另一个副本来更新它们。它与 RSYNC 类似,都可以执行两个目录的镜像/同步操作,但与 RSYNC 不同,Unison 可以处理分布式目录结构中两个副本的更新。没有冲突的更新会自动传播。冲突的更新会被检测并显示。Unison 是开源的,且根据 GNU 公共许可证发布。

要启用 Unison 服务,请转到服务:Unison并勾选启用框。你需要选择 Unison 服务将使用的共享,并且可以将其他设置保留为默认值。

为了让 Unison 正常工作,必须启用安全外壳(SSH)(服务:SSH),且用户必须启用 Shell 访问(访问:用户)。

SSH 和用户管理将在下一章中详细介绍。

通过 AFP 连接到 FreeNAS

与 Windows 的 CIFS 和 UNIX 的 NFS 类似,Apple 也有一个名为 AFP(Apple Filing Protocol)的文件系统协议。它允许 Apple Mac 本地连接到 FreeNAS 服务器。与 CIFS 一样,Mac 会自动发现本地网络上提供的任何 AFP 服务。AFP 服务将在 Finder 的共享部分出现。

通过 AFP 连接到 FreeNAS

要启用 AFP,请转到服务:AFP页面,勾选启用框。接着勾选启用来宾访问框并点击保存并重启。本地认证方法将在下一章中与所有其他用户管理问题一起讨论。AFP 现在已启动。前往你的 Mac,你将看到如上所述的服务器。

配置 AFP 时有一些选项,下面是对它们的简要介绍:

参数 说明
服务器名称 服务器的名称。如果此字段为空,则指定默认服务器。
认证 来宾访问或本地用户认证。你必须选择其中之一,如果选择匿名访问,请选择来宾访问。

使用 UPnP 进行流媒体

UPnP(即插即用)是一组网络协议,允许设备无缝连接并简化家庭网络的实现。它因轻松启用从服务器到客户端的多媒体数据流而广受欢迎。在 FreeNAS 环境中,UPnP 允许将先前配置的目录提供给 UPnP 多媒体客户端,如连接到电视的无线媒体中心。UPnP 客户端将通过 UPnP 协议找到 FreeNAS 服务器,并通过选择菜单播放存储在 FreeNAS 服务器中的多媒体文件。

要启用 UPnP,请进入服务:UPnP页面并勾选启用框。

您可以将名称和网络接口保持默认设置。

现在,您需要选择要在 FreeNAS 服务器上共享的磁盘。点击添加圆圈将弹出一个熟悉的窗口,供您选择要共享的磁盘。在我们的测试设置中,我们需要共享/mnt/store。输入此路径后,点击添加

最后,点击保存并重启

还有一些可以更改的参数:

参数 含义
端口 如果您希望覆盖默认端口(49152),请输入自定义端口号。只能使用动态或私有端口(从 49152 到 65535)。
配置文件 要使用的符合规范的配置文件。UPnP 有多个配置文件,您需要根据所使用的设备来调整。如果您使用的是微软的 Xbox 360,则选择 Xbox 360;如果您使用的是符合数字生活网络联盟(前身为数字家庭工作组)标准的设备,则选择 DLNA。
控制网页 启用控制网页。可以通过ip_address:port/web/ushare.html访问。这是一个基础的网页,允许您添加更多共享内容。它也是 Windows 双击 FreeNAS UPnP 图标时显示的页面。

作为测试客户端,我们可以使用 GeexBox Linux 发行版(geexbox.org)。GeeXboX 是一个免费的 Linux 发行版,可以将计算机转变为家庭影院 PC 或媒体中心。它是一个独立的基于 LiveCD 的发行版,这意味着它可以从 CD 启动,并能在任何现代 PC 上即刻运行。它甚至可以在无盘计算机上使用,因为整个系统是加载到内存中的。与 FreeNAS 类似,您需要下载 .ISO 镜像文件,将其刻录到 CD 上,然后从 CD 启动 PC。

启动后,您可以从主菜单选择打开,然后选择打开文件...,接着选择 UPNP 选项,最后选择 FreeNAS 服务器。如果您已经将任何多媒体文件复制到 FreeNAS 服务器上,您可以播放它们。

使用 UPnP 流媒体

iSCSI 目标

iSCSI 是 SCSI 协议的演变,允许通过网络发送 SCSI 命令。它允许两个主机进行协商,然后使用 IP 网络交换 SCSI 命令。其结果是,具有 iSCSI 功能的远程设备可以被视为本地磁盘驱动器,但该设备的命令和数据通过网络发送,而不是通过机器中的电缆传输。

FreeNAS 可以配置为 iSCSI 目标,这意味着它充当一个远程 SCSI 磁盘,并可以接收 SCSI 命令并将其应用于本地磁盘。一旦配置好,iSCSI 启动器可以连接到 FreeNAS 的 iSCSI 目标并将指定的磁盘用作本地磁盘。

注意

要使用 FreeNAS 的 iSCSI 功能,您的服务器至少需要 256MB 的内存。

iSCSI 配置从 服务:iSCSI 目标 页面开始。iSCSI 目标由以下两种之一组成:一个扩展(实际存储文件或硬盘)或一个设备(在 RAID 0 或 RAID 1 配置中,由其他扩展或设备组合而成)。因此,配置 iSCSI 目标需要几个步骤:

    1. 首先,需要创建或定义一个扩展。
    1. 可选地,可以配置一个设备。
    1. 最后,需要使用有关扩展或设备的信息来定义目标。

在此上下文中,扩展是指最终充当 iSCSI 设备的设备或文件。从 iSCSI 目标页面,点击扩展部分的添加按钮。在这里,您需要输入两项内容:名称,默认情况下为 extent0,然后是扩展的路径。在此,您可以选择一个设备,如 /dev/ad0 或一个文件。作为示例,我将选择一个文件,因为它提供了最大的灵活性,即同一物理磁盘可以用来托管多个 iSCSI 目标(但请注意,使用整个设备时性能会更高)。文件的名称格式为 /mnt/sharename/extentname,因此在此示例中它将是 /mnt/store/extent0。最后,输入大小,单位为兆字节,例如 2048,表示 2GB。

如果您希望将多个扩展或设备结合在一起,接下来可以创建一个设备。这是一个可选步骤,如果您只使用一个扩展(无论是文件还是硬盘),则不需要此步骤。点击设备部分的添加按钮。您需要输入一个设备名称,默认情况下为 device0。接下来,选择如何组合扩展(使用 RAID 0 或 RAID 1,更多关于 RAID 的信息请参见第三章)。

最后,您需要定义 iSCSI 目标本身。点击目标部分的添加按钮。输入目标名称,默认值为 target0。然后勾选构成目标的扩展,在此例中为 extent0。您还需要配置可以访问此 iSCSI 目标的授权网络。这类似于 NFS 网络授权的方式。

iSCSI 磁盘的行为与本地磁盘完全相同,你只能有一台计算机控制该磁盘。因此,确保只有一个 iSCSI 发起程序使用特定的 iSCSI 目标非常重要。如果两个(或更多)iSCSI 发起程序使用一个 iSCSI 目标,会导致数据损坏。

确保只有一个 iSCSI 发起程序使用 iSCSI 目标的一种方法是将授权网络限制为仅一个 IP 地址。如果我的 iSCSI 发起程序的 IP 地址是 192.168.1.100,那么输入该地址并选择下拉框中的 32,将会限制 iSCSI 连接只允许该 IP 地址。

然而,如果你的 iSCSI 发起程序没有固定的 IP 地址(而是使用 DHCP),那么你将无法永久设置 IP 地址。在这种情况下,你只能将 IP 地址限制在网络中的一个范围内。假设你的 FreeNAS 服务器的子网掩码是 255.255.255.0,输入 FreeNAS 服务器 IP 地址的前三个数字(中间用点分隔),然后以点零(.0)结尾。例如,如果 FreeNAS 服务器的 IP 地址是 192.168.1.250,那么你应该输入 192.168.1.0 作为授权网络。最后,在下拉框中选择 24(即 255.255.255.0)。

完成上述操作后,应用更改。FreeNAS 服务器将创建 2GB 的文件 extent0 在 /mnt/store 中,并将 iSCSI 目标提供到网络上。

你需要记录下显示的目标名称,因为在 iSCSI 发起程序中将需要此信息。

iSCSI 目标

使用另一台 FreeNAS 服务器测试 iSCSI 目标

为了测试 iSCSI 目标,我们可以使用另一台 FreeNAS 服务器,并将其连接到 iSCSI 目标 FreeNAS 服务器上的 iSCSI 磁盘,查看磁盘如何使用。为了避免混淆,我将把定义 iSCSI 目标的 FreeNAS 服务器称为 FreeNAS 目标服务器,将挂载远程 iSCSI 磁盘的服务器称为 FreeNAS 发起服务器。

注意

只有一台 FreeNAS 服务器可用

如果你只有一个 FreeNAS 服务器,也可以通过使用同一台 FreeNAS 服务器来执行此测试。在这种情况下,iSCSI 发起程序将回环到同一台 FreeNAS 服务器并使用定义的 iSCSI 目标。虽然这不是很实用,但它证明了你的 iSCSI 已经工作。

  1. 1. 在 FreeNAS 发起服务器上,进入 磁盘:管理 页面并点击 iSCSI 发起程序标签。然后点击添加按钮。

  2. 2. 输入一个 iSCSI 磁盘的名称,比如 iSCSI0。这个名称不太重要,因为它仅供参考(在 iSCSI 协商过程中并未使用)。

  3. 3. 对于发起程序名称,输入:iqn.1994-04.org.netbsd.iscsi-initiator:freenas

    这些名称确实有一个特殊的格式(见下文),但最重要的方面是它们是唯一的。为了确保唯一性,你可以在最后一个冒号后改变部分内容,freenas2 等等。

  4. 4. 对于目标名称,输入:iqn.1994-04.org.netbsd.iscsi-target:target0,这应该是你在 FreeNAS 目标服务器上记录下来的目标名称。

    1. 最后,输入 FreeNAS 目标服务器的 IP 地址,然后点击添加

注意

iSCSI 名称可能看起来很长且复杂,但它们是可以理解的。它们技术上被称为 iSCSI 合格名称(IQN),简而言之,它们都以 iqn 开头。

这是目标名称的提醒:

iqn.1994-04.org.netbsd.iscsi-initiator:freenas

iqn之后,是一个日期代码,指定了组织注册域名的年份和月份,这里是 1994 年 4 月。

接下来是域名,它是反向的:iscsi-initiator.netbsd.org

NetBSD 是 FreeBSD 的姊妹项目,FreeBSD 的 iSCSI 部分来自 NetBSD,因此使用了他们的域名。

最后,后面会有一个:和本地定义的字符串,确保地址唯一,在这种情况下是freenas,它是目标服务器的名称。

如果你有多个 iSCSI 目标和发起器,可能需要考虑使用 IP 地址的最后一位数字以及单词 freenas 来创建唯一的名称,例如 freenas-250。

如果出现任何错误,请尝试查看日志页面,寻找可能导致问题的线索:

  • 诊断:日志:系统

  • 诊断:信息:磁盘

  • 诊断:信息:iSCSI 发起器

此外,在第九章中有更多关于追踪 iSCSI 问题的帮助。

    1. 现在回到磁盘:管理页面。点击添加圆圈并从磁盘下拉菜单中选择 iSCSI 设备。它应该显示如下内容:
da0: 2048MB (NetBSD NetBSD iSCSI 0)

    1. 以正常方式添加磁盘并应用更改。
    1. 现在,磁盘可以通过磁盘:格式化页面进行格式化,并且可以像我们在第二章快速入门指南中所做的那样,挂载到磁盘:挂载点:管理页面。

之后,你就可以通过你选择的任何协议使用该磁盘,包括 CIFS、NFS、AFP 和 FTP。

注意

你注意到 iSCSI 磁盘需要像物理磁盘一样进行格式化和挂载吗?这是因为 iSCSI 磁盘是低级设备,发起连接的操作系统将 iSCSI 视为系统中的普通硬盘。这意味着它可以像其他本地磁盘一样进行分区、格式化和使用。

测试 iSCSI 目标与另一台 FreeNAS 服务器

在 Windows Vista 中测试 iSCSI 目标

Microsoft Windows Vista 自带一些内置的 iSCSI 发起器软件(Windows XP 也可以从微软网站下载独立版)。这使得 Windows 可以连接到 iSCSI 设备,并将其作为本地硬盘使用。

    1. 在 FreeNAS 服务器上定义了 iSCSI 目标后,转到 Windows 计算机并启动 iSCSI 发起器工具。它可以在控制面板的管理工具区域找到。具体位置为:控制面板 | 系统和维护 | 管理工具 | iSCSI 发起器
  1. 2. 点击 发现 标签页,然后点击 添加门户...IP 地址或 DNS 名称 字段中输入您的 FreeNAS 服务器的 IP 地址,并将 端口 保持为默认值 3260。点击 确定。如果 FreeNAS 服务器的 iSCSI 组件正常运行,您将很快返回到 发现 标签页。如果无法连接到 iSCSI 目标,将会弹出错误对话框。如果发生错误,请返回并验证 FreeNAS iSCSI 目标设置。

  2. 3. 现在点击 目标 标签页。FreeNAS iSCSI 目标会列出类似 iqn.1994-04.org.netbsd.iscsi-target:target0 的内容。点击它,然后点击 登录...

  3. 4. 在下一个对话框中,您有机会配置 Windows 在计算机启动时自动恢复此连接,如果这将成为该 PC 的永久存储选项,这将非常有用。点击 确定。Windows 现在将连接到 iSCSI 目标,并且其 状态 将变为 已连接。您现在可以点击 确定 以关闭 iSCSI 启动工具。

  4. 5. 如果您现在打开 计算机,您会发现没有任何变化。但不要担心,这是预期的。iSCSI 连接是最低级别的,它类似于在您的机器上添加一块新硬盘。在这块硬盘可以使用之前,必须先格式化。

  5. 6. 要初始化和格式化驱动器,您需要使用计算机管理工具。要启动它,点击 开始 按钮,点击 控制面板,然后点击 系统和维护,接着点击 管理工具,然后双击 计算机管理。(如果系统提示需要管理员密码或确认,请输入密码或提供确认)。最后,在导航窗格中,点击 磁盘管理,位于存储下。

  6. 7. 该 iSCSI 硬盘将被列为一块磁盘,并标记为 未初始化。要初始化磁盘,右键点击磁盘标签(显示为 未初始化 的位置),然后点击 初始化磁盘。在弹出的对话框中接受默认设置,然后点击 确定。磁盘的状态将从 未初始化 改为 在线

  7. 8. 要格式化驱动器,您需要先创建一个分区,然后对其进行格式化。右键点击硬盘上未分配的区域,然后点击 新建简单卷。在 新建简单卷向导 中,点击 下一步。输入您要创建的卷的大小(默认是最大大小),然后点击 下一步。选择一个驱动器字母以标识该分区,然后点击 下一步。要使用默认设置格式化该卷,点击 下一步。检查您的选择,然后点击 完成

  8. 9. 现在,您的计算机上将会有一块新的硬盘。每当您使用这块硬盘时,控制、读写硬盘的命令将通过 iSCSI 协议发送到 FreeNAS 服务器。

使用 HTTP 和内置 Web 服务器访问您的文件

Web 浏览器已经成为桌面上的普及工具,因此,使用 web 浏览器访问 FreeNAS 服务器上的文件已经成为一种重要的文件访问方式。此外,Web 背后的协议 HTTP(超文本传输协议)是防火墙设备所熟知的。因此,使用 HTTP 可以使得防火墙通过(当然是在受控的方式下并且在需要时),让你在穿越防火墙后仍能访问它。

注意

要使用内置的 web 服务器,你需要使用 FreeNAS v0.69 或更高版本。

启用了通用 web 服务器的 FreeNAS 服务器后,开发者还添加了使用 PHP 和 HTML 的功能。然而,FreeNAS 的 web 服务器并不打算成为一个全面的 web 服务器。它不支持任何类型的数据库连接,也没有 URL 重写或带宽配额等高级功能。

要启用内置的 web 服务器,进入 服务:Web 服务器 并勾选启用框。Web 服务器有 5 个参数:

参数 含义
协议 选择 HTTP 或 HTTPS 作为连接协议。如果选择 HTTPS,你需要在证书字段中粘贴一个 X.509 证书。
端口 服务器的 TCP 端口。端口 80 是 HTTP 的默认端口,但它用于 Web 管理界面。你需要在这里选择另一个端口,或者将 web 界面移到另一个端口(在系统:常规设置页面上),并在此使用 80。标准的备用端口包括 81 和 8080。
文档根目录 Web 服务器的文档根目录。这里是 Web 服务器查找请求提供的网页和文件的地方。
认证 仅允许本地用户访问 web 服务器。你可以定义哪些目录需要授权才能访问。任何本地定义的用户都可以访问该页面。
目录列表 如果请求某个目录并且该目录中没有找到索引文件(如 index.php、index.html、index.htm 或 default.htm),则会生成目录列表。如果你只想提供某些文件的访问权限,而不需要生成 HTML 或 PHP 文件,这会很有用。

一旦输入了参数,你需要点击保存并重启。一些参数的更改将需要重启服务器才能生效。

测试 web 服务器的最简单参数集是使用端口 8080 的 HTTP,文档根目录为 /mnt,并启用目录列表。要测试 web 服务器,在你的 web 浏览器中输入以下 URL:

http://192.168.1.250:8080 

其中 192.168.1.250 是你的 FreeNAS 的 IP 地址。

你将看到一个简单的列表:

使用 HTTP 和内置 Web 服务器访问你的文件

概述

在本章中,我们已经研究了可以用于从各种操作系统(包括 Windows、Linux 和 OS X)连接到 FreeNAS 服务器的不同协议。

我们已经看到,CIFS 在各个平台上都可用,而 NFS 对于 Linux 或 OS X 网络非常有用。此外,我们还了解了像 RSYNC 和 UPnP 这样的专用协议,它们分别允许 FreeNAS 服务器作为备份服务器或多媒体流媒体服务器使用。

在下一章,我们将讨论各种用户和系统管理任务。

第五章:用户与系统管理

本章将讨论 FreeNAS 服务器的不同系统管理任务以及用户管理。涉及的内容包括:

  • 添加新用户

  • 使用本地用户认证结合 CIFS、FTP、AFP 和 SSH

  • 重启和关闭服务器

  • 简单的网络管理,包括配置 FreeNAS 使用 DNS 并设置默认网关

  • 获取服务器状态信息

介绍

一般来说,一旦 FreeNAS 服务器配置并运行,它其实不需要太多关注,它应该可以正常工作。然而,有很多不同的功能是可以配置的。本章将介绍一些常见的 FreeNAS 服务器设置管理任务。

本地用户管理

到目前为止,我们只在“匿名”模式下使用 FreeNAS 服务器,意味着任何人都可以连接到服务器并读取、创建和删除文件。这并不总是你想要的,因此 FreeNAS 提供了一些用户管理功能,可以改变 CIFS、FTP 和 AFP 允许用户连接到服务器的方式。

注意

FreeNAS 0.6 版本系列的用户管理相当简单。已定义的用户要么有访问权限,要么没有访问权限,只有这两种状态。没有颗粒度的控制;例如,不能将一些用户设置为只读访问,而另一些用户可以读写访问。

0.7 版本的发布路线图承诺提供创建共享(意味着在选定的磁盘上创建一个文件夹)的功能,并且在这个共享上具有用户/组/配额属性。这意味着可以实现更高层次的控制。

创建用户的第一步实际上是创建一个组。每个用户必须属于一个组。组是相互关联的一组用户。因此,在你的公司中,可能会有一个销售组和一个工程组。在家里,你可能只需要一个组,例如家庭组。

  1. 1. 要创建一个组,请转到访问:用户和组,然后点击选项卡。

  2. 2. 现在点击添加圆圈。

  3. 3. 表单非常简单;你只需要添加一个名称和描述。例如,销售和“销售人员”。

  4. 4. 现在点击添加,然后应用更改。

注意

组名只支持 a-z、A-Z 和 0-9 字符。_(下划线)和空格不支持,标点符号如 $%&* 等也不支持。

现在你已经创建了一个组,你可以创建一个用户。

  1. 1. 点击用户选项卡。

  2. 2. 然后点击添加圆圈。

    有四个必填字段:

    • 登录名: 这是用户的唯一登录名。如果该用户在其他服务器或工作站(如 Windows 用户名或 Linux 用户名)上已有登录名,最好在这里保持一致。这样,用户不需要记住额外的用户名,并且一些程序(特别是 Windows)会尝试使用 Windows 用户名登录,然后再询问应该使用哪个名字。保持一致将有助于集成。

    • 全名: 用户的全名。通常,登录名是用户的缩写或简称,如 john、gary。在这里你需要输入全名,以便轻松区分哪个登录名属于哪个人。

    • 密码: 用户的密码(并确认密码)。密码中不允许使用冒号(':')字符。

    • 主组: 用户所属的组,例如销售组。

    本地用户管理

    1. 最后,你需要点击 添加 并应用更改。

现在,你已经在 FreeNAS 服务器上添加了一个用户。

添加用户时,还有三个可选字段:主目录、完整 Shell 和管理员,稍后我们会讨论这些内容,但首先让我们看看添加用户对 FreeNAS 服务器其余部分的影响。

使用 CIFS 与本地用户

要使用在 Windows 网络中定义的用户,你需要进入 服务:CIFS/SMB 页面,并将 身份验证 字段更改为 本地用户。然后点击 保存并重启 以应用更改。

这意味着现在只有经过身份验证的用户才能通过 CIFS 访问 FreeNAS 共享文件。

注意

在 0.6 版本中,这种用户身份验证适用于所有共享,用户要么可以访问所有内容,要么根本无法访问。这应该会在 0.7 版本中有所改变。

当你现在尝试从 Windows Vista 机器连接时,会弹出一个窗口要求输入用户名和密码。

使用 CIFS 与本地用户

一旦身份验证通过,用户就可以访问 FreeNAS 服务器上的所有用户共享文件。

FTP 和用户登录

服务:FTP 页面中,有两个字段控制用户如何登录到 FreeNAS 服务器:

  • 匿名登录: 这允许启用匿名登录。这意味着用户可以使用用户名 anonymous 和任何密码进行连接。

  • 本地用户: 这使得本地用户能够登录。用户通过在“访问:用户和组”页面中定义的用户名和密码登录。

这两者可以一起使用;然而,它们在安全性方面是相互抵消的。最好运行 FTP 时,要么启用匿名登录并禁用本地用户登录,要么反之。如果两者都启用,那么即使没有用户账户,用户也能通过匿名方式登录,从而减少了启用用户账户的安全性优势。

除了安全性上的好处,使用 FTP 的本地用户登录的另一个优势是,你可以为用户定义一个主目录,当用户登录时,他们会被带到该目录,且只有他们能访问该目录及其下属目录。这实际上为每个用户提供了他们在服务器上的私人空间,其他用户无法干扰他们的文件。

要使其工作,你需要在共享磁盘上创建一个目录。你可以通过 CIFS、NFS、FTP 和 AFS 等任何访问协议来执行此操作。你需要连接到共享磁盘并创建一个新文件夹。

然后,在访问:用户中,您可以创建一个新用户或编辑现有用户(通过点击圆圈中的“e”)。在主目录中,您需要为该用户输入目录。例如,对于用户 john,您可以创建一个巧妙命名的目录john。假设磁盘名为store(按照快速入门指南),那么主目录的路径将是:/mnt/store/john。

点击保存并应用更改。现在,当 John 使用用户名john登录时,他将直接进入john目录。他无法访问存储磁盘上的其他文件或文件夹,只有john目录及其子文件夹可以访问。

注意

chroot() 除 Root 外所有人

在服务:FTP 页面的高级设置部分,有一个名为chroot() 除 root 外所有人的字段。这意味着,当用户通过 FTP 登录时,他们的根目录(顶级或起始目录)将是主目录字段中设置的目录。如果没有设置此项,用户将登录到物理根目录/,并能够看到整个服务器,包括 FreeNAS 和 FreeBSD 的系统文件。勾选此框会更安全。例外情况是用户 root(在 FreeBSD 术语中是系统管理员帐户)。如果启用了允许 root 登录,那么用户 root 可以登录,并将被带到实际服务器的根目录。如果你需要修改 FreeNAS 上的任何系统文件,这可能会很有用,但除非你完全了解操作,否则不推荐这样做!

身份验证 AFP 用户

像 CIFS 和 FTP 一样,Apple 文件协议(AFP)也可以使用 FreeNAS 的本地用户身份验证功能。

服务:AFP页面中,有两个选项可以控制通过 AFP 访问服务器:

  • 启用访客访问,意味着任何人都可以在不提供用户名和密码的情况下连接。用户拥有完全的读写访问权限。

  • 启用本地用户身份验证,意味着只有在 FreeNAS 服务器上定义的用户(在访问:用户页面上)才能访问服务器。需要提供在 FreeNAS 服务器上设置的用户名和密码以进行身份验证。

像 FTP 一样,这两者可以一起使用,但在安全性方面会互相抵消。最好是在启用访客登录并禁用本地用户登录,或者反之操作时运行 AFP 服务。如果同时启用这两项,那么即使用户没有账户,访客账户仍然可以登录,从而降低启用用户账户的好处。

仅启用本地用户身份验证时,从 Apple Macintosh 的初始连接会失败。在 Finder 窗口的右上角,有一个标记为连接为..的按钮。使用此按钮输入用户名和密码。

身份验证 AFP 用户

通过 SSH 连接到 FreeNAS 服务器

目前为止,本书中提到较少的一项服务是安全外壳访问(SSH)。它主要面向高级用户,在第十章中,我们将使用 SSH 连接服务器,介绍 FreeBSD 和可用的命令行工具。

然而,SSH 在很大程度上依赖于服务器上定义的本地用户,因此现在值得查看一下。

SSH 是一种网络协议,允许在两台计算机之间通过加密(安全)通道交换数据。它通常用作连接远程计算机的安全命令行接口。这意味着你可以从远程计算机访问 FreeNAS 服务器的命令行界面,而无需访问 FreeNAS 服务器的键盘和显示器。在 FreeNAS 服务器上,它还与 Unison 程序套件一起使用。Unison 使用 SSH 登录服务器并启动同步过程。

访问:用户:添加页面,有一个名为完整 Shell的字段,启用后,用户可以通过 SSH 访问 FreeNAS 服务器。

测试 SSH 连接:

  1. 1. 创建一个用户并确保启用完整 Shell

  2. 2. 转到服务:SSHD并启用该服务。

  3. 3. 确保已勾选密码验证选项。

  4. 4. 点击保存并重启

  5. 5. 使用 SSH 客户端连接到 FreeNAS 服务器(见下文)。

注意

密码验证

你可以通过不输入用户名和密码,而是依赖于交换加密密钥来连接到 FreeNAS 服务器,这些密钥可以验证你是否为你声称的身份。启用密码验证后,你可以仅使用用户名和密码登录。

你可以通过命令行程序 ssh 连接到 FreeNAS 服务器,适用于 Linux 和 Mac OS X。对于 Windows,你需要一个 SSH 客户端,最好的一个是 Putty(www.chiark.greenend.org.uk/~sgtatham/putty/)。我们将在第十章中更详细地讨论 Putty。

在 Linux 或 OS X 命令行中输入:

ssh -l john 192.168.1.250 

注意

如果你没有使用默认地址,别忘了将地址更改为你的 FreeNAS 地址。

-l 告诉 SSH 程序你希望使用哪个用户作为登录名,在本例中,我选择了john

第一次登录时,系统可能会询问你是否信任远程机器,因为你将与其进行加密通信。它应该会显示类似以下内容:

The authenticity of host '192.168.1.250 (192.168.1.250)' can't be established.
DSA key fingerprint is b2:d0:99:cb:6e:b2:53:95:4d:f6:b3:02:1d:bc:36:db.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.250' (DSA) to the list of known hosts 

输入“是”并键入该用户的密码。现在,你已通过 SSH 连接到 FreeNAS 服务器。在这里,你可以访问 FreeNAS 服务器的命令行工具。更多详细信息请参见第十章。

不使用本地用户帐户的服务

并非 FreeNAS 提供的所有服务都使用本地账户进行身份验证,最显著的是 NFS。这需要注意。如果你启用了 NFS,并且正在为 CIFS、FTP 和 AFP 使用本地用户身份验证,请注意,用户仍然可以通过 NFS 连接到 FreeNAS 服务器,而无需用户名和密码。这是绕过本地用户身份验证的简便方法。

使用 FreeNAS 配合 Microsoft Active Directory

到目前为止,我们已经在 FreeNAS 服务器上本地定义了所有用户信息。这对于小型网络是可以的,但如果你有一个大型企业网络,可能已经部署了 Microsoft 的 Active Directory。FreeNAS 可以使用 Microsoft Active Directory(Windows 2000/2003)的用户数据库来验证用户名和密码,从而无需在本地定义用户。

当使用 Active Directory 时,FreeNAS 服务器将使用该目录来验证以下服务的用户:CIFS、FTP、SSH 和 Unison。

注意

Windows 2000 之前

FreeNAS 被视为 Windows 2000 之前的客户端,因此 Active Directory 必须配置为兼容 Windows 2000 之前的版本。

假设 Active Directory 已安装并正在运行:

  1. 1. 转到 访问:Active Directory

  2. 2. 勾选表格标题栏中的启用复选框。

  3. 3. 在 AD 服务器名称 字段中输入 Active Directory 服务器名称。例如,我的测试网络上的 Windows Server 2003 服务器名为 WS2003,所以我输入了 WS2003。

  4. 4. 在 AD 服务器 IP 字段中输入 Active Directory 服务器的 IP 地址。

  5. 5. 输入 Active Directory 的域名。此格式为 Windows 2000 之前的格式。

  6. 6. 输入域管理员账户的用户名(可能是 Administrator)和密码。

  7. 7. 最后,点击 保存

要检查 FreeNAS 是否能够与 Active Directory 正常通信:

  1. 1. 转到 诊断:信息

  2. 2. 点击 MS 域 标签。

这将测试连接到 Active Directory。

成功的测试将如下所示:

测试与 MS 域的可访问性:

net rpc testjoin 的结果:

加入 'FREENAS' 成功

Ping winbindd 查看它是否正常:

成功 ping 通了 fd 4 上的 winbindd

检查共享密钥:

通过 RPC 调用检查信任密钥成功

配置完 Active Directory 后,CIFS、FTP、SSH 和 Unison 的身份验证将 依赖于 Active Directory 中的账户信息。

当配置 Active Directory 以供使用时,CIFS/SMB 的身份验证方式会自动更改为

要检查这一点,请进入 服务:CIFS/SMB,并注意 身份验证 现在已设置为

为了测试 Active Directory 的使用,尝试通过 CIFS、FTP 或 SSH 连接到 FreeNAS 服务器,并使用来自 Active Directory 的账户信息。

系统管理员

一些系统管理员的常见管理任务:

如何更改 Web GUI 用户名和密码

当你首次安装或启动 FreeNAS 服务器时,它有一个默认的用户名和密码,用于访问 Web GUI。这些分别是adminfreenas。如果你的 FreeNAS 处于一个可能被其他人访问并修改设置的环境中,无论是恶意的还是偶然的/出于好奇心的,建议你更改密码,甚至可能需要更改用于访问 Web GUI 的用户名。

要更改密码,请进入系统:常规并点击密码标签。输入当前的 Web GUI 密码(可能是freenas),然后输入新的密码两次,第二次用于确认,以确保你输入的字符正确。现在点击保存

一旦保存,你将自动被要求重新登录。此时,输入用户名(可能是admin),然后输入你刚刚设置的新密码。

注意

选择一个好密码

注意

你需要选择一个强密码,这意味着一个难以猜测的密码。

最好选择一个你能记住的密码,这样你就不需要写下来或把它留在显眼的地方。

但避免使用字典中的完整单词或名字。

密码包含的字符越多,被猜测的难度就越大。通常,一个较长但简单的密码比一个短且复杂的密码更安全;它还有一个优点,那就是更容易记住。

使用大小写字母、数字和标准符号(! @ # $ % ^ & *)的组合。FreeNAS 的 Web GUI 密码区分大小写,这意味着大写字母 Z 与小写字母 z 是不同的。

不要使用你的生日、孩子或宠物的名字、你的电话号码等。个人信息很容易被别人猜到。

避免使用明显的密码,如 "123456"、"test" 或 "password"。

你还可以将默认用户名从admin更改为你选择的其他名称。要更改,请进入系统:常规并在用户名字段中输入新用户名。点击保存以应用更改。系统会要求你重新登录,这时你需要输入新的用户名。

重启和关机

可以通过 Web 界面关机和重启 FreeNAS 服务器。在 Web 界面中,重启和关机的方式非常相似。要重启,请进入系统:重启,要关机,请进入系统:关机

重启/关机有两种类型,立即(现在)或计划的。要立即重启或关机,请进入相应页面,并在确定吗?的问题上点击。点击后,系统将开始关机/重启。

对于计划的重启或关机,请点击计划标签。

重启和关机

重启和关机是通过选择重启或关机的分钟、小时、日期和月份来安排的。这是一个重复的事件,您还可以选择一周中的某一天,而不是一个月中的某一天进行重启。

要启用计划的重启或关机,请勾选启用框并选择您希望重启或关机的时间。例如,要在每周日的下午 4:35 重启服务器,您需要选择:

  • 从分钟部分选择 35

  • 从小时部分选择 16(记住这是 24 小时制)

  • 从星期几中选择星期日

  • 天数和月份将保持为空

如何设置服务器的主机名

您的 FreeNAS 服务器有一个名称,称为主机名。此名称唯一标识该服务器。如果您的网络中有多个 FreeNAS 服务器,您需要更改主机名,以确保每个主机名都是唯一的。

要更改主机名,请进入系统:常规,并在主机名字段中输入一个新的主机名。如果您在一个也使用 Internet 域名进行身份识别的网络环境中部署 FreeNAS,您还可以在域名字段中输入一个域名(例如:yourcompany.com)。

配置 Web 界面使用 HTTPS

HTTPS(超文本传输协议安全套接层)是一种通过加密连接让您的网页浏览器连接到 FreeNAS 服务器的方式。如果您的 FreeNAS 服务器处于一个可能被人“窃听”网络的环境中,导致密码被发现,那么最好使用 HTTPS。如果您的网络配置使得 FreeNAS 可以从互联网进行管理(可能通过防火墙),这也是必需的。这样做可以在 FreeNAS 服务器与负责管理它的人之间的物理位置不同的情况下非常有用。

要启用 HTTPS,请进入系统:常规,然后在WebGUI 协议字段中勾选 HTTPS 复选框。在点击保存后,您需要重启服务器以使更改生效。

重启后,您现在可以通过以下方式连接到 Web GUI:

https://192.168.1.250 

请注意,网址现在以https开头,而不是之前的http。连接到服务器后,您的浏览器几乎肯定会告诉您此安全连接的证书由一个未知的机构签发。它会询问您是否可以信任该服务器。不要惊慌,这并不是问题。接受证书并继续。根据您的浏览器,您可能能够永久接受该证书,以免在未来收到警告。现在,您可以像往常一样登录。

注意

当一个网页浏览器通过 HTTPS 连接到一个安全网站时,网页服务器会向浏览器提供一个证书来标识自己。这个证书包含了关于证书所有者的唯一且经过认证的信息。为了确保这些信息是正确的,需要一个第三方来担保该证书并声明它是可信的。这个第三方被称为证书颁发机构(CA),它们验证证书所有者的身份,并建立信任。如果它们说这个证书有效,那么我相信它们。

网页浏览器预先编程了一个证书颁发机构(CA)的接受列表,当它们看到一个不在该列表中的 CA 时,浏览器会询问该证书是否可信。

FreeNAS 使用的是自签名证书,这意味着它为自己担保。对于一个接受在线支付的主要网站来说,这会是一个问题,但对于 FreeNAS 来说,这是可以接受的,因为这里所需要的不是服务器的信任,而是安全通信的能力。一旦你接受了证书,基于证书中的一些信息,与 FreeNAS 服务器的安全通信就会开始。

更改 Web 界面端口

有时候,将 Web 服务器端口从默认值 80(HTTPS 为 443)更改为其他端口是有用的。例如,如果你想通过互联网管理你的 FreeNAS 服务器,并且需要在防火墙中配置转发规则,那么将 Web 服务器设置为不同的端口会更方便。

要更改端口号,进入 系统:常规 并在 WebGUI 端口 字段中输入新的端口号。当你更改端口号时,需要重启服务器才能使设置生效。重启后,你需要使用新的 URL:

http ://192.168.1.250:8080

其中,8080 是你选择的新端口号,当然 192.168.1.250 是你的 FreeNAS 服务器的 IP 地址,你需要相应地进行更改。

如何设置 DNS 服务器

FreeNAS 服务器上的一些服务,如网络时间协议服务和发送电子邮件状态报告,要求 FreeNAS 使用 DNS。DNS 是一种将域名转换为 IP 地址的互联网服务。每次你使用域名(例如在浏览器中)时,DNS 就会被用来将该名称转换为相应的 IP 地址。为了找到互联网上的不同服务器,比如邮件服务器,FreeNAS 也需要使用 DNS。

你可以从多个来源确定需要使用的 DNS 服务器:

  • 如果你在公司网络中使用 FreeNAS,你很可能在局域网内有 DNS 服务器。你需要联系你的网络管理员以获取正确的信息。

  • 如果你在家使用 FreeNAS 服务器,那么你的 DNS 可能是你的 ADSL/DSL 调制解调器的地址。

  • 另外,对于家庭用户来说,DNS 服务器可能是你的 ISP 提供的服务器。你需要联系你的 ISP(或搜索他们的网站)以查找应该使用的 DNS 服务器。

如果找不到要使用的 DNS 服务器,可以复制网络中现有机器的设置。例如,要查看 Windows XP、Windows Server 2003 和 Vista 中的 DNS 设置,点击开始,然后选择运行..,输入cmd并按ENTER。命令提示符将会出现。现在输入:

C:\>ipconfig /all 

结果将列出有关您的网络连接的各种信息。在以太网适配器本地连接:部分,将显示 DNS 服务器的信息。

如何设置 DNS 服务器

如何设置网页界面的语言

除了英语外,FreeNAS 网页界面还支持包括:保加利亚语、中文、荷兰语、法语、德语、希腊语、匈牙利语、意大利语、日语、挪威语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛文尼亚语、西班牙语和瑞典语等多种语言。

要更改网页界面的语言,进入系统:常规设置,并从语言下拉框中选择所需的语言。一旦点击保存,语言应该会立即更改,但有时由于浏览器缓存,您可能需要点击网页界面的另一个部分,才能看到语言变化。

日期和时间配置

所有电脑都有时钟并能追踪日期和时间。保持日期和时间正确很重要,原因包括:

  • 文件将标注正确的创建和修改时间戳。

  • 定时重启和关机将在正确的时间进行。

  • FreeNAS 服务器可以作为 Windows 机器的时间服务器。

  • 通过电子邮件发送的定时状态报告将在正确的时间发送,并带有正确的时间和日期。

  • 日志文件将具有正确的时间戳,有助于诊断。

日期和时间可以通过三种方式设置:

  • 在电脑的 BIOS 中设置

  • 通过网页 GUI 设置

  • 配置通过 NTP 进行自动时间调整

时间和日期的配置可以在系统:常规页面上进行设置。

首先需要设置的是时区,这可以通过从时区下拉框中选择来完成。您需要选择离您最近的位置(通常是您所在国家的首都或州首府),例如America/New York。您也可以以更手动的方式选择时区,例如Etc/GMT-1。使用保存按钮应用更改。

如果您需要设置日期和时间,可以选择通过在系统时间字段中输入日期和时间来设置。格式为 mm/dd/yyyy hh:mm。您也可以使用图标从简单的日历小工具中选择日期和时间。值得注意的是,使用这种方法无法设置秒。使用保存按钮应用更改。

您可以选择使用网络时间协议(NTP)自动配置日期和时间。NTP 是一种通过互联网同步计算机时钟的方法。时间服务器通常连接有非常精确的原子钟,并且其他计算机会向其询问时间并相应地设置其时钟。该协议具有特殊的算法,以允许在互联网上传送请求时的延迟。使用此协议,时钟可以准确到秒的小数部分。

要启用 NTP,请勾选 Enable NTP 字段。接下来,您需要输入要使用的时间服务器,pool.ntp.org 是默认设置,对您的用途来说应该足够了。如果您的 FreeNAS 无法访问互联网,则需要在本地网络上找到一个 NTP 服务器。虽然使用一个 NTP 服务器已经足够,但来自 NTP 项目的建议是指定 3 个服务器:

  • 0.pool.ntp.org

  • 1.pool.ntp.org

  • 2.pool.ntp.org

使用空格分隔主机。

注意

pool.ntp.org 项目是一个大型的虚拟时间服务器集群,致力于为数百万客户提供可靠易用的 NTP 服务,而不会给热门的大时间服务器带来负担。

为了分担负载并处理偶尔的宕机服务器,NTP 项目创建了使用 0、1 和 2.pool.ntp.org 名称的随机服务器集合。每个集合中的服务器每小时随机更改。

最后需要设置的是网络时间同步的间隔,单位为分钟。默认设置为 300,即每 5 小时进行一次同步。对大多数需求来说,这应该足够了。

要使 NTP 协议正常工作,确保至少定义了一个 DNS 服务器进行名称解析。有关更多详细信息,请参阅 如何设置 DNS 服务器 部分。

如何禁用控制台菜单

除了初始网络设置外,FreeNAS 服务器主要使用 Web 界面进行大部分配置。然而,即使您不再需要控制台菜单,控制台菜单仍然保持活动状态。这可能会构成安全风险,因为任何有键盘和显示器访问权限的人都可以有意或意外地更改设置。

要禁用控制台菜单,请转到 System: Advanced 并选中 Disable console menu 复选框。点击 Save 后,您需要重新启动以禁用控制台。

如何停止启动和关闭时的蜂鸣声

当 FreeNAS 启动和关闭时,会播放几声悦耳的蜂鸣声以指示其已启动。如果您想要禁用它们,请转到 System: Advanced Setup 页面并勾选 the System Beep 复选框,这将禁用启动和关闭时的扬声器蜂鸣声。

添加预定义的网络主机

在罕见情况下,如果您没有访问 DNS 服务器的权限,但仍想使用 NTP 协议或发送电子邮件状态报告,则需要手动定义 NTP 服务器或电子邮件(SMTP)服务器。您可以在 System: Hosts 页面上进行设置。

要添加一个 NTP 服务器,例如地址为 86.125.34.112,点击添加按钮,然后输入该服务器的主机名和 IP 地址。您还可以添加描述。

添加预定义的网络主机

将服务器重置为出厂默认设置

如果您想将 FreeNAS 服务器重置为其原始安装状态(或 Live CD 启动状态),这通常被称为出厂设置(比喻来说:就是它离开工厂时的设置),那么您可以在系统:出厂设置中执行此操作。

如果您点击,FreeNAS 服务器将恢复到出厂默认设置,并立即重启。整个系统配置将被覆盖。LAN IP 地址将重置为 192.168.1.250,密码将设置为‘freenas’。

注意

值得注意的是,当您将服务器重置为出厂默认设置时,磁盘上的数据不会被触动。这意味着您可以重置服务器,然后重新配置它以找回您的数据。但请非常小心,如果在重新配置阶段您重新格式化了磁盘或应用了与之前不同的配置,那么很可能会丢失数据。

简单网络管理

接口:LAN页面,您可以执行一些有限的网络管理任务,例如为 FreeNAS 服务器定义一个新的 IP 地址,并为服务器定义一个默认网关。

默认网关是网络上另一个设备的 IP 地址,该设备将接受网络流量并将其转发到另一个网络。在家庭环境中,最常见的默认网关类型是由您的互联网服务提供商(ISP)提供的 ADSL/DSL 调制解调器/路由器。调制解调器的工作是将来自家庭网络的流量路由到互联网,反之亦然。

在企业环境中,设置可能相同,或者如果您拥有全面的网络基础设施,默认网关将是一个网络设备,它将您的网络段与其他企业网络连接起来。

您几乎肯定需要设置默认网关,以便为 FreeNAS 服务器提供访问互联网的权限,尤其是当您使用互联网 NTP 服务时。

您需要向您的网络管理员或 ISP 询问默认网关的详细信息。另一个确认默认网关设置的方法是查看您网络中其他计算机上的默认网关设置。

例如,要在 Windows XP、Windows Server 2003 和 Vista 中查找默认网关,请点击开始,然后点击运行..,输入cmd并按回车。命令提示符将会出现。现在输入:

C:\>ipconfig /all 

结果将列出有关您的网络连接的各种信息。在以太网适配器局域网连接:部分,将显示有关默认网关的信息。

简单网络管理

禁用 Bonjour/ZeroConf

默认情况下,FreeNAS 会通过 Zeroconf 协议宣布其提供的服务(如 CIFS、AFP 等)。这使得局域网上的其他计算机可以检测到有提供网络服务的服务器。Zeroconf/Bonjour 被苹果的 OS X 操作系统以及最近的 Linux 发行版所使用。

如果你希望禁用此功能,可以在 系统:高级设置 页面中取消 Zeroconf 选项的勾选。

获取服务器状态信息

FreeNAS 提供了一些优秀的工具来监控服务器的状态。所有这些工具都被归类在左侧菜单栏中的 状态 下。

不同的状态类别包括:

  • 系统: 这是首次连接到 Web 界面时显示的摘要页面。它将告诉你诸如运行的 FreeNAS 版本、服务器的运行时间、使用的内存量和磁盘空间使用情况等信息。

  • 进程: 这将显示一些关于 FreeNAS 服务器上运行的进程的摘要信息,并列出主要的进程。

  • 接口: 这会显示服务器中网络接口的摘要以及它们的流量负载的简单统计数据。

  • 磁盘: 在这里,你可以查看系统中当前配置的磁盘列表,包括每个磁盘的大小、描述和状态。

  • 无线: 这会显示服务器中无线网络接口的摘要以及它们的流量负载的简单统计数据。

  • 图表: 该页面分为两部分,流量图表和 CPU 负载图表。第一个是实时显示网络卡上的流量量,第二个是显示 CPU 使用量。两者都在 2 分钟的时间窗口内工作。

注意

FreeBSD 能够同时运行多个程序,FreeNAS 利用 FreeBSD 的这一多任务处理能力来同时运行 Web 服务器、CIFS 服务器、FTP 等服务。

每个程序或服务作为一个独立的 进程 运行。每个进程会占用系统的 CPU 时间,以及其他系统资源,如内存和磁盘空间。

各种状态页面帮助你监控 FreeNAS 服务器的进程和所使用的资源。

获取服务器状态信息

注意

如果你不熟悉 UNIX 类型系统,进程状态页面的输出可能看起来有点奇怪,以下是一个快速指南:

PID: 每个进程都有一个唯一的进程 ID,称为 PID。

SIZE: SIZE 是进程使用的总内存量,以千字节为单位。

RES: 这是进程实际使用的物理内存量。由于 FreeBSD 会在具有相同值且未被更改的进程之间共享内存区域(称为页面),因此与 SIZE 可能不同。

状态: 这是进程的当前状态(可能是休眠、等待、运行、空闲、僵尸或停止)。

时间: 这是进程使用的系统和用户 CPU 时间,以秒为单位。

WCPU: 这是当时 CPU 的使用百分比。

命令: 是启动该进程的命令行。

通过电子邮件发送状态报告

FreeNAS 具有在预设时间通过电子邮件发送状态报告的功能。要配置这些报告,请转到 状态:电子邮件报告。FreeNAS 不包括电子邮件服务器(SMTP 服务器),因此您需要告诉它使用哪个服务器。如果您是家庭用户,那么将使用由您的 ISP 提供的 SMTP 服务器。对于商业环境,您需要询问网络管理员您的网络中 SMTP 服务器的地址。如果您通过域名地址(例如 mail.myisp.com)访问 SMTP 服务器,则需要确保已配置 DNS,以便 FreeNAS 能够查找邮件服务器的 IP 地址。您也可以在系统:主机中预定义服务器。

如果您的 SMTP 服务器需要身份验证(如果您使用的是 ISP 提供的 SMTP 服务器,几乎可以确定需要身份验证),则勾选 身份验证 框并输入适当的用户名和密码。

接下来,您需要设置邮件的发件人和收件人。收件人电子邮件 需要是您希望接收电子邮件的地址,发件人电子邮件 则是发送邮件的地址。对于 发件人电子邮件,您需要输入一个有效的地址,因为任何邮件投递失败的通知都将发送到该地址。此外,您希望 发件人电子邮件 地址是有效的,以免触发邮件系统中的垃圾邮件过滤。

您可以填写所需的邮件主题行,并微调邮件报告中包含的内容。

最后,您需要定义这些状态消息发送的时间。该表与用于计划重启/关机的表完全相同。消息的发送时间是通过选择希望消息发送的分钟、小时、日期和月份来安排的。这是一个周期性事件,因此,您还可以选择一周中的某一天,而不是选择一个月份的某一天。例如,要在每月的 1 号上午 9:00 发送状态消息,您需要选择:

  • 来自分钟部分的 0。

  • 来自小时的 9。

  • 来自日期的 1。

  • 选择 全部 作为月份。

  • 工作日将保持未使用状态。

总结

在本章中,我们已经探讨了设置 FreeNAS 服务器的不同管理任务,包括用户管理及其对访问协议(如 CIFS 和 FTP)的影响。我们还了解了一些系统管理选项,以及一些简单的管理任务,如关机和重启。

在下一章中,我们将更深入地探讨在 FreeNAS 服务器上配置磁盘,包括设置软件 RAID。

第六章:配置存储

在本章中,我们将学习如何在 FreeNAS 服务器中管理硬盘,并如何配置它们以形成 RAID 集合,提升容错性并提高磁盘性能。

介绍

FreeNAS 服务器的本质是提供一个可以轻松从网络访问的存储。因此,了解 FreeNAS 如何处理存储,或更具体地说,如何处理硬盘,并了解如何配置和使用它们以提供最佳、最可靠的存储对于网络非常重要。在本章中,我们将几乎交替使用存储和硬盘这两个词。技术上讲,硬盘是一种存储设备,除了硬盘,还有许多其他类型的存储,但由于 FreeNAS 主要关注将硬盘用作存储,因此这两个术语有时会显得相似。唯一的例外是当我们讨论 iSCSI 时,因为 iSCSI 允许将远程存储添加到 FreeNAS 服务器,就像它是本地硬盘一样。当然,最终远程存储也是一种硬盘!

FreeNAS 如何处理数据磁盘

如第二章所述,将存储添加到 FreeNAS 服务器是通过 4 个步骤完成的:

    1. FreeNAS 服务器被“告知”了一个物理硬盘。
    1. 该磁盘已格式化。
    1. 结果存储空间被挂载并在内部提供。
    1. 挂载的存储空间通过 CIFS 和 NFS 等服务在网络上提供。

第一步,告知 FreeNAS 服务器可以使用哪些磁盘,是通过“磁盘:管理”来处理的。打开此页面时,您将看到已经配置的磁盘列表,通过点击添加按钮,您可以添加更多磁盘。要添加磁盘,点击添加按钮,您将进入 磁盘:管理:磁盘:添加 页面。

FreeNAS 如何处理数据磁盘

这一页面上最重要的字段是 磁盘 字段,在这里您可以选择要添加到 FreeNAS 配置中的磁盘。您可以通过下拉框选择磁盘。

UNIX 设备名称

在 UNIX 类型的操作系统中,包括 FreeBSD,像硬盘这样的设备通常会以一种略显晦涩的名称来引用,类似于以下形式:

/dev/ad0

其实一旦了解了名称的组成方式,实际上并不那么难。第一部分 /dev 是很简单的,它是服务器上的一个特殊目录,存储着系统中所有设备的信息,dev 是 device(设备)的缩写。因此,所有设备都以 /dev 开头。

第二部分是设备本身。在这里,它可能会稍微复杂一些,但 ad0 代表的是 disk 0,即 BIOS 列表中的第一个硬盘。以下是一些常见设备名称的表格:

Free BSD 设备名称 描述
/dev/ad* ATA 和 SATA 硬盘
/dev/da* SCSI 和 USB 闪存存储
/dev/acd* IDE CD 驱动器
/dev/cd* SCSI CD 驱动器
/dev/fd* 软盘

* 是一个通配符,实际应用中它代表从 0 开始的数字。所以 /dev/da2 是系统中第 3 个(从 0 开始计算)SCSI 硬盘。

注意

RAID 控制器

如果你使用的是硬件 RAID 控制器,连接到它的磁盘不要使用标准的设备名称,而是这些 RAID 控制器会为每个 RAID 集合提供一个虚拟磁盘,使用以 RAID 控制器驱动程序命名的设备。例如,amr 驱动程序(支持 MegaRAID 和部分 Dell 与 Intel 卡的控制器)会将虚拟磁盘呈现为 /dev/amrd*。此外,一些 RAID 卡将其硬盘呈现为 /dev/da* 设备。

添加磁盘

一旦你从下拉框中选择了正确的磁盘,通常可以直接点击 添加 按钮。然而,有一些参数你可以调整,并且如果该磁盘已经格式化并且上面有数据,那么最后一个字段 预格式化文件系统(Preformatted FS) 需要正确设置。

磁盘参数 描述
UDMA 模式 通常情况下,硬盘的接口速度会自动检测。如果你在硬盘上看到 'UDMA_ERROR.... LBA' 的信息,你可以强制设置接口速度(称为 UDMA 模式)。
硬盘待机时间 在最后一次访问后的选定时间后,将硬盘置于待机模式。请不要在闪存设备上使用此功能。
高级电源管理 这允许你在牺牲性能的情况下降低硬盘的功耗。成功与否取决于你的 BIOS 和硬盘。请不要在闪存设备上使用此功能。
声音级别 这允许你设置硬盘在操作时的音量。成功与否取决于你的 BIOS 和硬盘。请不要在闪存设备上使用此功能。
预格式化文件系统(Pre-formatted FS) 这允许你设置已预格式化并含有数据的磁盘的文件系统类型。对于未格式化的磁盘,保持为 '未格式化',然后使用格式菜单进行格式化。

注意

小心不要误删现有数据

如果你已经将现有服务器转换为 FreeNAS 服务器,或者你已经将带有数据的磁盘放入 FreeNAS 服务器中,你需要确保正确设置 预格式化文件系统(Preformatted FS) 字段。除了 FreeBSD 的原生 UFS 格式外,FreeNAS 还支持 FAT32、NTFS 和 EXT2 格式。

一旦你从下拉菜单中选择了磁盘并设置了任何可选参数,你可以点击 添加 按钮。别忘了,你还需要应用这些更改。

磁盘:管理 页面现在会显示你的磁盘(们)以表格形式,包含磁盘名称、大小和文件系统的信息。

下一步是格式化磁盘。

格式化新添加的磁盘

一旦磁盘被 添加 到 FreeNAS 服务器,它需要被格式化。

    1. 转到 磁盘:格式化 页面。
  1. 2. 选择要格式化的磁盘。只有您在磁盘:管理页面中添加的磁盘才能被格式化。如果您要格式化的磁盘没有出现在下拉列表中,请返回磁盘:管理页面,检查磁盘是否已正确添加。

  2. 3. 接下来,您必须选择要在此磁盘上使用的文件系统。默认情况下将选择 UFS,除非您特别需要 FAT32 或 EXT2,否则最好使用 UFS 格式化磁盘。

    注意

    UFS 是最佳选择

    UFS 是 FreeBSD(FreeNAS 底层操作系统)的原生文件格式。尝试使用其他文件格式,如 FAT、FAT32、EXT2、EXT3 或 NTFS,可能会导致不可预见的结果、文件损坏和数据丢失!

  3. 4. 您还可以为磁盘输入一个可选的卷标签,但由于在 FreeNAS 的网页界面中并不使用此标签,因此其实际用途不大。

  4. 5. 将最小空闲空间百分比保持为默认的 8%,因为降低该阈值可能会影响性能和自动碎片整理功能。

  5. 6. 最后一个选项允许您调整磁盘的格式化方式,特别是避免在格式化过程中替换主引导记录(MBR)。通常,这不需要,但某些硬件 RAID 卡将信息存储在 MBR 中。如果您发现磁盘格式化不正确并且使用了硬件 RAID 卡,可以尝试启用此选项进行格式化。

  6. 7. 一旦点击格式化磁盘,系统会询问您是否确定要格式化磁盘。点击确定以继续操作。

格式化磁盘后的输出结果大致如下:

格式化新添加的磁盘

关键是要寻找完成!的评论以及它前面的一长串超级块编号。如果看到这些,那么一切正常。如果格式化因某些原因失败,您会在完成!之前看到错误消息。例如,如果卷标签中不允许使用空格,尝试格式化这样的磁盘时,输出的最后几行将显示:

newfs: bad volume label. Valid characters are alphanumerics.
Done!

挂载您刚格式化的磁盘

格式化磁盘后,您需要在 FreeNAS 服务器内部使其可用。此过程称为挂载磁盘,这是计算机早期时代遗留下来的术语,当时操作员需要在使用磁带或硬盘之前将其挂载到主轴上。挂载磁盘后,它可以在服务器内部使用,只有以前添加格式化过的磁盘才能挂载。

  1. 1. 要挂载磁盘,请转到磁盘:挂载点并点击添加按钮。

    这里有五个重要字段需要填写:类型、磁盘、分区、文件系统名称

    注意

    分区

    对磁盘进行分区意味着将其划分为多个部分。所有磁盘至少需要一个分区,且使用单个分区即表示使用整个磁盘。也可以将磁盘分成多个部分。在 FreeNAS 中,如果你在硬盘上安装了服务器软件,则会创建两个分区,第一个用于操作系统软件,第二个用于数据存储。在挂载磁盘时,你需要知道你想挂载哪个分区。

    默认情况下,FreeNAS 不使用传统的分区方法,即将分区数据存储在主引导记录(MBR)中;相反,它使用 GUID 分区表(GPT),这是英特尔提出的可扩展固件接口(EFI)标准的一部分,用来替代即将过时的 PC BIOS。

    • 类型: 在这里,你可以选择是要挂载磁盘还是 ISO 文件。对于新的物理磁盘,你需要选择磁盘。如果你有一个.iso文件并希望将其内容提供到网络上,选择 ISO 选项将非常有用。

    • 磁盘: 选择你希望挂载的磁盘。这个磁盘将与在磁盘:管理(添加磁盘)和磁盘:格式化(格式化磁盘)中使用的磁盘相同。

    • 分区: 如果你刚刚使用 FreeNAS 格式化了这个磁盘,那么你需要在这里选择 EFI GPT。如果磁盘上已有数据,你需要选择数据所在的分区。如果你已经在某个磁盘上安装了 FreeNAS 并希望将剩余的磁盘空间用于数据存储,那么选择 2。

    • 文件系统: 对于已使用 FreeNAS 格式化的磁盘,你需要选择 UFS。如果你选择了其他文件系统格式或磁盘上已有数据,你需要选择适当的文件系统类型(FAT、NTFS、EXT2 中的一种)。

    • 名称: 每个挂载的磁盘需要一个名称,以便与其他磁盘区分开来。名称中似乎可以使用空格,但为了安全起见,我建议使用一个简单的单词作为挂载点名称。指定的名称将用于在 FreeNAS 服务器上的/mnt目录下挂载磁盘,因此,如果我们使用store2,那么磁盘将被挂载在/mnt/store2,这个名称也将用于通过 CIFS 等共享该磁盘。

    • 描述: 你可以为此挂载点填写一个可选的描述。

    • 只读: 勾选此项将文件系统挂载为只读,即使是管理员账户(超级用户/root)也无法对其进行写操作。

      注意

      使用在旧版本 FreeNAS 下格式化的磁盘

      如果你的磁盘是在 FreeNAS 0.683b 版本之前配置的,那么你需要手动选择 UFS 格式化驱动器或软件 RAID 卷的分区 1。文件系统类型应设置为 UFS。

    1. 填写完所有数据后,点击添加按钮。
    1. 你将看到一个包含 FreeNAS 服务器上已挂载驱动器列表的表格。它们的状态将显示为正在配置
  2. 4. 现在你需要点击应用更改。一旦更改应用成功,新的显示表格应包括新的挂载点,状态为 OK。

在网络上使新磁盘可用

现在,新磁盘已经格式化并挂载,可以通过网络提供使用。为此,启用相应的网络服务,如 CIFS、NFS 和 AFP,如果需要(例如对于 CIFS),将新磁盘添加为共享资源。对于 NFS 和 AFP,所有挂载的驱动器会自动共享。更多细节请参见第四章。

在 FreeNAS 上配置软件 RAID

FreeNAS 具有将磁盘合并的功能,可以选择以串联的方式使用它们(意味着它们被合并在一起,并显示为一个大磁盘),或者将它们一起使用以实现冗余和提高性能(通过将数据分布在多个磁盘上)。将多个磁盘按这种方式组合使用被称为 RAID(廉价冗余磁盘阵列)配置。我们在第三章中详细讨论了 RAID,但为了节省你翻到那一章的时间,下面是一个总结(如果你需要更多详细信息,还是需要回到第三章)。

RAID 是一种将数据分割并复制到多个硬盘上的系统。根据你使用的方案,你的数据将完全或部分地复制到 RAID 集中的其他磁盘上,如果其中一个磁盘发生故障,其他磁盘(含有数据副本的磁盘)继续工作,数据整体保持完整。

FreeNAS 支持几种不同的 RAID 配置,这些配置被称为 RAID 级别:

JBOD(仅为一堆磁盘):这是一种简单的磁盘串联形式,结果磁盘显示为一个大磁盘,并没有尝试将数据分布在两个磁盘上。RAID 磁盘的前半部分数据写入磁盘 1,后半部分数据写入磁盘 2。没有容错机制。

RAID 0(没有冗余的条带集):RAID 0 是一种将两个磁盘结合起来创建一个大磁盘的方式。数据被交替存储在两个磁盘之间,因此它提高了性能,但没有冗余容错。

RAID 1(镜像):这里,使用两个磁盘,其中一个磁盘镜像另一个磁盘的内容。如果其中一个磁盘发生故障,RAID 会继续使用剩余的磁盘。当故障磁盘被替换后,新磁盘将与正常磁盘同步,镜像将像之前一样继续。

RAID 5(带有分布式奇偶校验的条带集):这是最受欢迎且可能是最有用的 RAID 级别之一。它允许你合并多个物理磁盘,同时保持一定的冗余。RAID 5 可以在三个或更多磁盘上使用。如果其中一个磁盘发生故障,数据仍然完好无损。RAID 5 可以在发生一个磁盘故障时继续运行。

RAID 的开始从添加磁盘开始

配置 RAID 集的第一步是在磁盘:管理页面添加磁盘。点击添加圆圈,然后选择你希望成为 RAID 集一部分的第一个磁盘。你可以从可用磁盘的下拉框中选择它。不能使用已经挂载的磁盘。

诀窍是将预格式化 FS字段设置为软件 RAID。这并不立即显现出来,因为磁盘并未预先格式化,实际上,它将在之后格式化,但本质上发生的情况是,该磁盘被标记为可用于软件 RAID 的磁盘。然后,在下一步中,当 RAID 集定义好后,它将出现在可用于 RAID 的磁盘列表中。

RAID 所有从添加磁盘开始 RAIDRADI 5,级别

点击添加,然后点击应用更改。磁盘列表现在会显示已添加的磁盘,但请注意,现在“文件系统”列显示的是 SoftRaid,而不是 UFS。

你需要至少添加两个磁盘才能使用 JBOD、RAID 0 和 RAID 1。对于 RAID 5,至少需要三个磁盘。重复上述步骤以添加其他磁盘。

下一步是将磁盘添加到一起以创建 RAID 集(有时也称为 RAID 数组)。对于所有 RAID 等级,此过程几乎是相同的。

配置 RAID 1

要定义一个 RAID 1 集,转到磁盘:软件 RAID页面。初始页面的标题将显示为磁盘:Geom Mirror:管理 RAID。在页面顶部,有一系列标签可以选择其他 RAID 页面,包括 JBOD、RAID 0、RAID 1 和 RAID 5。

注意

GEOM

GEOM 是 FreeBSD 的磁盘管理系统。GEOM 提供了一个基础设施系统,允许 FreeBSD 开发者轻松编写不同类型磁盘功能的模块。FreeNAS 服务器的 RAID 功能来自 GEOM Concat、Geom Stripe、Geom Mirror 和 Geom Raid5 模块。

要设置镜像,你需要两个磁盘,其中一个将是另一个的镜像,也就是说,如果一个磁盘发生故障,另一个磁盘将顶替它。在从磁盘集中读取数据时,任何一个磁盘都可以用来提取数据,因此读取性能得到了显著提升。

要创建一个 RAID 数组,点击添加圆圈。本质上,要使 RAID1 数组工作,你需要输入一个你选择的数组名称,然后勾选属于该数组的磁盘。最后,点击添加

数组名称应该具有描述性,并且你应该考虑在名称中使用有用的信息,如 RAID 类型和磁盘的大小,因此,两个 80GB 磁盘的镜像可以命名为mirror80gb80gbraid1 等。

此卷的成员字段提供了一个磁盘列表,这些磁盘之前已被添加到系统中,并且预格式化 FS字段设置为软件 RAID。勾选你希望包含在 RAID 数组中的每个磁盘。

注意

混合你的总线

可以在 RAID 阵列中使用 IDE、SCSI 和 SATA 磁盘,并将它们混合使用。在“专业”服务器上,通常有多个 SCSI 卡和磁盘,通过不同的 SCSI 卡来构建阵列。这样做的原因是为了限制系统某一部分的负载。因此,你可能会发现,通过同时使用 SATA 和 SCSI 磁盘,性能有所提升。当然,如果其中一个磁盘的物理速度显著慢于另一个,那么任何性能提升都将被抵消。在这种情况下,瓶颈变成了磁盘本身,而不是它的接口。如果你有快速且昂贵的 SCSI 驱动器,但只有“消费级”SATA 驱动器,那么混合这些磁盘不会提高整体系统速度。

在 RAID1 中,有一个在其他 RAID 配置中不可用的选项,那就是平衡算法(Balance algorithm)。FreeBSD 提供了三种不同的算法来控制如何从镜像集读取数据。

  • 循环读取(Round-robin read):在这里,磁盘轮流读取 RAID 阵列中的数据,因此负载均匀分配到两个磁盘上。

  • 分割请求(Split request):在这里,较大的读取请求被分割成两个请求,一个发送到磁盘 1,另一个发送到磁盘 2。

  • 从最低负载磁盘读取(Read from lowest load):此算法尝试从负载最小的磁盘读取数据。

一般认为,循环平衡算法是最好的。你当然可以尝试其他设置,看看是否能获得任何性能提升。

一旦点击添加,RAID 阵列将开始创建。创建 RAID 阵列不是瞬间完成的,有时可能需要几分钟(甚至几个小时)才能完成阵列设置。别忘了应用更改。磁盘:软件 RAID页面将实时显示阵列的状态。当阵列正在创建时,阵列状态将显示为配置中(Configuring),当阵列完成时,它将显示为完成(COMPLETE)。你需要不断返回磁盘:软件 RAID页面来检查进度。

配置 RAID 1

从此处开始,FreeNAS 将此 RAID 阵列视为一个单一的磁盘。当然,它由两个磁盘组成,但在逻辑上,它现在是一个磁盘。它可以像其他任何磁盘一样进行格式化、挂载和共享。

所以,一旦阵列准备好,下一步就是格式化它。在阵列准备好之前不要尝试格式化它

转到磁盘:格式化页面。在下拉磁盘菜单中找到 RAID 阵列。它将根据你创建阵列时为镜像命名的名称显示,后面跟着其大小,最后是软件 gmirror RAID 1

确保文件系统设置为 UFS,输入可选的卷名称并点击格式化磁盘。确认是否格式化镜像,就像格式化单个驱动器一样,你将看到用于格式化 RAID 阵列的命令输出,并且它应以超级块号码列表和令人安心的完成!结束。

现在,磁盘可以像任何其他磁盘一样挂载。要挂载磁盘,请前往磁盘:挂载点并点击添加圆圈。从下拉菜单中选择磁盘。在格式页面上,它会按照你创建阵列时给镜像命名,后面跟上大小,最后是软件 gmirror RAID 1。确保类型磁盘分区EFI GPT文件系统UFS。输入挂载点的名称并点击添加。应用更改后,你的磁盘现在已经准备好并挂载。它现在可以像之前一样通过 CIFS、NFS 和 AFP 导出到网络。

配置 RAID 5

RAID 5 使用 RAID 0 的条带化技术,但现在阵列中有三个磁盘,并且还存储了校验数据。如果其中一个磁盘发生故障,数据仍然保持完整。配置 RAID 5 集与 RAID 1 非常相似,唯一的区别是 RAID 5 阵列必须至少包含 3 个磁盘。

要定义 RAID 5 阵列,请前往磁盘:软件 RAID页面,并点击RAID 5标签。然后点击添加圆圈。定义 RAID 阵列的页面与 RAID 1 非常相似。输入阵列的名称(记得描述性命名),然后勾选你想要包含在阵列中的磁盘(至少需要 3 个磁盘)。

点击添加 RAID 阵列,开始阵列的创建。应用更改并等待阵列准备好。返回 RAID 5 页面,直到状态显示完成

前往磁盘:格式化页面。在下拉磁盘菜单中找到 RAID 集。它的名称会按照你创建 RAID 5 阵列时给 RAID 5 集命名,后面跟上大小,最后是软件 graid5 RAID 5

确保文件系统设置为UFS,输入可选的卷名称并点击格式化磁盘。确认你要格式化逻辑磁盘,就像格式化单个驱动器一样,你将看到格式化 RAID 集所使用的命令输出,并且应该以超级块编号列表和令人放心的完成!结束。

现在,磁盘可以像任何其他磁盘一样挂载。要挂载磁盘,请前往磁盘:挂载点并点击添加圆圈。从下拉菜单中选择磁盘。在格式页面上,它会按照你创建阵列时给 RAID 5 集命名,后面跟上大小,最后是软件 graid5 RAID 5。确保类型磁盘分区EFI GPT文件系统UFS。输入挂载点的名称并点击添加。应用更改后,你的磁盘现在已经准备好并挂载。它现在可以像之前一样通过 CIFS、NFS 和 AFP 导出到网络。

配置 JBOD 或 RAID 0

JBOD(只是一些磁盘)和 RAID 0(条带集)的配置方式与 RAID 1 非常相似。进入磁盘:软件 RAID页面,点击所需的JBODRAID 0标签。然后点击添加圆圈。定义 RAID 阵列的页面与 RAID 1 非常相似。输入阵列的名称(记得具有描述性),然后勾选你想要包含在阵列中的磁盘。

点击添加 RAID 阵列开始阵列的创建。应用更改并等待阵列准备好。重新访问页面,直到状态显示为完成

进入磁盘:格式化页面。找到下拉菜单中的 RAID 集。它将根据你创建阵列时给 RAID 集命名的方式命名,后面跟着其大小,最后是软件 gconcat JBOD软件 gstripe RAID 0,分别用于 JBOD 和 RAID 0。

现在,逻辑 RAID 磁盘可以像其他任何磁盘一样挂载。要挂载磁盘,进入磁盘:挂载点页面,点击添加圆圈。从下拉菜单中选择磁盘。它将按照格式化页面中的命名方式显示。确保类型磁盘分区EFI GPT文件系统UFS。输入挂载点的名称并点击添加。应用更改,你的磁盘现在已经准备好并被挂载。它现在可以像之前一样通过 CIFS、NFS 和 AFP 导出到网络中。

嵌套 RAID 配置

嵌套 RAID 配置

除了标准的 RAID 级别外,还可以通过将一个逻辑 RAID 磁盘与另一个逻辑 RAID 磁盘结合在一个新的 RAID 阵列中来创建混合级别。这有时被称为嵌套 RAID 级别。

例如,你可以将两个磁盘配置为 RAID 1 镜像,然后将另外两个磁盘配置为第二个 RAID 1 镜像。这两个镜像集可以与 RAID 0 结合,形成一个新的条带 RAID 集。

RAID 级别有很多可能的组合,其中一些最常见的组合是 RAID 1+0、RAID 0+1、RAID 5+0 和 RAID 5+1。

有时,这些混合 RAID 级别会去掉加号,因此 RAID 1+0 变成 RAID 10,RAID 5+1 变成 RAID 51,依此类推。

注意

倒着阅读 RAID 级别

理解每个 RAID 级别的最简单方法是倒着阅读 RAID 级别,因此 RAID 1+0 是一个 RAID 0 阵列,其上面是 RAID 1 集合。或者,理解这一点可能有助于你通过从左到右阅读,逐步进入嵌套的 RAID 树,最底层的 RAID 级别操作的是实际的硬盘。

配置 RAID 1+0

RAID 1+0 是一个镜像条带,意味着有两个(或更多)RAID 1(镜像)阵列,这些阵列在 RAID 0 条带集中组合在一起。

  1. 1. 要在 FreeNAS 中创建 RAID 1+0 集,您至少需要 4 个硬盘。按照上面配置 RAID 1部分描述的方式创建两个 RAID 1 镜像集(我将其称为 mirror1 和 mirror2),但不要格式化或挂载 RAID 数组。

  2. 2. 转到磁盘:格式页面,并选择mirror1。将文件系统更改为软件 RAID并格式化磁盘。输出将简短而简单:

Erasing MBR and all partitions.
Formating disk.
Done!

发生的事情是,RAID 1 镜像集 mirror1 目前已经标记为软件 RAID 的磁盘(尽管是逻辑磁盘)。

  1. 3. 重复 mirror2 的过程。

  2. 4. 现在,返回到磁盘:软件 RAID页面。在RAID 1选项卡上,将列出两个镜像集。单击RAID 0选项卡,然后单击添加圆圈。

这卷的成员字段中的第一件事是,现在列出了另外两个附加的磁盘:

mirror1 (, Software gmirror RAID 1)
mirror2 (, Software gmirror RAID 1)

在它们上面,会有另外 4 个驱动器,这些驱动器用于创建这两个镜像集。同时注意到它们变灰且无法勾选以包含在另一个 RAID 设置中,这当然是正确的,因为它们已经用于 mirror1 和 mirror2。

  1. 5. 输入 RAID 设置的名称,比如raid10,然后勾选mirror1mirror2以将它们包含在 RAID 阵列中。点击添加并应用更改。

  2. 6. 一旦 RAID 形成,其状态将显示为UP。一旦 RAID 1+0 为UP,它可以像任何其他磁盘一样格式化和挂载。

  3. 7. 转到磁盘:格式页面。在下拉磁盘菜单中找到 RAID 1+0 集。它将根据创建数组时给予 RAID 设置的名称(raid10)命名,后跟其大小,最后是软件 gstripe RAID 0

  4. 8. 现在逻辑 RAID 1+0 磁盘可以像任何其他磁盘一样挂载。要挂载磁盘,转到磁盘:挂载点并点击添加圆圈。从下拉菜单中选择磁盘。它将与格式页面中的命名相同。确保类型磁盘,分区为EFI GPT文件系统UFS。输入挂载点的名称,然后点击添加。应用更改,您的磁盘现在已准备好并已挂载。现在可以像以前一样通过 CIFS、NFS 和 AFP 导出到网络。

配置 RAID 0+1

RAID 0+1 是两个条带集的镜像。与 RAID 1+0 的主要区别在于 RAID 0+1 创建一个次要条带集来镜像第一个条带集。RAID 1+0 设置可以处理两个磁盘故障,只要它们位于同一条带集中,换句话说,镜像配置的整个一侧可以失败,而镜像仍将继续工作。

创建 RAID 0+1 配置类似于 RAID 1+0 设置,最好在进行本操作之前已经阅读了该部分。

  1. 1. 要创建 RAID 0+1 集,需要像配置 JBOD 或 RAID 0章节描述的那样创建两个 RAID 0 集。让我们称这些为 raid0araid0b。创建完集后,需要在 磁盘:格式 页面上将它们格式化为软件 RAID。

  2. 2. 现在,回到 磁盘:软件 RAID 页面。在 RAID 0 选项卡上,将列出这两个 raid0 集。在 RAID 1 选项卡上,点击添加按钮。

此卷的成员 字段中将列出两个 RAID 0 集,raid0araid0b

  1. 3. 输入 RAID 集的名称,假设为 raid01,然后选中 raid0araid0b 以包含它们在 RAID 阵列中。点击 添加 并应用更改。

RAID 形成后,其状态将显示为 已完成。现在可以像任何其他磁盘一样格式化和挂载它。

  1. 4. 转到 磁盘:格式 页面。在下拉磁盘菜单中找到 RAID 0+1 集。它将根据您在创建阵列时给出的名称(raid01)命名,并按其大小和最后按 软件 gmirror RAID 1

  2. 5. 现在,逻辑 RAID 0+1 磁盘可以像任何其他磁盘一样挂载。要挂载磁盘,转到 磁盘:挂载点 并点击添加按钮。从下拉菜单中选择磁盘。它将按照格式页面中的名称命名。确保 类型磁盘,分区EFI GPT文件系统UFS。输入挂载点名称,然后点击 添加。应用更改,您的磁盘现在已准备就绪并已挂载。现在可以像以前一样使用 CIFS、NFS 和 AFP 导出到网络。

配置 RAID 5+0

RAID 5+0 是 RAID 5 集的条带化,意味着有两个(或更多)RAID 5(带奇偶校验的条带)阵列,并且这些阵列组合在一个 RAID 0 条带集中。构建 RAID 5+0 阵列至少需要 6 块磁盘。

  1. 1. 要创建 RAID 5+0 阵列,必须首先创建两个 RAID 5 集,例如称为 raid5araid5b。这在 配置 RAID 5 章节中有描述。不要将它们格式化为 UFS 磁盘。

配置 RAID 5+0

  1. 2. 转到 磁盘:格式 页面,选择 raid5a。将 文件系统 更改为 软件 RAID 并格式化磁盘。输出将简短而简单:
Erasing MBR and all partitions.
Formating disk.
Done!

RAID 5 集 raid5a 现在被标记为一个磁盘(虽然是逻辑磁盘),准备在软件 RAID 集中使用。

  1. 3. 重复 raid5b 的过程。

  2. 4. 现在,返回到 磁盘:软件 RAID 页面。在 RAID 5 选项卡上,将列出这两个 RAID 集。现在转到 RAID 0 选项卡,然后点击添加按钮。

注意,在 此卷的成员 字段中,现在列出了两个额外的磁盘:

raid5a (, Software graid5 RAID 5)
raid5b (, Software graid5 RAID 5)

在它们上方将是您用来创建这两个 RAID 5 集的其他 6 个驱动器。

  1. 5. 输入 RAID 集的名称,例如 raid50,然后选中 raid5araid5b 以包含它们在 RAID 阵列中。点击 添加 并应用更改。

  2. 6. 一旦 RAID 阵列形成,其状态将显示为UP。当 RAID 5+0 阵列显示为UP时,就可以像其他磁盘一样进行格式化和挂载。

  3. 7. 进入磁盘:格式化页面。在下拉磁盘菜单中找到 RAID 5+0 阵列。它将按照你在创建阵列时为 RAID 阵列设置的名称(raid50),后面跟着大小,最后是Software gstripe RAID 0

  4. 8. 现在,逻辑 RAID 5+0 磁盘可以像其他磁盘一样进行挂载。要挂载磁盘,进入磁盘:挂载点并点击添加圆圈。从下拉菜单中选择磁盘。它将按照格式化页面中的名称命名。确保类型磁盘,分区EFI GPT,文件系统为UFS。输入挂载点的名称并点击添加。应用更改后,磁盘现在已经准备好并成功挂载。它现在可以像之前一样通过 CIFS、NFS 和 AFP 导出到网络。

配置 RAID 5+1

RAID 5+1 阵列是两个 RAID 5 阵列的镜像。这样的配置可以承受两个磁盘的故障,只要每个磁盘位于不同的 RAID 5 阵列中,并且多个磁盘故障发生在同一个 RAID 5 阵列内。

配置 RAID 5+1 与 RAID 5+0 阵列非常相似,在继续操作之前,你应该先熟悉配置 RAID 5+0部分。

  1. 1. 和 RAID 5+0 一样,你必须首先创建两个 RAID 5 阵列,例如命名为raid5araid5b。这部分内容在配置 RAID 5中有描述。请不要将它们格式化为 UFS 磁盘。

  2. 2. 进入磁盘:格式化页面,选择raid5a。将文件系统更改为Software RAID并格式化磁盘。RAID 5 阵列raid5a现在被标记为磁盘(尽管是逻辑磁盘),可以用于软件 RAID 阵列。对raid5b重复相同的过程。

  3. 3. 现在返回磁盘:软件 RAID页面。在RAID 5标签页下,将列出这两个 RAID 阵列。然后点击RAID 1标签页,并点击添加圆圈。

请注意,在该卷的成员字段中,现在列出了另外两个磁盘:

raid5a (, Software graid5 RAID 5)
raid5b (, Software graid5 RAID 5)

在它们上方将会显示你用来创建这两个 RAID 5 阵列的其他 6 个磁盘。

  1. 4. 输入 RAID 阵列的名称,比如raid51,然后勾选raid5araid5b,将它们包含在 RAID 阵列中。点击添加并应用更改。

  2. 5. 一旦 RAID 阵列形成,其状态将显示为UP。当 RAID 5+1 阵列显示为UP时,它可以像其他磁盘一样进行格式化和挂载。

  3. 6. 进入磁盘:格式化页面。在下拉磁盘菜单中找到 RAID 5+1 阵列。它将按照你在创建阵列时为 RAID 阵列设置的名称(raid51),后面跟着大小,最后是Software gmirror RAID 1

  4. 7. 现在,逻辑 RAID 5+1 磁盘可以像其他磁盘一样挂载。要挂载该磁盘,前往Disks: Mount Point并点击添加按钮。通过下拉菜单选择磁盘。它将按格式页面中的名称显示。确保TypeDisk,PartitionEFI GPT,并且File systemUFS。输入挂载点名称并点击Add。应用更改后,磁盘即已准备好并挂载。现在,可以像以前一样通过 CIFS、NFS 和 AFP 将其导出到网络。

RAID 10+0 及更高版本

由于任何 RAID 阵列都可以格式化为软件 RAID,并且该逻辑磁盘可以在另一个 RAID 阵列中使用,因此嵌套 RAID 级别的排列组合是无穷无尽的,尽管并不总是有用。从技术上讲,可以创建镜像的镜像(RAID 1+1)或三个镜像集的 RAID 5(RAID 15),或两个 RAID 15 阵列的条带(RAID 150——两个包含三个镜像集的 RAID 5 阵列),依此类推。

另一种流行的 RAID 格式是所谓的 RAID 10+0 或 RAID 100。RAID 10+0 是两个 RAID 10 阵列的条带。它通常通过在硬件 RAID 10 上实现软件 RAID 0 来实现。使用 FreeNAS,只需通过软件就能实现它。

对于复杂的 RAID 阵列,硬件 RAID 和软件 RAID 的结合非常强大,并且可以通过不同的接口卡分担负载。无论你需要什么样的 RAID,FreeNAS 几乎都能满足!

iSCSI 发起器

将存储添加到 FreeNAS 服务器的另一种方式是通过 iSCSI。在第四章中,我们介绍了 FreeNAS 服务器如何作为 iSCSI 目标,即可以通过 iSCSI 发起器(客户端)访问的远程硬盘。我们还展示了如何通过 iSCSI 连接一个 FreeNAS 服务器到另一个 FreeNAS 服务器,并将目标服务器的存储像本地存储一样使用。

FreeNAS 中的 iSCSI 技术不仅限于在 FreeNAS 服务器之间工作。FreeNAS 服务器还可以连接到 Windows、Linux 和 Solaris iSCSI 目标。通过这种方式,你可以通过 SCSI over IP 扩展 FreeNAS 服务器的存储容量。

为了演示 FreeNAS 服务器如何使用 iSCSI 连接到其他平台,我们将以 Windows 为例。

Windows 有几种不同的 iSCSI 解决方案,包括一个名为 Windows Storage Server 的 Windows 服务器特别版本。然而,Windows Storage Server 是 Windows 的 OEM 版本,无法供消费者购买。但也有其他适用于 Windows 的 iSCSI 解决方案。Rocket Division Software 公司(www.rocketdivision.com)提供了一款名为 StarWind 的免费 iSCSI 目标解决方案(仅供个人使用)。它允许你创建 RAM 磁盘和镜像文件,并将它们作为 iSCSI 目标提供。

要在 Windows 上使用 StarWind 测试 FreeNAS,您需要下载并安装 StarWind 软件。使用文档熟悉 StarWind 软件,然后创建一个名为istore的 iSCSI 目标。这可以是一个 RAM 磁盘或镜像文件。

注意

使用 Windows 上的 iSCSI 软件时需要注意的一点是,您可能需要在 Windows 防火墙中显式打开 3260 端口,以确保连接正常工作。

要在 FreeNAS 上配置 iSCSI 发起者,您需要:

  1. 1. 在 FreeNAS 发起者服务器上,进入磁盘:管理页面,并点击iSCSI 发起者标签。然后点击添加按钮。

  2. 2. 输入 iSCSI 磁盘的名称,例如iSCSI0。这个名称并不重要,因为它仅供参考(在 iSCSI 协商过程中并不会使用)。

  3. 3. 对于发起者名称,输入:iqn.1994-04.org.netbsd.iscsi-initiator:freenas

  4. 4. 对于目标名称,输入:istore,这是您在 StarWind 中创建的目标名称。

  5. 5. 输入 Windows 目标服务器的 IP 地址,然后点击添加

  6. 6. 现在返回磁盘:管理页面。点击添加按钮,并从磁盘下拉菜单中选择 iSCSI 设备。它应显示类似如下内容:

da0: 16MB (ROCKET RAM DISK 16 MB 0001)

da0: 2048MB (ROCKET IMAGEFILE 0001)

  1. 7. 以正常方式添加磁盘并应用更改。

  2. 8. 现在,可以从磁盘:格式页面格式化磁盘,并像我们在第二章的快速入门指南中所做的那样,在磁盘:挂载点:管理页面上挂载它。

之后,您将能够通过选择的任何协议使用该磁盘,包括 CIFS、NFS、AFP 和 FTP。

总结

在本章中,我们已经探讨了 FreeNAS 如何处理磁盘,以及如何将这些磁盘结合使用来创建 RAID 阵列,这些阵列相比单独使用磁盘提供了容错能力和更好的性能。

在下一章中,我们将讨论可以与 FreeNAS 服务器一起使用的不同备份策略。

第七章. 备份策略

现在您已将数据存储在 FreeNAS 服务器上,并且可以通过 PC、Mac、Linux 或 UPnP 设备访问它,是时候考虑备份了。在本章中,我们将探索多种备份 FreeNAS 服务器数据的选项,包括使用 RSYNC 备份到第二个本地磁盘以及远程计算机。

从某个角度来看,FreeNAS 服务器不支持磁带或光盘(DVD 或蓝光)备份是一个弱点。但从另一个角度来看,这是正常的,因为网络附加存储的本质是可以通过网络访问的。所有操作,包括配置、管理和数据访问,都是通过网络进行的。因此,备份也是通过网络进行的。

进行基于网络的备份有两种主要策略。第一种是直接从远程服务器或工作站启动备份到磁带、压缩文件档案(如 ZIP 或压缩的 tar 文件)或光盘。在这种情况下,数据从 FreeNAS 服务器(通过 CIFS、NFS 或 AFP)提取并写入备份存储(磁带、硬盘或光盘存储)。第二种选择是在 FreeNAS 服务器内部复制数据。在这种情况下,数据仍然保留在 FreeNAS 服务器上,但存储在第二个磁盘或 RAID 集合中。

使用 Windows XP 内置的备份工具备份您的 FreeNAS

Windows XP 自带备份程序,要启动它,请点击开始,指向所有程序,指向附件,指向系统工具,然后点击备份

Windows XP 家庭版

如果您使用的是 Windows XP 专业版,Windows 备份工具应该已经准备好使用。如果您使用的是 Windows XP 家庭版,您需要按照以下步骤安装该工具:

1. 将 Windows XP 光盘插入驱动器,如果需要,请在我的电脑中双击光盘图标。

2. 在“欢迎使用 Microsoft Windows XP”屏幕上,点击执行附加任务

3. 点击浏览此 CD

4. 在 Windows 资源管理器中,双击ValueAdd文件夹,然后是Msft,接着是Ntbackup

5. 双击Ntbackup.msi以安装备份工具。

  1. 1. 默认情况下,备份工具会以向导模式启动,如果您对手动配置备份有信心,可以选择进入高级模式。在这里,我们将使用向导模式以便简化操作。

  2. 2. 第一个向导问题是您想做什么?,指的是进行备份或恢复文件。默认选项应该是备份文件和设置,这正是你想要的,所以只需点击下一步

  3. 3. 现在您可以选择要备份的内容。备份程序主要用于备份本地计算机,但它也可以用于备份网络共享。选择最后一个选项让我选择要备份的内容,然后点击下一步

使用 Windows XP 内置备份工具备份您的 FreeNAS

  1. 4. 下一步是选择要备份的项目。在左侧面板中,你可以从 我的电脑、我的文档 以及 我的网络位置 中选择文件,这些都是你需要备份 FreeNAS 服务器的内容。点击 我的网络位置 旁边的小加号 +,这将展开 我的网络位置 树。在这里,FreeNAS 服务器上的可用共享将被列出。勾选你想要备份的每个共享。使用第二章快速入门指南中的示例配置,其中有一个名为 store 的共享。勾选 store 旁边的框,进行备份。

使用 Windows XP 内置备份工具备份 FreeNAS

  1. 5. 点击 下一步 进入 备份类型、目标位置名称 页面。在这里,你可以指定备份数据的存储位置。如果你想使用磁带驱动器,备份工具会在 选择备份类型 框中提供一些选项。如果你没有磁带驱动器,那么默认的备份类型将是 文件。默认情况下,备份工具会建议将所有内容保存到软盘驱动器。这显然不是一个理智的选择,因此点击 浏览 并选择你希望保存备份的位置。

    你可以将备份存储到多个位置:

    • 计算机的硬盘。你需要确保本地硬盘足够大,能容纳备份数据。

    • 共享网络驱动器。你可以将 FreeNAS 服务器备份到另一个网络服务器,甚至是另一个 FreeNAS 服务器。需要注意的是,这种方式可能不是最有效的,因为很可能这个中间的 Windows XP 机器可以从流程中移除,剩下的两台机器(FreeNAS 服务器和另一个网络服务器)可以直接通信进行备份。

    • 外部硬盘驱动器。USB 2.0 和 FireWire 驱动器已经变得非常便宜,而且驱动器的存储空间现在是以 TB 为单位。添加外部硬盘并将其用作备份解决方案既实用又便宜。

    注意

    Windows XP 中的内置备份程序不支持将备份存储到光盘驱动器,如 DVD 或 Blu-ray 光盘。如果你需要这些功能,你需要探索一些其他的免费或商业备份程序。

  2. 6. 最后一步是为备份输入一个名称。像往常一样,要具有描述性。点击 下一步 显示向导的最后页面,然后点击 完成 立即开始备份。

设置定期备份与 XP 内置的备份工具

XP 内置的备份工具也有一些高级选项,包括定期备份的计划安排功能。

  1. 1. 要安排备份,请按照上面描述的步骤开始备份,但当你进入备份向导的最后页面时,不要点击 完成,而是点击 高级 按钮。

  2. 2. 高级选项的第一页是备份类型页面。在这里,你可以选择希望进行的备份类型,包括完全备份(正常)或差异备份。如果不确定,请保留正常(但请注意,这样会每次调度备份时都创建一个完整的 FreeNAS 数据备份)。如果只想备份自上次正常备份以来创建或更改的文件,请选择差异备份

  3. 3. 点击下一步进入如何备份页面。

注意

备份类型

以下是不同类型的备份:

正常备份——正常备份会复制所有选定的文件,并将每个文件标记为已备份(换句话说,归档属性会被清除)。使用正常备份时,只需要最新的备份文件或磁带就可以恢复所有文件。通常,在第一次创建备份集时,会执行正常备份。

差异备份——差异备份会复制自上次正常备份或增量备份以来创建或更改的文件。它不会标记文件为已备份(换句话说,归档属性不会被清除)。如果你进行正常备份和差异备份的组合,恢复文件和文件夹时,需要有最后一次正常备份以及最后一次差异备份。差异备份与正常备份结合使用,是不需要每次备份时都创建完整数据备份的最简便方式。

复制备份——复制备份会复制所有选定的文件,但不会将每个文件标记为已备份(换句话说,归档属性不会被清除)。复制备份在正常备份和增量备份之间进行时非常有用,因为复制不会影响这些其他备份操作。

每日备份——每日备份会复制当天所有已修改的选定文件。备份后的文件不会标记为已备份(换句话说,归档属性不会被清除)。

增量备份——增量备份只会备份自上次正常备份或增量备份以来创建或更改的文件。它将文件标记为已备份(换句话说,归档属性会被清除)。如果你使用正常备份和增量备份的组合,你将需要有最后一次正常备份集以及所有增量备份集才能恢复数据。

  1. 4. 在此页面上,您可以勾选框以在备份完成后验证备份数据。验证备份能为您提供额外的保障,确保备份操作正确,但会延长备份的时间。如需验证数据,请勾选备份后验证数据,然后点击下一步。在备份选项页面,保持选择将此备份追加到现有备份中并点击下一步。在使用增量备份或差异备份时,建议不要选择替换现有备份选项,因为先前的备份对于恢复文件至关重要,以防将来需要恢复。

  2. 5. 在何时备份页面上,选择稍后而不是立即。为此备份任务输入一个名称(例如 FreeNAS 夜间备份),然后点击设置计划..

  3. 6. 现在,您可以为备份设置不同的时间间隔,包括每日、每周和每月。下图显示了设置为每天凌晨 12:05 进行备份,周末除外的配置。

使用 XP 内置备份工具设置计划备份

  1. 7. 点击确定以退出调度页面,然后点击下一步。系统可能会要求您输入将执行此任务的用户的用户名和密码。最好输入管理员的用户名和密码。

  2. 8. 在最终总结页面,点击完成以计划备份任务。

注意

移除计划的备份

如果您希望删除之前设置的备份任务,请进入控制面板并双击计划任务。在这里,您可以删除备份任务。

使用 XP 内置备份工具恢复 FreeNAS 备份

一旦您完成了备份,了解如何在最坏的情况下恢复它是很重要的。

  1. 1. 启动备份程序,并在向导的第一页选择恢复文件和设置

  2. 2. 点击下一步,然后双击右侧窗格中列出的备份文件名。

  3. 3. 要进行完整恢复,请勾选所有列出的备份集,然后点击下一步

  4. 4. 要选择性恢复某些文件,请展开不同的备份集并找到您要恢复的文件。勾选文件或文件夹旁的小框,然后点击下一步

    使用 XP 内置备份工具恢复 FreeNAS 备份

  5. 5. 在总结页面上,点击完成,恢复将开始。

注意

默认情况下,文件将恢复到其原始位置,在此情况下为 FreeNAS 服务器。如果您希望将文件恢复到其他位置,请在总结页面点击完成之前,点击高级。在那里,您可以指定一个不同的恢复位置,并且控制恢复的执行方式(例如,是否覆盖文件等)。

备份 FreeNAS 配置文件

在讨论备份时,同样需要提到备份配置文件。这一点很重要,原因有两个:

  • 在执行升级时,建议始终备份你的配置信息,以防升级过程中出现问题,并且希望恢复到之前正常的状态。

  • 如果你需要重新安装 FreeNAS 软件(无论出于何种原因,包括硬件故障),那么通过恢复配置文件,新的安装可以在几秒钟内配置成和旧的安装完全相同的状态。

配置备份

要备份你的配置,进入系统:备份/恢复页面。该页面分为两部分:一部分用于备份,另一部分用于恢复。要备份配置,点击下载配置。FreeNAS 服务器将把配置文件发送到你的网页浏览器。然后,浏览器会询问你是否希望保存该文件。你应将文件保存到硬盘上。配置文件的文件名格式为config-- .xml,例如:config-f6862a.local-20080304150414.xml

什么是 XML?

XML 代表可扩展标记语言,它是一种通用规范,用于创建简单且非常灵活的文本文件,这些文件描述了不同类型的数据。之所以叫做可扩展,是因为它允许用户定义自己的元素。在 FreeNAS 中,它用于存储有关系统的所有信息。

以下是 FreeNAS 配置文件的一个片段:

<interfaces>
<lan>
<ipaddr>192.168.1.251</ipaddr>
<subnet>24</subnet>
<gateway>192.168.1.254</gateway>
</lan>
</interfaces>

由于 XML 相对容易阅读,我们可以看到这个示例涉及 FreeNAS 服务器的网络组件,我们可以相对容易地找到 IP 地址、子网掩码和默认网关。

恢复配置

要恢复配置文件,点击浏览..按钮,找到你希望恢复的.xml配置文件。然后,点击恢复配置。FreeNAS 配置文件将被恢复,之后 FreeNAS 服务器将重启。

使用另一个 FreeNAS 服务器作为备份服务器

显然,一个非常有用的选项是使用第二台 FreeNAS 服务器作为主 FreeNAS 服务器的备份。有两种可能的方法来实现这一点:

  • 使用内建的 Windows 备份软件

  • 连接两个 FreeNAS 服务器

第一种方法已在上一节中介绍,方法是我们在 FreeNAS 备份服务器上创建 FreeNAS 主服务器的备份。

第二种方法的好处是,如果第一台机器的硬件出现故障,第二台机器可以迅速接替故障机器的位置。为了在主服务器和备份机器之间传输数据,我们将使用 RSYNC。

RSYNC 是一种网络协议,专门用于执行网络备份。RSYNC 通过网络创建数据的精确副本,但为了节省网络带宽,它内置了一个算法,只复制与原文件不同的部分。这使得它高效且有效。

在开始之前,你需要设置第二台 FreeNAS 服务器。你需要按照设置 FreeNAS 服务器的常规步骤进行操作:

  • 刻录一张 CD 并从中启动(并可选择安装到硬盘)

  • 配置网络

  • 配置存储(无论是 RAID 还是简单的磁盘)

现在,在主 FreeNAS 服务器上,你需要配置 RSYNC 服务器。

  1. 1. 转到服务:RSYNCD并启用 RSYNC 守护进程。你可以保留其余设置不变。

  2. 2. 点击模块标签。

  3. 3. 在 RSYNC 中,谈论模块类似于 CIFS 中的共享。要让其他人访问你 FreeNAS 服务器上的特定区域,你需要为其创建一个模块。点击添加圆圈以添加一个新模块。

有 3 个必填字段:名称、评论和路径:

  • 名称—这是模块的标签,将由 RSYNC 客户端用来识别这个特定的共享资源。

  • 评论—这是模块的描述,例如:销售材料。这里有一个好的评论对于调试和解决问题至关重要。

  • 路径—这是通过 RSYNC 共享的存储路径。其格式为/mnt/storagename,其中存储名称是你在磁盘部分配置的磁盘或 RAID 阵列的挂载点名称。点击路径部分末尾的...。这将打开一个简单的文件系统浏览器。点击所需的挂载点(例如 store),然后点击确定,你将返回到 RSYNC 模块页面。现在,挂载点(例如/mnt/store/)已经作为路径添加了。

  1. 4. 为了额外的安全性,你可以将访问模式设置为只读,这样可以确保该模块不能被其他 RSYNC 客户端写入。一旦 RSYNC 服务器配置完成,任何网络上的 RSYNC 客户端都可以访问这些文件。为了防止意外发生,最好将其限制为只读。

  2. 5. 剩下的选项可以保留默认设置。

  3. 6. 点击添加并应用更改。

使用另一台 FreeNAS 服务器作为备份服务器 FreeNAS 配置文件配置,恢复

现在,在 FreeNAS 备份服务器上,我们需要创建一个 RSYNC 客户端。客户端将连接到服务器并复制本地存储中的文件。每次运行 RSYNC 客户端时,它将把主服务器上的数据备份到备份服务器。由于 RSYNC 算法的特性,只有已更改的数据会被复制,从而减少了复制文件的开销。

  1. 1. 要创建 RSYNC 客户端,请转到备份服务器上的服务:RSYNCD

  2. 2. 点击客户端标签。

  3. 3. 点击添加圆圈以创建一个新客户端。

    客户端:添加页面,有 4 个必填字段;本地共享、远程 RSYNC 服务器、远程模块名称和同步时间:

    • 本地共享—这是从主 FreeNAS 服务器复制文件的本地存储。它需要足够大,以容纳从主服务器复制过来的所有文件。其格式为/mnt/storagename,其中存储名称是你在磁盘部分配置的磁盘或 RAID 集的挂载点名称。点击路径部分末尾的...,将弹出一个简单的文件系统浏览器。点击所需的挂载点(例如 backup),然后点击确定,你将返回到 RSYNC 模块页面。现在,挂载点(例如 /mnt/backup)已被添加为路径。

    • 远程 RSYNC 服务器—这是主 FreeNAS 服务器的 IP 地址。地址将采用点分十进制表示法,例如 192.168.1.250。

    • 远程模块名称—这是你在主 FreeNAS 机器的 RSYNC 服务器的模块页面中配置的标签或模块名称。你需要在此准确输入你在该处输入的名称。

    • 同步时间—客户端运行以在预定时间同步备份服务器与主服务器。这些同步是通过选择希望同步发生的分钟、小时、天和月来安排的。由于这是一个重复事件,你可以选择备份发生的时间、日期和星期几。例如,要在每周一至周五的凌晨 12:05 AM 备份,你需要选择:

      • 从分钟部分减去 5

      • 从小时中减去 0(记住它是 24 小时制)

      • 从星期几中选择星期一至星期五

      • 天和月将保持为 ALL

      注意

      使用CTRL点击(或者在 Mac 上是 Command-click)来选择和取消选择分钟、小时、天、月和星期几。

  4. 4. 你还可以设置可选参数删除发送方不存在的文件。选中此项意味着,如果主 FreeNAS 服务器上的文件被删除,则同步发生时备份服务器上的文件也将被删除。这样做的负面影响是,如果主服务器上的文件被删除,它将永久丢失(除非你也使用其他类型的备份系统),因为它也会从备份服务器上删除。需要注意的另一点是,如果文件未被删除,备份数据的大小将不断增加,即使主服务器上的文件被删除,它也不会减少。

  5. 5. 现在点击保存并应用更改。

就这样,当下一个同步间隔到来时,两个服务器应该会自动同步。

调试你的 RSYNC 设置

如果你的备份计划每天执行一次,验证备份是否发生可能是一个漫长的过程。每次输入简单的错误时,你都需要等待 24 小时才能检查备份是否已执行。这可能会非常令人沮丧。你可以做几件事来确保 RSYNC 配置正确。

为了缩短等待时间,你可以将备份临时安排在几分钟后执行。然后,当你确认备份正常工作时,你可以安排你希望的备份时间。

在备份服务器上,可以检查 RSYNC 客户端是否能够与主 FreeNAS 服务器上的 RSYNC 服务器通信,并且模块是否可见。进入诊断:信息并点击RSYNC 客户端标签。在这里,每个配置过的 RSYNC 客户端将会列出,并显示其配置参数。最有用的信息是此服务器上检测到的共享部分。在这里,RSYNC 客户端已经联系了服务器并请求模块列表。可用的模块将列出。

如果模块列出并且特别是备份服务器所需要的模块可用,那么你就知道配置是正确的。

调试你的 RSYNC 设置

在主服务器上,有一个 RSYNC 活动的日志文件。这将帮助你检查备份是否正在进行。进入诊断:日志并点击RSYNCD标签。默认情况下,日志底部显示的是最新的条目。你需要查找类似于下面的内容:

3 月 4 日 12:35:00 rsyncd[3545]:来自 UNKNOWN (192.168.1.252) 的连接

3 月 4 日 12:35:00 rsyncd[3545]:来自 UNKNOWN (192.168.1.252) 的存储同步

3 月 4 日 12:35:00 rsyncd[3545]:正在构建文件列表

3 月 4 日 12:35:00 rsyncd[3545]:发送 673 字节,接收 70 字节,总大小 3998023

这表明已经建立了连接(在这个例子中是从我的备份服务器),并且启动了store模块的同步。最后一行显示了网络流量的大小,在这个例子中,由于没有需要同步的更改,流量很小。

RSYNC 内部备份

与两台 FreeNAS 服务器使用 RSYNC 同步数据类似,FreeNAS 也有一个选项,可以使用 RSYNC 在同一 FreeNAS 服务器内部从一个硬盘到另一个硬盘同步数据。这被称为本地 RSYNC 同步。要使用此功能,你需要至少两块硬盘或 RAID 阵列(源和目标),并且它们都需要配置并挂载。

要启用此功能,进入服务:RSYNCD并点击本地标签。然后点击添加按钮来配置新的本地同步。你需要填写三个字段来配置同步:源共享、目标共享同步时间:

  • 源共享—这是需要备份的数据的挂载点。格式为/mnt/storagename,其中存储名称是你在磁盘部分配置的磁盘或 RAID 阵列的挂载点名称。点击路径部分末尾的...,这将弹出一个简单的文件系统浏览器。点击所需的挂载点(例如 store),然后点击OK。你将被带回到 RSYNC 模块页面。现在,挂载点(例如 /mnt/store/)已作为路径添加。

  • 目标共享—这是你希望数据被复制到的挂载点。格式为/mnt/storagename,其中存储名称是你在磁盘部分配置的磁盘或 RAID 阵列的挂载点名称。点击路径部分末尾的“...”这将弹出一个简单的文件系统浏览器。点击所需的挂载点(例如 backup),然后点击OK,你将被带回到 RSYNC 模块页面。现在,挂载点(例如 /mnt/backup/)已作为路径添加。

  • 同步时间—程序按计划时间运行,以同步两个存储区域。这些同步是通过选择希望它们发生的分钟、小时、日期和月份来安排的。由于这是一个周期性事件,你可以选择备份的时间、日期和星期几。

调试你的内部 RSYNC 设置

与基于网络的 RSYNC 进程一样,如果你的备份是每天安排一次,验证备份是否发生可能是一个漫长的过程。你可以做几件事来确保你的 RSYNC 配置正确。

确保备份正常工作的方法是将第一次备份安排在几分钟后。然后,当你确认备份正常工作时,可以安排你希望的备份时间。

你还可以在日志文件中检查 RSYNC 活动。为此,请转到诊断:日志并点击RSYNCD标签。默认情况下,最新的条目会显示在日志底部。查找类似以下内容的条目:

3 月 4 日 14:48:00 root: 本地 RSYNC 从 /mnt/store2/ 到 /mnt/backup/ 开始

3 月 4 日 14:48:00 root: 本地 RSYNC 同步从 /mnt/store2/ 到 /mnt/backup/ 结束

为了将其与基于网络的 RSYNC 活动区分开,注意第一行写着本地 RSYNC 开始,然后列出了源和目标。不幸的是,没有更多的信息,但你可以看到同步完成的时间。在这个特定示例中,它是在不到 1 秒的时间内完成的,但没有需要执行的同步,并且文件数量有限。

镜像与传统备份

如果您使用 RSYNC(或 RAID),是否需要进行其他类型的备份?这是一个重要问题,简单的回答是:是的,您需要。使用 RAID 或镜像备份(通过 RSYNC)的主要优势在于您可以避免硬件故障的风险。在 RAID 的情况下,如果某个磁盘发生故障,服务器会继续运行,磁盘更换后,系统恢复如初,数据不会丢失。当数据在另一台服务器上进行镜像时,如果主服务器出现故障,数据仍然完整保存在另一台服务器上。

然而,RAID 和 RSYNC 并不能保护您免受人为错误的影响。场景是这样的:您有一份重要的文件,被某人不小心删除了。该文件的唯一副本存在于 FreeNAS 服务器上。如果您使用 RAID,那么文件在被删除的瞬间会从 RAID 阵列中的所有磁盘上被删除。如果您使用镜像备份,那么在镜像副本被删除之前,您有一个短暂的窗口期。这些备份方式没有历史记录,无法回到过去找到某个文件的特定版本或已删除的文件。

离线备份到磁带或光盘的优势在于,一旦备份完成,磁带或光盘可以存放在架子上(最好是保险箱里),当您在 1 个月或 1 年后需要该备份时,它仍然在那里,且数据完好(前提是您在备份时验证了其完整性)。

除了 RAID 和 RSYNC 镜像备份外,您还应该考虑进行其他类型的离线备份,像本章前面所述的使用 Windows XP 内置的备份工具备份您的 FreeNAS的过程那样。市面上有许多商业和免费程序可以帮助您完成这一操作。

总结

在本章中,我们已经讨论了为您的 FreeNAS 服务器提供的不同备份策略。由于它是面向网络的,因此备份也必须通过网络进行。我们介绍了如何使用 Windows XP 备份服务器,并使用 RSYNC 在远程服务器和另一块硬盘上创建数据副本。

在下一章中,我们将讨论高级系统配置。

第八章:高级系统配置

如果你到目前为止已经完成了本书中的所有内容,你几乎已经成为 FreeNAS 方面的专家。只需再学习几个知识点,你的培训就会完成。本章将介绍一些高级系统配置内容,如磁盘加密、添加交换空间以及调整 FreeBSD。

磁盘加密

如果你在 FreeNAS 服务器上存储的数据属于敏感性质(例如军事、医疗、金融或其他机密数据),那么在服务器可能落入不当之手的情况下,考虑使用加密来保护数据是值得的。

如果安全性对你来说是重中之重,那么加密磁盘上的数据只是你应采取的几项措施中的一项。举例来说,如果你的建筑物或建筑物内的人(例如员工)没有严格的安全措施,那么加密硬盘的意义就不大。某些人(无论是内部人员还是外部人员)可以通过网络访问你的数据,复制敏感数据,然后将其通过电子邮件发送到几乎任何地方。加密硬盘并不能阻止这种情况发生。

FreeNAS 提供了对整个磁盘进行强加密的功能。如果服务器被盗,罪犯将很难访问磁盘上的数据。

通常,向 FreeNAS 服务器添加新磁盘的步骤如下:

  1. 1. 在 磁盘:添加 中添加磁盘。

  2. 2. 在 磁盘:格式化 中格式化磁盘。

  3. 3. 在 磁盘:挂载点 中添加挂载点。

添加新加密磁盘的步骤几乎与添加普通磁盘相同,唯一不同的是在第 1 步和第 2 步之间需要新增一个创建加密卷的步骤。新的操作流程为:

  1. 1. 在 磁盘:添加 中添加磁盘。

  2. 2. 使用先前添加的磁盘在 磁盘:加密 中创建加密卷。

  3. 3. 在 磁盘:格式化 中格式化磁盘。

  4. 4. 在 磁盘:挂载点 中添加挂载点。

请注意,加密卷的创建发生在磁盘格式化之前。这是因为 FreeNAS 使用的加密方式非常底层。它不是基于文件的(意味着每个文件都被单独加密),而是基于扇区的,这意味着写入硬盘的每一条信息(包括目录名等)都会被加密。

注意

你真的需要加密吗?

加密你的数据实际上增加了数据丢失的可能性。你的数据更有可能因为加密配置错误或丢失密钥而丢失,而不是因为被盗。加密硬盘没有密码恢复系统。如果密码丢失、遗失、忘记或持有者无法访问,那么数据实际上就丢失了。

在 FreeNAS 中加密磁盘

如果你正在加密一个之前存有数据的磁盘,重要的是在使用该磁盘进行加密之前完全擦除所有旧数据。因为当磁盘为加密初始化时,旧数据并不会被物理覆盖,因此如果磁盘被盗并进行分析,旧数据仍然可以在硬盘的扇区级别访问。不幸的是,FreeNAS 没有提供此功能,你需要将磁盘从 FreeNAS 服务器中移除,并在其他机器上进行安全擦除。

要加密磁盘,首先要确保它已经通过磁盘:添加页面添加到系统中。然后,转到磁盘:加密

点击添加圆圈以添加一个新的加密磁盘。添加加密磁盘时有四个参数:

  • 磁盘— 选择你想要加密的磁盘。它必须是整个磁盘,而不能是磁盘的分区。这意味着你不能加密安装了 FreeNAS 的第一个分区上的磁盘的第二个分区。此外,该磁盘必须先在磁盘:添加中添加。

  • 加密算法— 你可以选择三种不同的加密算法来加密你的数据。如果不确定,建议使用 AES,因为它是美国政府使用的标准加密方法,经过广泛分析,现在已在全球范围内使用。

  • 密码短语— 密码。每当磁盘在 FreeNAS 服务器上挂载时(通常是在重新启动后),需要输入密码才能解锁加密驱动器。使用一个强且安全的密码对于确保磁盘加密的有效性至关重要。不要使用你的生日或女儿的名字!

  • 初始化— 如果该磁盘以前从未作为加密磁盘使用过,则需要初始化并为加密过程做好准备。除非这是一个以前是加密磁盘的磁盘,否则需要勾选此框,才能将其添加回 FreeNAS 服务器。

注意

初始化磁盘将导致该磁盘上的所有数据丢失。

在从下拉框中选择磁盘并选择一个算法后,你需要输入一个不可猜测的强密码,并勾选初始化框。然后点击添加。磁盘将被准备好并进行加密。输出结果如下所示:

Encrypting '/dev/ad1'... Please wait!
Calculating number of iterations...
Done, using 38638 iterations.
Metadata value stored on /dev/ad1.
Done.
Attaching provider '/dev/ad1'.
Attached to /dev/ad1.
Done.

让人放心的完成,告诉你一切顺利。最好还是双重检查输出,以确保没有错误。

现在磁盘已设置为加密状态,可以像其他磁盘一样使用。你可以格式化它、挂载它,并通过 CIFS、NFS、AFP 等共享它。

重新启动时输入密码

由于该卷已加密,因此需要密码才能解锁并访问它。每当 FreeNAS 服务器重新启动时,在输入密码之前,加密卷将无法访问。

系统启动后,前往磁盘:挂载点。你会看到一个错误,因为 FreeNAS 无法在没有密码的情况下挂载加密卷。

重新启动时输入密码

现在前往磁盘:加密。加密卷的状态为未附加。要输入密码,请点击工具标签。选择加密磁盘名称下拉列表中的加密磁盘,然后选择命令附加(这应该是默认的)。现在输入密码并点击发送命令! 输出应该类似于以下内容:

Attached to /dev/ad0.
Done.
Mounting device.
Successful.

如果你输入了错误的密码,输出可能会是这样的:

Wrong key for ad0.

点击管理标签,磁盘状态现在将显示为已附加。最后,返回到磁盘:挂载点并检查挂载点状态是否为OK。如果不是,请点击重试(强制 FreeNAS 重新挂载磁盘),然后它应该显示为OK

加密工具

当 FreeNAS 服务器重新启动时,需要输入密码以解锁卷。为此,你需要使用磁盘:加密中的工具标签(参见上面的重新启动时输入密码)。以下是对加密磁盘可以执行的其他操作的概述。

如何解锁加密磁盘——附加和拆卸

附加和拆卸是 FreeBSD 中的技术术语,表示解锁和锁定。附加意味着提供的密码将用于打开磁盘并设置必要的解密参数。一旦成功附加,磁盘就可以像其他硬盘一样使用。拆卸是相反的操作。在这里,磁盘被锁定,没有正确的密码数据无法访问。要拆卸一个已附加的磁盘,从加密磁盘名称下拉列表中选择已附加的加密磁盘,选择命令拆卸,然后点击发送命令!

如何更改加密磁盘的密码——setkey

保持在磁盘:加密页面的工具标签,你可以通过使用 setkey 命令来更改加密磁盘的密码。从加密磁盘名称下拉列表中选择加密磁盘,然后选择命令setkey。现在输入旧密码和新密码,然后点击发送命令! 输出只是一个简单的完成

注意

系统不会要求你确认新密码。如果你在输入新密码时犯了错误,所有数据将丢失,因为你无法解锁磁盘。

检查加密磁盘的状态——list 和 status

要获取有关加密驱动器的简单状态信息,你可以使用statuslist命令。

status简单列出哪些驱动器被加密,实际上可能甚至不会告诉你它们的状态!以下是一个示例输出:

Name Status Components
ad0.eli N/A ad0

list 命令更加详细。一个示例输出会是:

Geom name: ad0.eli
EncryptionAlgorithm: AES-CBC
KeyLength: 128
Crypto: software
UsedKey: 0
Flags: NONE
Providers:
1\. Name: ad0.eli
Mediasize: 10262568448 (9.6G)
Sectorsize: 512
Mode: r1w1e2
Consumers:
1\. Name: ad0
Mediasize: 10262568960 (9.6G)
Sectorsize: 512
Mode: r1w1e1

Geom name:告诉你加密硬盘的名称。它将是磁盘设备的名称(比如第一个 IDE 硬盘是 ad0),后面跟着.eli,在我们的例子中是:ad0.eliEncryptionAlgorithm:告诉你使用的是哪种算法(在此情况下是 AES),而KeyLength:告诉你加密的强度。

提供者和消费者是加密过程的两个端点。在 FreeBSD 术语中,这意味着物理硬盘(ad0)和伪设备(ad0.eli),后者是加密后的硬盘。当 FreeBSD 写入硬盘的伪版本(ad0.eli)时,加密软件应用其算法,并将加密数据写入真实硬盘(ad0)。读取过程则相反;加密数据从硬盘中读取,并传递给解密软件,然后再传递给更高层次。

高级硬盘参数(S.M.A.R.T)

自监测、分析与报告技术(Self-Monitoring, Analysis, and Reporting Technology,简称 S.M.A.R.T)是一个用于监测硬盘的系统,报告涉及硬盘可靠性的各种特征。理论上,监控这些特征应有助于预测硬盘故障。根据硬盘制造商 Seagate 的说法,机械故障(通常是可以预测的故障)占硬盘故障的 60%。

不是所有硬盘都具备 S.M.A.R.T 功能,不同的制造商测量不同的特征,并定义不同的故障阈值。实际上,每个硬盘型号根据其制造商设定的规则定义其健康状况。因此,一种硬盘型号在某些特征上可能与另一种硬盘型号有所不同,但两者都被制造商定义为可接受。

每个硬盘的特征或属性有两个值:一个是原始值,其含义由硬盘制造商定义。另一个是标准化值,范围从 1 到 253(其中 1 为最差,253 为最好)。

启用并使用 FreeNAS 的 S.M.A.R.T

在你能在 FreeNAS 服务器上使用 S.M.A.R.T 之前,你需要检查硬盘是否支持 S.M.A.R.T。进入诊断:信息并点击S.M.A.R.T标签页。输出将显示一个磁盘列表(包括 IDE、SATA、SCSI,甚至闪存磁盘),以及所有可用的 S.M.A.R.T 信息。

如果某个特定设备不支持 S.M.A.R.T,输出将简单地显示:

Device does not support SMART

如果设备支持 S.M.A.R.T,它将报告更多关于硬盘的信息,包括型号编号。以下是一个老化的 10GB 量子火球磁盘的示例:

Device Model: QUANTUM FIREBALLlct10 10
Serial Number: 872001057089
Firmware Version: A03.0900
User Capacity: 10,262,568,960 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 4
ATA Standard is: ATA/ATAPI-4 T13 1153D revision 15
Local Time is: Tue Mar 18 21:22:34 2008 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Disabled

这里需要注意的关键是SMART 支持:已启用—设备具有 SMART 功能,但SMART 支持:已禁用

要启用此磁盘的 S.M.A.R.T 监控,进入系统:高级并勾选S.M.A.R.T 守护进程框。这将启用 S.M.A.R.T 守护进程(监控进程)并将状态记录到日志文件中。

现在,如果返回到 诊断:信息 页面,再次点击 S.M.A.R.T 标签,你将看到输出发生了显著变化。第一个不同点是 SMART 支持:已启用。在初步摘要下方,现在有一份关于硬盘可靠性的各项驱动属性的全面列表。

第一行通常是硬盘整体健康状态的报告。如果硬盘健康,它应该显示如下内容:

SMART overall-health self-assessment test result: PASSED

如果整体健康状态被列为“失败”,你需要立即备份硬盘并更换为其他硬盘。

在整体健康检查下方,是一份硬盘特定信息的列表,最终以一份厂商特定的 S.M.A.R.T 属性及阈值清单作为总结。此列表展示了每个属性及其标准化值、该属性在硬盘生命周期中的最差值以及该值的阈值。在查看这些值时,需要记住 1 是最差情况,253 是最好情况。例如:

Vendor Specific SMART Attributes with Thresholds:
ATTRIBUTE_NAME FLAG VALUE WORST THRESH RAW_VALUE
Raw_Read_Error_Rate 0x0029 100 253 020 0
Spin_Up_Time 0x0027 083 081 020 2195
Start_Stop_Count 0x0032 093 093 008 5025
Reallocated_Sector_Ct 0x0033 100 100 020 0
Seek_Error_Rate 0x000b 100 100 023 0
Power_On_Hours 0x0012 090 090 001 6675
Calibration_Retry_Count 0x0013 100 100 020 0
Power_Cycle_Count 0x0032 093 093 008 4740
Read_Soft_Error_Rate 0x000b 100 100 023 0
UDMA_CRC_Error_Count 0x001a 116 116 000 84
Reallocated_Event_Count 0x0010 100 100 020 0
Current_Pending_Sector 0x0032 100 100 020 0
Offline_Uncorrectable 0x0010 100 253 000 0

查看 Raw_Read_Error_Rate,可以看到其标准化值为 100,但原始值为 0。这意味着硬盘上没有读取错误,磁盘制造商已将其标准化为 100。然而,重要的是阈值为 20。因此,如果此硬盘开始出现读取错误,标准化值将开始减少,直到达到 20,此时硬盘的整体健康状态将报告为“失败”。

一个故障硬盘的属性可能如下所示:

ATTRIBUTE_NAME VALUE WORST THRESH WHEN_FAILED
Reallocated_Sector_Ct 136 136 140 FAILING_NOW

请注意,when_failing 列报告硬盘正处于故障过程中。查看标准化值时,我们看到 136,而阈值为 140。记住,数字越低,情况越糟,我们看到这个特定属性刚刚超过了其阈值,因此触发了故障警告。

在 FreeNAS 服务器上,当某个属性超过阈值时,它会在 诊断:日志 页面上的 SMARTD 日志中报告。

下面是一些关键的 S.M.A.R.T 属性列表,如果它们超过阈值,硬盘处于临界状态:

属性 含义
读取错误率 测量在读取磁盘数据时发生的读取错误的速率。
重映射扇区计数 重映射的扇区数量。当硬盘发现某个扇区有错误时,它会将该扇区标记为“重映射”并将数据转移到专用的保留区域。如果重映射扇区的数量增加过多,硬盘开始出现故障。
旋转重试次数 表示旋转启动尝试的重试次数。这是总的重试次数。如果这个数字增加,通常是机械故障的迹象。
不可修正扇区计数 这是读取或写入某个扇区时发生的不可修正错误的总数。如果这个数字开始增加,可能表示硬盘的磁性表面存在问题。

文件系统一致性检查—FSCK

FreeNAS 服务器提供了一个工具来验证磁盘上的文件系统是否健康。这与检查硬盘的 S.M.A.R.T 状态不同,S.M.A.R.T 是硬件级别的,且由磁盘制造商提供支持。然而,FreeBSD/FreeNAS 以特定顺序和使用特殊结构写入磁盘数据,这使得它能够查找文件和文件夹。这种特殊结构被称为文件系统,定期验证文件系统的完整性并确保其没有错误是很重要的。文件系统错误最常发生在 FreeNAS 服务器在没有正确关机的情况下关闭时。这意味着文件系统可能处于一个写操作已排队或缓存但未实际完成的状态。因此,剩下的就是文件系统不一致。FreeBSD 用于检查文件系统一致性的工具叫做 fsck(文件系统一致性检查)。

要运行文件系统一致性检查,请转到磁盘:挂载点并点击Fsck选项卡。首先,您需要从下拉框中选择要检查的磁盘。接下来,您需要决定如何运行文件系统检查。

如果未勾选卸载磁盘/分区,则 fsck 将在只读模式下运行。在此模式下,文件系统会检查错误,但任何错误都只会报告而不会被修复。在忙碌的磁盘上运行文件系统检查可能会降低性能。

如果勾选了卸载磁盘/分区,磁盘将首先被卸载,所有错误将自动修复。在文件系统检查期间,磁盘上的数据将无法提供给网络用户。

fsck 的输出结果将类似于以下内容:

** /dev/ad0p1 (NO WRITE)
** Last Mounted on /mnt/store
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
317 files, 17249 used, 4833873 free (121 frags, 604219 blocks, 0.0% fragmentation)
Successful

注意

大型磁盘和 fsck

根据硬盘的大小,运行 fsck 可能需要几分钟到几小时不等。因此,在大型硬盘上,从 Web 界面运行 fsck 可能会导致超时。fsck 将修复文件系统上的所有错误,但您不会在 Web 界面看到输出。

另外,请注意,fsck 运行时需要大量的 RAM。对于大容量(2TB 或更大)的磁盘,建议至少配备 512MB RAM。

也可以通过命令行运行 fsck 工具。如果在等待命令完成时 Web 界面超时,这对大型硬盘可能很有用。有关更多详细信息,请参阅第十章。

高级操作系统调优

FreeNAS 的底层操作系统是 FreeBSD。像所有复杂的系统一样,FreeBSD 有许多配置参数可以改变其行为。在 FreeBSD 系统的核心部分是其内核,内核可以被“调节”以在某些情况下表现得更好。FreeNAS 开发人员定义了一组可以通过点击鼠标轻松调节的内核参数。这些参数如下:

参数 正常值 调整后的值 含义
net.inet.tcp.delayed_ack: 1 0 这个参数告诉 FreeBSD 尝试在数据包中包含 TCP ACK 信息,而不是发送额外的包来表示连接结束。
net.inet.tcp.sendspace: 32768 65536 这个参数与net.inet.udp.recvspace一起定义了最大网络数据包大小。增大数据包大小可以提高网络性能,但也会增加内存使用。
net.inet.udp.recvspace: 42080 65536 请参见上面。
net.inet.udp.maxdgram: 9216 57344 这是最大外发 UDP 数据报大小。增加它可以改善网络性能,但也会增加内存使用。
net.local.stream.recvspace: 8192 65535 这个和下面的.sendspace 是网络缓冲区的进一步调节。性能可以提高,但内存使用也会增加。
net.local.stream.sendspace : 8192 65535 请参见上面。
kern.ipc.maxsockbuf: 262144 2097152 这是 TCP 套接字两端的最大合并缓冲区大小。随着其他网络相关参数的增加,该值也会增加,从而提升网络性能。
kern.ipc.somaxconn: 128 8192 这个参数控制系统能够处理的同时连接请求数。
kern.ipc.maxsockets: 3072 16424 这个参数控制系统可用的最大套接字数。每个网络连接都需要一个套接字。
kern.ipc.nmbclusters: 3072 60000 这个参数控制系统分配的mbufs数量。mbuf是内核用于网络的内存块。这个值随着其他网络缓冲区的增加而增加。
kern.maxfiles: 1064 65536 系统在任何时候可以打开进行读取或写入的最大文件数。
kern.maxfilesperproc: 957 32768 这是单个进程可以打开的最大文件数。

启用内核调优会带来两件事情。首先,FreeNAS 服务器的性能可能会提高;其次,FreeNAS 服务器的内存使用量也会增加。如果你的系统有足够的内存(256MB 或更多),并且服务器面临较重的网络流量,尝试启用内核调优。

要启用它,请转到系统:高级并勾选调优框。点击保存以应用更改。

调整网络设置

FreeNAS 服务器有几个高级部分用于控制网络。第一个是为机器中每个网络安装的全局网络配置,第二个是向网络路由表添加静态路由的能力。

MTU、设备轮询、速度和双工

接口:LAN页面(其中 LAN 代表默认网络卡),有四个参数可以更改,以提高网络性能。

参数 解释
MTU 最大传输单元(MTU)是您网络中可以发送的最大数据包大小(以字节为单位)。更高的 MTU 意味着更高的带宽效率。对于 10/100 以太网网络,1500 是允许的最大 MTU。对于千兆以太网网络(支持 Jumbo Frame),9000 是最佳(也是最大)选项。
设备轮询 设备轮询是一种技术,它使系统定期轮询网络设备以获取新数据,而不是依赖中断。这可以减少 CPU 负载,从而提高吞吐量,但代价是稍微增加了转发延迟(设备每秒轮询 1000 次)。并非所有网络卡都支持轮询。
速度 网络卡的速度应该自动选择(自动选择),但如果您发现没有被自动选择,您可以手动选择以下几种:10baseT/UTP、100baseTX、1000baseTX 和 1000baseSX。
双工 如果您的网卡和它所连接的交换机都支持全双工通信(即网卡和交换机可以在发送的同时接收,反之亦然),那么您可以在这里进行设置。

注意

避免双工不匹配

双工不匹配发生在两个连接的设备在不同的双工模式下运行时(一个是半双工,另一个是全双工)。双工不匹配的结果是网络没有完全“断开”,但非常慢。双工不匹配可能是由于错误地手动设置两个连接的网络接口在不同的双工模式下,或者由于将执行自动协商的设备连接到一个手动设置为全双工模式的设备。自动协商设备如果未能协商成功,会假定为半双工。

添加静态路由

如果您使用两个或更多的网卡,有时添加静态路由到网络路由表是有益的。网络路由表定义了每个网络连接的路由去向,换句话说,就是数据流在网络中所走的路径。默认路由在配置默认网关时定义,无论是在控制台菜单中还是在 Web 界面的接口部分。通过定义默认网关,您为所有未指定目标为本地网络的流量创建了默认路径。假设路由器(可以是另一台 PC、一台 DSL 调制解调器或者网络路由器)能够正确地将流量指向目的地。如果您有多个网卡,或者有第二个路由器处理网络中特定部分的流量,添加静态路由来指示 FreeNAS 服务器将该特定网络的所有流量定向到第二个路由器而不是默认网关是有益的。

要添加静态路由,请进入系统:静态路由,然后点击添加圆圈。需要完成三个必填字段:

参数 含义
接口 指定此路由适用的接口。
目标网络 此静态路由的目标网络。
网关 用于到达目标网络的网关。

目标网络的形式为点分地址(或更具体地说,是子网地址,其末尾数字将根据网络掩码变为 0),后面跟着指定的网络掩码,例如 8、16 或 24 分别表示 255.0.0.0、255.255.0.0 或 255.255.255.0。

例如,如果我的 FreeNAS 服务器的 IP 地址是 192.168.1.250,并且有一个除了默认网关之外的路由器,可以将流量路由到 192.168.99.0 网络(意味着所有 IP 地址从 192.168.99.1 到 192.168.99.254 的机器),且该路由器的 IP 地址是 192.168.1.123,那么设置将是:

目标网络:192.168.99.0/24

网关:192.168.1.123

点击添加并应用更改以添加静态路由。

添加静态路由

使用无线网络

如果您有一块 FreeNAS 支持的无线网卡,您可以将其配置为提供无线访问给 FreeNAS 服务器。

要配置无线网卡,请进入接口:管理页面。在这里,您可以配置网卡并设置各种无线参数,例如服务集标识符(SSID)和频道号。您还可以使用有线等效隐私(WEP)来配置无线安全。

添加交换文件

在 FreeNAS 服务器上的一些操作,特别是使用 iSCSI 目标和对大硬盘运行 fsck,要求至少有 256MB 的内存(随机存取内存)。如果系统没有 256MB 的内存,可以使用交换文件临时扩展系统内存。

FreeBSD 将其物理内存分割成称为页面的内存块。交换是将一页内存复制到交换文件的过程,以释放该页面的内存。物理内存和交换文件的总大小就是可用的虚拟内存量。

当系统需要更多内存,而物理内存不足时,交换就变得必要;内核(FreeBSD 的核心)会将较少使用的页面交换出去,并为当前需要立即使用内存的应用程序(进程)提供内存。

然而,交换确实有其缺点。与内存相比,磁盘非常慢。访问磁盘的速度可能比访问物理内存慢几万倍。交换越多,系统的速度就会越慢。

在添加交换文件之前,最好考虑为系统增加更多的内存。

要添加交换文件,请前往系统:高级并点击交换标签。要启用交换文件的使用,勾选标题栏中的启用框。选择你希望用来存放交换文件的磁盘,它会在用于交换的挂载点下拉框中按挂载点名称列出。现在,输入你需要的交换空间大小。256MB 足够用了(注意,你不需要输入 MB,只需输入 256)。

一旦你点击保存,一个名为swap_file的文件将会在指定的磁盘上创建,并用于交换。

为了再次确认你的交换文件配置正确,请前往诊断:信息并点击交换标签。输出应该如下所示:

Swap Status:
Device 512-blocks Used Avail Capacity
/dev/md0 524288 0 524288 0%

这显示当前正在使用一个 256MB 的交换文件(524288 除以 2,因为它以 512 字节块的形式显示,而不是以千字节显示)。目前,所有的交换空间都是可用的,因为没有任何交换空间被使用。

启用安全外壳连接(SSH)

在第九章和第十章中,可能需要连接到 FreeNAS 服务器并使用 FreeBSD 的命令行。命令行通常称为终端或 Shell(以同名的命令行解释器命名)。安全外壳(SSH)是一种通过加密连接在 FreeNAS 上使用命令行的方式,它使你能够在不担心别人窥探网络并窃取密码的情况下使用 FreeNAS 服务器。

默认情况下,SSH 访问是禁用的,要启用它,请前往服务:SSHD并通过勾选配置数据表标题中的启用来启用SSH 守护进程(服务器)。点击保存并重启以启动 SSH 服务器。

默认情况下,SSH 仅允许本地 FreeNAS 用户登录,如果他们被授予了完整 Shell访问权限。前往访问:用户和组。如果你没有创建任何用户,请先创建一个(在创建组后)。创建用户时,确保勾选完整 Shell框。这样 FreeNAS 就会知道该用户可以通过 SSH 连接到服务器并访问命令行。有关用户管理的更多细节,请参见第五章。

如果你已经创建了一个用户,并希望授予其 完全 Shell 访问权限,那么点击用户名旁边的 编辑 按钮(一个圆圈中的“e”字母),勾选 完全 Shell 属性。点击 保存 来存储新设置并应用更改。

在 FreeBSD 中,有两类用户,一类是普通用户,权限有限(例如无法停止或启动服务),另一类是管理员,在 FreeBSD 中称为 root。Root 是一个超级用户,可以对服务器执行任何操作。

允许 Root 登录

在故障排除和使用 FreeBSD 时,最有用的用户是 root。默认情况下,root 用户不允许通过 SSH 登录到 FreeNAS 服务器,因为这可能带来安全风险。要允许 root 登录,请前往 服务:SSHD 并勾选 允许 root 登录。然后点击 保存并重启 来启动 SSH 服务器。

注意

Root 密码

root 密码与 web 界面密码相同,默认情况下是 freenas。如果 web 界面密码发生更改,root 密码也会随之更改。

SSH 身份验证的类型

SSH 有两种身份验证方法。第一种是所谓的 键盘交互式身份验证,简单来说——意味着你输入用户名和密码来登录。第二种是 公钥身份验证,这里使用一种叫做公钥加密的系统,使远程 SSH 客户端能够在没有密码的情况下登录到 FreeNAS。

在公钥加密中,有两个密钥,分别是私钥和公钥。公钥加密的魔力在于,你可以自由地(实际上,是鼓励)将你的公钥提供给任何需要它的人。然后,那个人可以使用公钥加密一些信息,一旦加密,只有私钥可以解锁它。拥有你的公钥的人无法解锁用你的公钥加密的信息。

对 SSH 来说,这意味着如果 FreeNAS 拥有你的公钥副本,它可以正确验证你是私钥的持有者。因此,在你与 FreeNAS 服务器之间建立了安全连接,你可以使用命令行,且密码和命令无法被窥视。

要使其与 FreeNAS 服务器正常工作,需要执行以下几个简单步骤:

  1. 1. 需要生成一对公钥和私钥。

  2. 2. 公钥需要被复制到 FreeNAS 服务器。

  3. 3. 你连接到 FreeNAS 服务器,通过使用公钥加密并用私钥解密的数据交换,建立了安全的通信。

以下示例适用于 Apple OS X 和 Linux。如果你使用 Linux,需要确保已安装 OpenSSH 包(大多数 Linux 发行版默认安装)。

首先,需要生成一对公钥和私钥。这可以通过 ssh-keygen 命令完成:

ssh-keygen

输出将类似于以下内容:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/gary/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/gary/.ssh/id_rsa.
Your public key has been saved in /Users/gary/.ssh/id_rsa.pub.
The key fingerprint is:
18:fa:6b:68:c7:9f:49:80:bb:0a:1a:2e:15:86:99:e6 gary@apple-mac.local

在我的 Apple Mac 上,创建了两个文件 id_rsaid_rsa.pub.pub 文件是公钥,可以自由分发。id_rsa 文件是私钥,必须加以保护。在这个示例中,我没有使用密码。这意味着开始解密过程时,不需要输入密码。这样做的好处是客户端的 SSH 程序可以连接到 FreeNAS 服务器,并且无需用户任何输入即可进行身份验证。缺点是,如果有人拿到了你的私钥 (id_rsa),他们也可以毫无障碍地进行相同的操作。因此,建议如果你需要额外的安全性,应该为你的私钥设置密码。

下一步是将你的公钥告诉 FreeNAS 服务器。最好的方法是使用 SCP 程序将其复制到服务器上。SCP 代表安全复制,它是一种通过安全方式将文件从一台机器复制到另一台机器的方法。id_rsa.pub 文件需要被复制到 FreeNAS 服务器上的 /root/.ssh/authorized_keys2 文件中。

主要问题是 /root/.ssh 目录不存在,SCP 无法将文件复制到一个不存在的目录。有几个解决方案,其中最简单的是进入 FreeNAS 控制台(如果需要,按 ENTER 键去掉 logo 并显示菜单)。现在选择 6) Shell。在 # 提示符下输入:

mkdir .ssh

现在,要使用 SCP 将 id_rsa.pub 文件复制到 FreeNAS 服务器上的 /root/.ssh/authorized_keys2 文件中,你需要输入:

scp ~/.ssh/id_rsa.pub root@192.168.1.250:.ssh/authorized_keys2

其中 192.168.1.250 是你的 FreeNAS 服务器的地址。系统会要求你输入 root 密码。

最后一步是使用 SSH 连接到 FreeNAS 服务器:

ssh -l root 192.168.1.250

-l 选项指定登录的用户名(在本例中是 root),而 192.168.1.250 是 FreeNAS 服务器的 IP 地址。

当你连接后,你会看到类似这样的内容:

Last login: Wed Mar 19 14:20:52 2008 from 192.168.1.249
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.
freenas:~#

总结

在这一章节中,我们已经探讨了包括磁盘加密、S.M.A.R.T 和 SSH 访问等高级系统配置。

下一章节将讲解故障排除,帮助你解决最常见的 FreeNAS 问题。

第九章。一般故障排除

我们所有人都有过这样的经历:有时我们的计算机无法按照预期工作,我们需要寻找并解决它们的问题。故障排除可能会非常耗时,特别是如果你对所使用的软件或系统经验有限时。本章是关于如何解决 FreeNAS 服务器问题的指南。它涵盖了在哪里查找问题的信息,以及如何通过系统化的方式排查问题。它还讨论了人们常遇到的 FreeNAS 服务器问题,包括网络问题和 RAID 问题。

查找日志信息的位置

每当你遇到 FreeNAS 配置问题时,首先应该查看相关的配置部分,检查是否按预期进行了配置。如果经过仔细检查设置后,问题依然存在,下一步就是查看 Web 界面中诊断部分的日志和信息文件。

注意

保持诊断部分展开

默认情况下,Web 界面中诊断部分的菜单树是折叠的,这意味着菜单项不可见。要查看菜单项,你需要点击“诊断”一词,菜单树将展开。在初始设置过程中,如果你进行大量故障排除,可以通过让诊断部分始终展开来节省点击次数。要设置此选项,请转到“系统:高级”并勾选 导航 - 保持诊断在导航中展开 复选框。

诊断部分包含五个小节,前两个是关于 FreeNAS 服务器状态的日志和信息页面。其他三个是网络诊断工具和信息。

诊断:日志

本节将 FreeNAS 服务器生成的所有不同日志文件整理到一个方便的地方。有多个标签,每个标签对应不同的服务日志文件类型。有些信息可能非常技术性,特别是在“系统”标签中。然而,通过一些关键信息,它们可以变得更易读。标签如下:

标签 含义
系统 当 FreeBSD(FreeNAS 的底层操作系统)启动时,这里记录了有关服务器硬件的各种日志条目以及启动过程中的各类信息。
FTP 这显示了 FTP 服务器上的活动,包括成功的登录和登录失败的记录。
RSYNC RSYNC 服务器的日志信息(参见第七章)分为三个部分:服务器、客户端和本地。根据你感兴趣的 RSYNC 操作类型,点击相应的标签。
SSHD 在这里你将找到来自 SSH 服务器的日志条目,包括一些有限的启动信息以及登录和登录失败尝试的记录。
SMARTD 这个标签记录了 S.M.A.R.T 守护进程的输出。有关 S.M.A.R.T 的更多细节,请参见第八章。
Daemon 任何其他较小的系统服务,如内置的 HTTP 服务器、Apple 文件协议服务器和 Windows 网络服务器(Samba),都会将信息记录到此页面。
UPnP 这里显示的是 FreeNAS UPnP 服务器“MediaTomb”的日志信息。日志记录可能会非常详细,因此阅读时需要特别注意。不要被类似“INFO: Config: option not found:”这样的条目分心,因为这只是服务器记录它将使用该特定属性的默认值。
设置 设置标签允许你更改日志信息的显示方式,包括排序顺序和显示的条目数。

注意

什么是守护进程?

在 UNIX 术语中,守护进程(Daemon)是一个系统服务。它是一个在后台运行的程序,执行某些任务。FreeNAS 中的守护进程不与用户进行交互(通过显示器、鼠标和键盘),因此需要一个地方来记录其活动的结果(或问题)。FreeNAS 中的守护进程在 FreeBSD 启动时自动启动,有些守护进程依赖于在 Web 界面中启用。

理解诊断—日志:系统

所有日志页面中最复杂的是系统日志页面。在这里,FreeBSD 记录有关系统、硬件和启动过程的信息。刚开始时,这个页面可能会让人觉得有些吓人,但稍加帮助后,这个页面可以非常有用,特别是在追踪硬件或驱动程序相关问题时。

注意

50 条日志条目可能不够

在“诊断:日志”页面上,默认显示的日志条目数量是 50\。在大多数情况下,这个数量是足够的,但有时候它可能不足。例如,在“诊断:日志:系统”标签中,启动过程中产生的日志条目总数超过了 50\。如果你想查看 FreeBSD 识别了多少系统内存,你不会在标准的 50 条条目中找到它。解决方法是增加“诊断:日志:设置”标签中的显示的日志条目数参数。

学习如何读取“诊断:日志:系统”页面的最佳方式是通过示例,下面是几种不同的日志条目示例,包括关于 CPU、内存、磁盘和磁盘控制器的日志:

kernel: FreeBSD 6.2-RELEASE-p11 #0: Wed Mar 12 18:17:49 CET 2008 

第一个条目显示了 FreeNAS 服务器的起源。它基于 FreeBSD,在这个特定的案例中,我们看到这个版本的 FreeNAS 使用的是 FreeBSD 6.2. 计划中(也许已经实现)是将 FreeBSD 7.0 作为 FreeNAS 的基础。

kernel: CPU: Intel(R) Xeon(TM) CPU 1.70GHz (1680.52-MHz 686-class CPU) 

在这里,显示了 FreeBSD 检测到的 CPU 类型。在这种情况下,它是一个运行在 1.7GHz 的 Intel Xeon CPU。

kernel: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs 

如果你的系统有多个 CPU 或是双核机器,那么你将在日志文件中看到一个条目(如上所示)识别第二个 CPU。如果你的机器支持超线程技术,那么第二个逻辑处理器将以这种方式显示:每个核心的逻辑 CPU 数:2

Apr 1 11:06:00 kernel: real memory = 268435456 (256 MB)
Apr 1 11:06:00 kernel: avail memory = 252907520 (241 MB) 

这些日志条目显示了系统检测到的内存大小。实际内存和可用内存之间的大小差异是计算机中实际安装的内存量与 FreeBSD 内核加载后剩余内存量之间的差距。

kernel: atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1050-0x105f at device 7.1 on pci0
kernel: ata0: <ATA channel 0> on atapci0
kernel: ata1: <ATA channel 1> on atapci0 

要让磁盘在你的 FreeNAS 服务器上正常工作,必须有一个磁盘控制器,它可以是标准的 ATA/IDE 控制器、SATA 控制器或 SCSI 控制器。上面是内建在主板上的标准 ATA 控制器的日志条目。你可以看到它是一个英特尔控制器,并且已经识别到两个通道(主通道和次通道)。

kernel: atapci1: <SiS 181 SATA150 controller> irq 17 at device 5.0 on pci0
kernel: ata2: <ATA channel 0> on atapci1
kernel: ata3: <ATA channel 1> on atapci1 

像之前提到的 ATA 控制器一样,SATA 控制器在启动时会被系统识别。这里是一个 SiS 181 SATA 150 控制器,具有两个通道。它们分别列为设备ata2ata3——因为ata0ata1已被标准 ATA/IDE 控制器占用。

kernel: mpt0: <LSILogic 1030 Ultra4 Adapter> irq 17 at device 16.0 on pci0 

像 IDE 和 SATA 控制器一样,所有已识别的 SCSI 驱动程序都会在启动时的系统日志中列出。这里,控制器是 LSILogic 1030 Ultra4。

kernel: ad0: 476940MB <WDC WD5000AAJB-00YRA0 12.01C02> at ata0-master UDMA100
kernel: ad4: 476940MB <Seagate ST3500320AS SD04> at ata2-master SATA150 

一旦磁盘控制器被系统识别,FreeBSD 就可以开始搜索哪些磁盘已连接。上面是一个西部数据 500GB 硬盘的示例,使用标准 ATA100 接口,速度为 100MB/s。还有一个 500GB 的希捷硬盘,连接使用 SATA 接口。

acd0: CDROM <TOSHIBA CD-ROM XM-7002B/1005> at ata1 as master UDMA33 

当 CDROM(通常连接到 ATA/IDE 控制器)被识别时,它会像上面那样显示。

kernel: da0 at ahd0 bus 0 target 0 lun 0
kernel: da0: <MAXTOR ATLAS10K4_73WLS DFL0> Fixed Direct Access SCSI-3 device
kernel: da0: 320.000MB/s transfers (160.000MHz, offset 127, 16bit), Tagged Queueing Enabled
kernel: da0: 70149MB (143666192 512 byte sectors: 255H 63S/T 8942C) 

SCSI 寻址比 ATA/IDE 更复杂。在 SCSI 系统中,你有控制器、通道(总线)、磁盘(目标)和逻辑单元号(LUN)。上面的示例显示了一个磁盘(已被分配设备名称da0)位于控制器ahd0bus 0上,作为target 0,并且具有LUN 0。SCSI 控制器可以有多个总线和多个目标。进一步来看,你会看到该磁盘是一个 MAXTOR 73GB SCSI-3 磁盘。

kernel: da0 at umass-sim0 bus 0 target 0 lun 0
kernel: da0: <Verbatim Store 'n' Go 1.30> Removable Direct Access SCSI-2 device
kernel: da0: 40.000MB/s transfers
kernel: da0: 963MB (1974271 512 byte sectors: 64H 32S/T 963C) 

如果你使用 USB 闪存盘存储配置信息,它很可能在日志文件中显示为一种 SCSI 磁盘类型。上面的示例显示的是一个 1GB 的 Verbatim Store 'n' Go 磁盘。

kernel: lnc0: <PCNet/PCI Ethernet adapter> irq 18 at device 17.0 on pci0
kernel: lnc0: Ethernet address: 00:0c:29:a5:9a:28 

另一个需要在系统上正常工作的设备是网络接口卡。像磁盘控制器和磁盘一样,当 FreeBSD 识别到它时,它会在日志文件中记录。上面是一个基于 AMD Lance/PCNet 的以太网适配器示例。每个以太网卡都有一个唯一的地址,称为以太网地址或 MAC 地址。它由 6 个数字组成,并使用冒号分隔符表示。一旦发现,FreeBSD 会查询该卡以获取其 MAC 地址并记录结果。在上述示例中,它是"00:0c:29:a5:9a:28"。

在设备名称与实际设备之间进行转换

在上面的 SCSI 例子中,列出的 SCSI 控制器是ahd0。理解这些日志条目的关键是了解如何解释设备名称ahd0。首先,ahd0表示这是一个使用ahd驱动的设备,并且它是系统中的第一个设备(编号从 0 开始)。

那么,什么是 ahd 呢?首先需要查看日志文件的上方。应该会有类似以下的条目:

kernel: ahd0: <Adaptec 39320 Ultra320 SCSI adapter> irq 11 at device 1.0 on pci2 

这显示了特定设备是Adaptec 39320 SCSI 3控制器。你还可以在以下链接中找到更多关于ahd驱动的信息(以及所有 FreeBSD 驱动):

www.freebsd.org/releases/6.2R/hardware-i386.html

搜索 ahd,你将能找到该驱动支持的控制器(在这种情况下,它们都是来自 Adaptec 的控制器。如果你点击提供的链接,将会跳转到有关该驱动的具体帮助页面)。

当 FreeNAS 升级到 FreeBSD 7 时,相应的网页将会是:

www.freebsd.org/releases/7.0R/hardware.html

网络问题

与网络附加存储(NAS)建立可靠的网络连接,当然是至关重要的。本节内容是针对那些遇到网络问题的用户。

一般来说,网络问题可以分为两类:物理问题和软件问题。物理问题包括如断开电缆和硬件故障,而软件问题则涵盖了从设备驱动问题到网络配置错误等各种情况。

从表面上看,大多数网络问题看起来都是一样的,网络无法正常工作,你无法连接。为了找出问题,你可以尝试不同的方法。

常见连接问题

启动你的 FreeNAS 服务器后,第一步是配置网络。这部分内容将在第二章详细介绍。假设你已配置好网络,下一步是使用网页浏览器连接到 FreeNAS 服务器。如果网页浏览器连接失败,网页浏览器(此处以 Firefox 为例)会显示类似如下的内容:

常见连接问题

此操作涉及两台机器,一台是 FreeNAS 服务器,另一台是带有网页浏览器的计算机。首先,测试带有网页浏览器的机器是否正常工作。确保它能访问互联网以及网络中的其他机器或设备。如果不能,你需要从那里开始排查!

如果网页浏览器所在的机器工作正常,那么问题可能出在 FreeNAS 服务器上,这时就该开始排查问题了。使用以下检查清单来确保一切都按预期进行:

  • 检查电缆是否插入了 FreeNAS 服务器的网络卡。听起来很简单,但我曾经遇到过电缆插得不完全正确,导致网络无法工作的情况。假设电缆的另一端也插入正确,请检查 FreeNAS 服务器上的连接 LED 是否亮起,以及交换机或集线器上的指示灯是否亮起。如果看到全绿的指示灯,那就说明一切正常。

  • 检查 FreeNAS 服务器启动时是否识别了网络。由于无法访问 web 界面,您需要在控制台上检查此项。您需要查看类似这样的信息:

常见连接问题

注意

如果找不到我的网络卡怎么办?

这很可能意味着您的机器中的网络卡不被 FreeNAS 或更具体地说,FreeBSD 支持。请查看 FreeBSD 硬件兼容页面获取更多信息:www.freebsd.org/releases/6.2R/hardware-i386.html

  • 如果电缆连接正确且网络已找到,就该仔细检查网络设置了。最常见的错误是设置子网掩码时出错。子网掩码决定了设备所在的网络。当您使用控制台菜单系统设置子网掩码时,如果子网掩码与使用浏览器的机器不相同,可能会导致连接丢失。此外,错误的子网掩码可能会引起异常行为,例如使用浏览器的机器能够连接到 FreeNAS 服务器,但服务器可能无法回复。比如,子网掩码输入 25(而不是预期的 24)可能会导致连接问题。

  • IP 地址是唯一的吗?如果您设置了静态 IP 地址,是否设置了正确的地址?如果两台机器分配了相同的 IP 地址,就会发生奇怪的事情。例如,数据包本应发送到一台机器,却到达了另一台机器,等等。确保 IP 地址正确且唯一。

  • 如果您使用的是 DHCP,请确保 DHCP 服务器正在运行并且有可分配的地址。如果您看到 FreeNAS 服务器的地址是 0.0.0.0,这意味着它无法从 DHCP 服务器获取 IP 地址。

常见连接问题

使用 Ping

大多数操作系统(包括 Windows、Linux 和 OS X)都有一个叫做 ping 的工具,可以用来测试两台机器之间的低层连接。为了测试与 FreeNAS 机器的连接,您可以ping它,也可以让 FreeNAS 服务器ping其他机器。

在 Windows XP 中运行 ping,点击 运行...,然后在对话框中输入 cmd。按 Enter 键后,黑色的命令提示符将会出现。执行 ping 的命令就是输入 ping,后面跟上 IP 地址。例如,要对 FreeNAS 服务器的标准地址 192.168.1.250 进行 ping,你可以输入:

ping 192.168.1.250 

如果一切正常,那么 FreeNAS 服务器会回复。输出应该类似于下面这样:

使用 Ping

如果 PC 无法联系到 FreeNAS 服务器,则会报告“请求超时”错误。

你还可以使用 FreeNAS 服务器 ping 网络上的其他机器。在控制台选择选项 5。然后系统会要求你输入一个 IP 地址。这次输入的 IP 地址不是 FreeNAS 服务器的,而是网络上另一台机器的 IP 地址。输入地址并按回车。输出应该如下所示:

使用 Ping

注意

发现 XP 机器的 IP 地址

要查找 XP 机器的 IP 地址:点击开始,然后运行... 在对话框中输入cmd并按ENTER。在命令提示符窗口中,输入ipconfig /all。结果输出将显示 IP 地址、子网掩码等信息。

在 Web 界面中使用 Ping

如果你可以访问 FreeNAS 服务器的 Web 界面,并且你想要ping另一台机器以确保 FreeNAS 服务器能够与其通信,那么进入诊断:Ping。输入你希望 ping 的机器的 IP 地址到主机栏并点击Ping

成功 ping 的输出如下所示:

PING 192.168.1.110 (192.168.1.110): 56 data bytes
64 bytes from 192.168.1.110: icmp_seq=0 ttl=64 time=1.148 ms
64 bytes from 192.168.1.110: icmp_seq=1 ttl=64 time=0.697 ms
64 bytes from 192.168.1.110: icmp_seq=2 ttl=64 time=0.638 ms
--- 192.168.1.110 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.638/0.828/1.148/0.228 ms 

失败的 ping 输出如下所示:

PING 192.168.1.100 (192.168.1.100): 56 data bytes
--- 192.168.1.100 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss 

注意到100%数据包丢失,这意味着没有任何 ping 到达其目的地。

如果你的机器有多个网络卡,你可以在接口下拉框中选择使用哪个卡。当你想要检查第二个以太网接口卡的连接性时,这非常有用。

如果你想查看网络数据包走的是哪条路(通过哪些交换机和网关),你可以使用位于 Traceroute 中的 traceroute 工具。

使用 ARP 表来解决网络问题

以太网的内部深处有一个被称为 ARP 的东西。地址解析协议(ARP)是查找主机硬件地址(或 MAC 地址)时的标准方法,当只知道其 IP 地址时。为了向 IP 地址发送信息包,网络软件需要知道服务该 IP 地址的网卡的物理地址。为此,它会发送一个 ARP 请求并得到一个包含 MAC 地址的 ARP 响应。

在诊断:ARP 表页面上,有一个显示所有 FreeNAS 服务器已知的 MAC 地址及其对应 IP 地址的表格。这个表格非常有用,因为它可以让你查看 FreeNAS 服务器的网络层,我们至少能够发现目标远程服务器/PC 的 MAC 地址。如果已知 MAC 地址但 ping 失败,那么问题可能是防火墙。

此表格也有助于确保两台机器不会误用相同的 IP 地址。你可以通过比对 IP 地址和 MAC 地址,确认已联系到正确的服务器。

注意

什么是 MAC 地址?

媒体访问控制地址(MAC 地址)或以太网地址是附加到大多数网络适配器上的全球唯一标识符,由制造商指定。它可以比作你家里的邮政地址,地址是唯一的,所有寄送到这个地址的东西都会由你收到。该地址由 6 个数字组成,采用冒号表示法。一个示例 MAC 地址是"00:0c:29:a5:9a:28"。

www.coffer.com/mac_find/ 是一个有用的网站,用于查找哪个制造商(或称为供应商)创建了任何给定的 MAC 地址。

千兆传输很慢

千兆网络并不是一些人认为的万能法宝。不幸的是,你永远无法在 FreeNAS 和你的 PC 之间达到 125MB/s(1000 除以 8)的传输速度。造成这种情况的原因有几个,其中一些是理论性的,有一些则是实际问题。要获得最佳的千兆以太网传输速度,进出 FreeNAS 服务器时,你需要考虑以下几点:

  • 首先,确保你已启用某些内核变量的调优。你可以在“系统:高级:高级设置”页面找到这个选项。勾选调优框并保存设置。

  • 确保你的千兆以太网交换机和千兆以太网卡能够处理 Jumbo 帧。没有 Jumbo 帧支持,超过 100Mb/s 的网络速度提升将是微乎其微的。

  • 尽可能使用 PCI Express 千兆网络卡。

  • 确保你的 CPU 能够处理网络和磁盘活动带来的负载。

  • 根据速度吞吐量优化配置磁盘。这几乎肯定意味着你需要使用某种类型的 RAID,无论是硬件 RAID 还是软件 RAID。

连接共享时的问题(通过 CIFS)

连接 FreeNAS 服务器的最常见方式之一是通过 Windows 协议 CIFS。在大多数环境中,人们会从 Windows 机器连接到 FreeNAS,并可能将“共享”挂载为该机器上的网络驱动器。

如今使用的 Microsoft Windows 版本有很多,有些人仍在使用 Windows 98 或 Millennium,而其他人则在使用 Windows 2000、Windows XP 或 Windows Vista。每个 Windows 版本对网络和设置有略微不同的理解——在 Windows 2000 或 Windows 98 中可行的设置可能在 Windows Vista 中无法工作。

以下是使用 Microsoft Windows 与 FreeNAS 时可能遇到的一些问题。

Windows Vista 要求提供我的用户名和密码以访问匿名共享

当“服务:CIFS/SMB”页面中的空密码字段启用时,可能会发生这种情况(在高级设置部分)。要解决此问题,请禁用空密码字段。

网络中有两台 FreeNAS 服务器,但 Windows 只能看到一台。

在配置这两台 FreeNAS 服务器时,你可能已经确保每台机器都有自己的 IP 地址和主机名。你还需要确保 FreeNAS 中 CIFS 服务器的默认名称对于两台服务器不是相同的。尽管你可以毫无问题地连接它们的 Web 界面,但在尝试使用 Windows 网络时,只能看到其中一台机器。

为了解决这个问题,请进入“服务:CIFS/SMB”,将NetBiosName设置为每台服务器的唯一名称。

开启日志记录以帮助解决 Windows 网络问题

如果你发现无法解决 Windows 网络(CIFS)问题,可以尝试启用更多 Windows 网络服务器(称为 Samba)的日志记录,看看日志文件中是否有提示问题所在。

要启用日志记录,请进入“服务:CIFS/SMB”,将日志级别设置为正常(Normal),而不是最小(Minimal)。Samba 生成的日志将显示在诊断:日志页面的守护进程(Daemon)标签下。以smbd开头的条目是关于 Windows 网络服务器的,而以nmdb开头的条目是关于 Windows 网络名称服务的。

如果正常日志级别没有帮助,你可以尝试全级别(Full)甚至调试级别(Debug),但这些会产生大量输出,可能会让你感到难以理解。

如果日志生成了大量的日志条目,请参考本章早些时候《理解诊断:日志:系统》部分中的“50 个日志条目可能不足够”提示。还要记住,你可以通过在任何诊断:日志页面上按下“清除日志”按钮来随时清除日志。

完成后,别忘了将日志级别设置回最小(Minimal)。

诊断:信息

除了诊断:日志页面外,诊断:部分还有一个信息页面。日志页面集中显示来自 FreeNAS 服务器中各种系统服务的输出,而信息页面则旨在提供关于 FreeNAS 服务器各个部分的状态和配置信息。

诊断:信息

要访问此页面,请进入“诊断:信息”。页面顶部有很多标签。以下是它们的含义:

标签 信息
磁盘 列出检测到的所有硬盘,包括 ATA/IDE 磁盘、SATA 磁盘和 SCSI 磁盘。
磁盘(ATA) 列出所有 ATA/IDE 磁盘的高级功能,包括 ATA 版本、磁盘几何结构、磁盘容量和 S.M.A.R.T 功能。
分区 关于每个磁盘上分区的信息。
S.M.A.R.T. 列出所有检测到的磁盘的 SMART 功能。
已用空间 关于服务器磁盘空间使用情况的信息。每个文件系统都会列出其总大小、已用空间、可用空间以及磁盘的使用百分比。
挂载点 列出带有文件系统类型的挂载点列表。
Software RAID FreeNAS 服务器的软件 RAID 配置的信息。每个 RAID 级别单独列出,并显示使用的磁盘信息。
iSCSI Initiator 关于 iSCSI 启动器的信息。
MS Domain Microsoft Active Directory 信息。
Swap 当前配置的交换空间列表。
FTP users 当前连接的 FTP 用户列表。
RSYNC Client 每个配置的 RSYNC 客户端都会列出及其配置参数。最有用的信息是“检测到的此服务器共享”部分。它显示 RSYNC 客户端可以联系到服务器,并列出可用的 RSYNC 模块。
Sockets 这是活动的互联网连接(包括服务器)以及活动的 UNIX 域套接字的列表。通过此列表,你可以看到哪些网络服务器正在运行,以及是否有用户连接到该服务器。

在 RAID 阵列中更换故障硬盘

RAID 的关键特点是当一个磁盘故障时,RAID 阵列仍然能够继续工作。当磁盘故障时,RAID 阵列进入 DEGRADED 状态,这意味着系统仍在运行,但其中一个磁盘已故障。该磁盘需要尽快更换。

要检查 RAID 磁盘的状态,请进入Disks: Software RAID页面。点击你在 FreeNAS 服务器上拥有的所有 RAID 类型,检查它们是否处于 COMPLETE 状态。如果某个 RAID 阵列处于 DEGRADED 状态,你需要更换磁盘。

这是一个 RAID 1 阵列处于降级状态的示例:

RAID 阵列中的硬盘故障替换

首先,你需要知道应该更换哪个磁盘。进入Disk: Management页面,检查每个磁盘的状态。如果磁盘正常,它应该显示为 ONLINE。一旦你找到了故障磁盘,需要更换它。有些磁盘控制器具有热插拔功能,这意味着即使系统正在运行,也可以拔掉磁盘并插入新磁盘。这通常是 SATA 控制器的一个特点(但并非仅限于此)。如果不确定,最好关闭 FreeNAS 服务器,并在服务器关闭时更换磁盘。

磁盘故障后重建 RAID 1 阵列

现在你已经更换了磁盘,是时候将系统恢复到正常操作水平了。这个过程包括两个步骤,全部在RAID 1标签页下的Disks: Software RAID页面的工具部分中完成。

第一步是告诉 FreeNAS 服务器忘记任何曾经在此 RAID 阵列中但现在已不再连接的设备。

  1. 1. 进入Disks: Software RAID页面,点击RAID 1标签。

  2. 2. 点击Tools标签。

  3. 3. 在Volume Name字段中选择降级阵列的名称,并选择Command forgetDisk字段在忘记命令中不使用。

  4. 4. 点击Send Command!,阵列将被指示忘记未连接的设备。

  5. 5. 命令的输出应显示Done

RAID 1 阵列重建后,硬盘故障替换

第二步是将新磁盘重新插入阵列。继续在 RAID 1 阵列的工具标签页中:

  1. 1. 在卷名称字段中选择降级的阵列。

  2. 2. 从磁盘下拉框中选择新磁盘。

  3. 3. 选择插入命令并点击发送命令!

  4. 4. 命令的输出应该显示为Done

阵列现在开始重建。你可以在诊断:信息:软件 RAID页面上检查它是否正在重建(查看同步:字段中的完成百分比),并且在磁盘:软件 RAID:RAID1:页面的管理 RAID 标签中,当 RAID 重建完成时会显示为 COMPLETE。

RAID 5 阵列重建后,硬盘故障替换

更换磁盘后,你准备好与 RAID 阵列中的其他磁盘同步。这个过程包括一个步骤,在磁盘:软件 RAID页面的 RAID 5 标签页中的工具部分执行。

你需要将新磁盘重新插入阵列。在 RAID 1 阵列的工具标签页中:

  1. 1. 在卷名称字段中选择降级的阵列。

  2. 2. 从磁盘下拉框中选择新磁盘。

  3. 3. 选择插入命令并点击发送命令!

  4. 4. 命令的输出应该显示为 Done。

RAID 5 阵列重建后,硬盘故障替换

阵列现在开始重建。你可以在诊断:信息:软件 RAID页面上检查它是否正在重建(查看同步:字段中的完成百分比),并且在磁盘:软件 RAID:RAID 5:页面的管理 RAID 标签中,当 RAID 重建完成时会显示为 COMPLETE。

寻求更多帮助的地方

如果你发现自己真的卡住了,无法找出问题所在,最好的支持地方是 FreeNAS 的在线帮助论坛。

这些可以在 SourceForge.net 网站上找到,你需要注册一个免费的 SourceForge.net 账户才能在论坛上发布内容。

要查找支持论坛,请访问 FreeNAS 网站:freenas.org,然后点击“Support”链接。从那里,进入 Help 论坛。

总结

在本章中,我们介绍了一些可以帮助跟踪 FreeNAS 服务器配置问题的工具。我们讨论了网络问题及其可能的解决方案,以及如何处理 RAID 故障。

下一章也是最后一章将介绍 FreeBSD,这是 FreeNAS 的底层操作系统。

第十章:FreeBSD 与命令行工具

FreeBSD 是 FreeNAS 服务器的基石。在本章中,我们将介绍一些简单的 FreeBSD 命令以及一些基础的 FreeBSD 管理任务,包括停止和启动不同的服务,以及从命令行控制 RAID。

FreeBSD 简介

每台计算机都有一个被称为操作系统的特殊软件,用于控制和管理计算机中的各种资源,包括内存、视频、网络和硬盘。现在一些流行的操作系统包括 Microsoft Windows、Apple OS X、Linux 和 FreeBSD。

作为一种操作系统,FreeBSD 有着非常值得尊敬的历史,并且可以追溯到 1970 年代末期的原始 UNIX 操作系统。FreeBSD 的第一个版本于 1993 年问世,因此已经有超过 15 年的发展历程。结果是一个稳定、强大、设计良好且可扩展的操作系统,能够与最好的操作系统竞争。

从本质上讲,FreeBSD 是一个基于终端或控制台的操作系统。这意味着你不需要一张花哨的显卡、一个高分辨率的显示器以及一个光学鼠标来运行 FreeBSD。所有命令都是通过在键盘上输入并按下ENTER来执行的。当 FreeBSD 作为服务器使用时,这一点尤为重要。服务器通常不具备强大的图形能力,甚至可能没有连接显示器。因此,能够使用简单的命令行工具来连接和管理服务器是非常重要的。

除了作为一个坚固的服务器操作系统,FreeBSD 还可以作为桌面操作系统使用,并配有完整的窗口桌面环境。

你的第一个 FreeBSD 命令

进入 FreeBSD 命令行的最简单方法是通过 FreeNAS 控制台菜单。FreeNAS 启动并运行后,前往 FreeNAS 机器并按下ENTER键,使启动画面消失,控制台菜单将出现。选项 6 是 Shell,输入 6 并按下 ENTER。

你现在将看到一个像这样的提示:

freenas:~# 

使用 pwd 打印工作目录

这就是 FreeBSD!要运行你的第一个 FreeBSD 命令,输入pwd并按下 ENTER。

freenas:~# pwd
/root 

pwd意味着打印工作目录。它告诉你当前的文件夹。在此例中,它是名为root的文件夹。在 FreeBSD 中,管理员用户被称为 root。当你通过 FreeNAS 控制台连接到 FreeBSD 时,你会自动以 root 身份登录,并且拥有完全的管理员权限。/root文件夹是 root 用户的家目录。

注意

考虑禁用控制台菜单

如你所见,默认情况下,控制台为你提供了对 FreeBSD 命令行的完全访问权限,并且从一开始就赋予你完全的管理员权限。如果你的 FreeNAS 服务器处于他人可以访问控制台菜单的环境中,那么你应该考虑禁用控制台(在 Web 界面的System: Advanced页面中)。这将防止未经授权和可能具有危险的访问你的 FreeNAS 服务器。

禁用控制台菜单后,你仍然可以通过 SSH 协议访问 FreeBSD 命令行。

目录列表(ls)

要查看当前文件夹的内容,你可以使用ls(列出)命令:

freenas:~# ls
.cshrc .dialogrc .history .profile 

默认情况下,/root文件夹中没有太多内容。在这里,我们可以看到有 4 个文件。注意,它们的名字都以点(.)开头。这意味着它们是隐藏文件,但因为你是管理员,隐藏文件默认会显示。如果普通用户使用ls命令,文件名以点开头的文件将不会显示。

要获取更多文件的信息,例如文件大小及其读写权限,请使用-l(长格式)选项:

freenas:~# ls -l
total 8
-rw-r--r-- 1 root wheel 843 Apr 14 10:52 .cshrc
-rw-r--r-- 1 root wheel 57 Feb 22 21:16 .dialogrc
-rw------- 1 root wheel 123 Apr 2 13:13 .history
-rw-r--r-- 1 root wheel 236 Feb 22 21:16 .profile 

这种长格式会显示关于每个文件的更多信息,首先是文件权限、链接数量、所有者名称、组名称、文件大小(以字节为单位)、文件最后修改的日期和时间,当然还有文件名。

文件权限字段可能看起来有点复杂,但稍加指导就能理解。该字段由 10 个标志组成,标志可以是字母,如 r 或 w,或者是连字符(-)。

文件类型(1 个标志) 用户权限(3 个标志) 组权限(3 个标志) 其他权限(3 个标志)
d 表示目录,-表示常规文件。 r、w 和 x 表示用户可读、可写和可执行。 r、w 和 x 表示组用户可读、可写和可执行。 r、w 和 x 表示所有人可读、可写和可执行。

例如,上面的目录列表包含了.cshrc文件的条目。

-rw-r--r-- 1 root wheel 843 Apr 14 10:52 .cshrc 

这意味着它是一个常规文件(因为第一个标志是-),并且它对于用户来说是可读可写的,但不可执行(rw-)。文件不可执行是正常的,因为它不是一个程序文件。组权限(r--)意味着同组用户(wheel 组)可以读取该文件,但不能写入,其他用户(r--)的权限也是如此。

使用cd命令更改目录

为了完成简单的文件系统命令,可以使用cd(更改目录)命令。这个命令会将当前工作目录更改为指定的其他目录。要将目录切换到文件系统的最顶层,你可以输入:

freenas:~# cd / 

从这里,你可以看到所有位于最上层下面的文件夹,呈树状结构显示。

freenas:/# ls
conf etc mnt usr
bin ftmp root var
boot dev lib sbin
cf entropy libexec tmp 

要切换到另一个目录,只需输入cd后跟目录名:

freenas:/# cd /usr
freenas:/usr# ls
X11R6 bin lib libexec local sbin share 

然后,继续深入:

freenas:/usr# cd bin
freenas:/usr/bin# pwd
/usr/bin 

要返回上一级目录,使用特殊名称:

freenas:/usr/bin# cd ..
freenas:/usr# pwd
/usr 

你也可以通过在cd命令中指定完整路径,直接进入一个深层文件夹。在此之前,我们已将目录切换到/usr目录,然后进一步进入bin目录。你可以通过输入以下命令一次性完成:

freenas:/# cd /usr/bin
freenas:/usr/bin# pwd
/usr/bin 

复制文件并更改文件权限(cp 和 chmod)

要复制一个文件,你需要使用cp(复制)命令。要将.cshrc文件复制到test目录,你可以输入:

freenas:~# cp .cshrc test
freenas:~# ls
.cshrc .dialogrc .history .profile test 

在使用ls命令后,可以看到文件已被复制。要查看test文件夹中文件的权限,可以输入:

freenas:~# ls -l test
-rw-r--r-- 1 root wheel 843 Apr 14 12:06 test 

要更改文件,使得只有用户具有读写权限,且其他任何人(包括同组成员)都无法读取,使用 chmod(更改文件模式)命令。

freenas:~# chmod 600 test
freenas:~# ls -l test
-rw------- 1 root wheel 843 Apr 14 12:06 test 

chmod 需要两个参数:第一个是一个三位数,表示您希望设置的文件权限,第二个是您希望更改的文件或目录的名称。每个数字表示文件的权限,分别是用户、组和其他用户(按此顺序)。

文件权限的数字表示如下:

文件权限 标志 含义
0 --- 无权限,既不能读、写也不能执行
1 --x 执行
2 -w-
3 -wx 执行 & 写
4 r-- 只读
5 r-x 执行 & 读
6 rw- 读与写
7 rwx 执行 & 读 & 写

因此,将文件权限设置为 600 表示用户具有读写权限,组和其他用户没有权限(rw-------)。类似地,640 表示用户具有读写权限,组具有读权限,其他用户没有权限(rw-r-----)。您可以为文件设置的最大权限是 777,这意味着用户、组和其他用户都具有读、写和执行权限(rwxrwxrwx)。

可选地,chmod 所有文件可以使用 -R 标志,该标志可以用于目录,并将使 chmod 设置该目录及其所有子文件夹的文件权限。

使用 Putty 连接到 FreeBSD

要访问 FreeBSD 命令行而不使用控制台,您可以通过 SSH 连接到 FreeNAS 服务器。

SSH(安全外壳协议)是一种网络协议,它允许通过加密(安全)通道在两台计算机之间交换数据。它最常用于作为远程计算机的安全命令行接口。这意味着,您可以从远程计算机访问 FreeNAS 服务器的命令行接口,而无需访问 FreeNAS 服务器的键盘和显示器。

默认情况下,SSH 访问是禁用的,要启用它,请转到服务:SSHD并通过选中配置数据表标题中的启用来启用SSH 守护进程(服务器)。点击保存并重启以启动 SSH 服务器。

FreeNAS 服务器上有两种类型的 SSH 用户。第一种是没有管理员访问权限的普通用户。对于在访问:用户页面上创建的每个用户,您可以启用完全 Shell 访问,这将允许用户通过 SSH 连接并使用服务器上的 FreeBSD 命令行。

第二种类型的用户是 root。默认情况下,root 用户不允许通过 SSH 登录 FreeNAS 服务器。要允许 root 登录,请转到服务:SSHD并勾选允许 root 登录。然后点击保存并重启,以完成启动 SSH 服务器。

注意

根密码

根密码与 Web 界面密码相同,默认情况下是freenas。如果 Web 界面密码被更改,根密码也会随之更改。

要在 Linux 或 Apple OS X 上通过 SSH 连接,您可以使用 SSH 命令行程序。所以,要连接到 FreeNAS 服务器,您可以使用:

ssh -l root 192.168.1.250

-l参数允许你指定用户名,在本例中为 root。

Windows 默认没有 SSH 工具,所以你需要使用一个名为 PuTTY 的免费工具。PuTTY 是由 Simon Tatham 编写的一个非常棒的工具。

你可以从www.chiark.greenend.org.uk/~sgtatham/putty/下载 PuTTY。

连接到 FreeBSD 使用 PuTTY

下载后,双击可执行文件(PuTTY 没有安装程序,你只需要使用下载的文件)。主 PuTTY 窗口有很多选项,但你只需要做的就是在窗口上半部分的主机名字段中输入 FreeNAS 服务器的 IP 地址。其他设置保持不变,点击“Open”。将会出现一个黑色背景的窗口。如果这是你第一次使用 PuTTY 连接到这个 FreeNAS 服务器,你还会被询问是否信任连接的机器。点击“Yes”。

在“login as:”提示符下输入 root 并按ENTER,然后输入与网页界面密码相同的密码。你将看到, hopefully 现在已经熟悉的freenas:~# 提示符。

从此处开始,你可以像在控制台菜单 shell 中一样访问 FreeBSD。

从命令行监控你的 FreeNAS 服务器

FreeBSD 包含多个用于系统监控的工具,包括监控磁盘空间和系统进程。

查看哪些磁盘已挂载使用 mount 命令

要查看哪些磁盘已挂载到 FreeNAS 服务器上,请使用mount命令:

 freenas:~# mount
/dev/ad0s1a on / (ufs, local, soft-updates)
devfs on /dev (devfs, local)
/dev/raid5/raid5p1 on /mnt/raid5 (ufs, local, soft-updates, acls) 

这将产生与诊断:信息:挂载页面相同的输出。每个设备都列出其挂载点、文件系统类型和任何选项。从上面可以看到,包含 FreeBSD 和 FreeNAS 软件的最顶层目录/(也称为根目录,但不要与用户 root 混淆)位于第一个 IDE 驱动器(ad0)上。我们还可以看到,这台 FreeNAS 服务器有一个 raid5 配置,挂载在/mnt/raid 上。

使用 df 命令检查磁盘空间使用情况

另一个有用的命令(也可以在网页界面的诊断:信息:已用空间中找到)是 df 命令。df 显示磁盘空间的使用情况。它有一个可选参数-h(人类可读标志),使输出更友好。

 freenas:~# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 121M 56M 56M 50% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/raid5/raid5p1 3.9G 239M 3.3G 7% /mnt/raid5 

每个文件系统都会列出其总大小、已用空间、可用空间以及磁盘使用的百分比。

使用 du 命令发现目录的大小

另一个非常有用的命令是du命令,虽然它没有包含在网页界面中。du命令显示每个文件和每个文件夹(包括子文件夹)的磁盘空间使用情况,或者如果未指定文件夹,则显示当前文件夹的磁盘空间使用情况。

从上面的例子可以看出,RAID 5 数组已使用了 239MB。如果我们进入/mnt/raid5目录,然后运行带有-h(人类可读)和-s(汇总)标志的du命令,我们会发现df命令中列出的 239MB 也出现在du命令的输出中。

 freenas:~# cd /mnt/raid5/
freenas:/mnt/raid5# du -hs
239M . 

/mnt/raid5内,有一个名为pictures的文件夹,要查看pictures文件夹使用了多少磁盘空间,可以使用du命令,可以直接切换到该文件夹或直接指定它:

 freenas:~# du -h /mnt/raid5/pictures
2.5M /mnt/raid5/pictures 

使用 ps 和 top 进行进程监控

FreeBSD 能够同时运行许多程序。FreeNAS 服务器包括 Web 服务器、FTP 服务器和 SSH 服务器等,它们都同时运行。每个程序作为一个单独的进程运行。每个进程都使用系统的 CPU 时间,以及内存和磁盘空间等其他系统资源。如果程序出现问题,它可能会开始使用过多的 CPU 时间或内存,从而拒绝其他程序运行所需的资源。有一些 FreeBSD 命令可以监视服务器上正在运行的进程的状态。

ps显示当前在机器上运行的进程。ps有许多不同的选项,但最有用的之一是ps aux,它显示系统上的每个进程。

正常的 FreeNAS 服务器在启动后会运行大约 60 到 70 个进程,因此ps命令的输出可能会相当长。以下是从 FreeNAS 服务器中提取的前几行:

 freenas:~# ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 10 84.6 0.0 0 8 ?? RL 10:28AM 69:12.51 [idle: cpu0]
root 0 0.0 0.0 0 0 ?? WLs 10:28AM 0:00.00 [swapper]
root 1 0.0 0.2 772 388 ?? SLs 10:28AM 0:00.09 /sbin/init --
root 2 0.0 0.0 0 8 ?? DL 10:28AM 0:01.22 [g_event]
root 3 0.0 0.0 0 8 ?? DL 10:28AM 0:01.14 [g_up]
root 4 0.0 0.0 0 8 ?? DL 10:28AM 0:01.60 [g_down]
root 5 0.0 0.0 0 8 ?? DL 10:28AM 0:00.00 [crypto]
root 6 0.0 0.0 0 8 ?? DL 10:28AM 0:00.00 [crypto returns] 

下面是每列的简要解释:

列名 含义
USER 这是拥有进程的用户的名称。
PID 每个进程都有一个唯一的进程 ID(或简称 PID)。
%CPU 显示进程的 CPU 利用率。这是前面(实际)时间的一分钟的衰减平均值。
%MEM 进程使用的物理内存量。
VSZ 显示进程的虚拟内存大小(以千字节为单位)。
RSS 类似于 VSZ,但 RSS 显示进程正在使用的非交换物理内存大小(以千字节为单位)。
TT 控制终端。表示没有一个。
STAT 进程的状态,其中 S 表示进程正在睡眠并且可以随时唤醒,L 表示进程正在等待获取锁定。R 标记一个可运行的进程。
STARTED 显示进程启动的时间。
TIME 累积的 CPU 时间。这包括运行进程和代表该进程在内核中运行的时间。
COMMAND 显示启动程序时给出的命令。

在如此长的列表中找到特定的进程可能会有问题。为了帮助解决问题,您可以使用 grep 命令在文本中查找匹配项。例如,要查找 ftp 服务器进程,可以使用以下命令:

 freenas:~# ps aux | grep ftp
root 981 0.0 0.8 3636 1904 ?? Ss 0:00.07 pure-ftpd
root 1407 0.0 0.4 1528 984 p0 R+ 0:00.02 grep ftp 

运行时,grep 命令本身会显示(在本例中为 PID 1407),因为它与我们正在查找的字符串匹配,即 ftp。但当然,它并不是 ftp 服务的一部分。

虽然 ps 仅显示系统进程的快照,但 top 程序提供动态实时的系统视图。它显示系统摘要(包括 CPU 使用率、内存使用率和其他统计信息),以及一个动态变化的运行进程列表,按照 CPU 使用率最高的顺序排列。

 The first few lines of top look something like this:
last pid: 1410; load av: 0.00, 0.00, 0.00 up 0+01:39:09 12:07
23 processes: 2 running, 21 sleeping
CPU: 0.0% user, 0.0% nice, 3.8% sys, 0.0% interrupt, 96.2% idle
Mem: 10M Active, 12M Inact, 13M Wired, 68K Cache, 9648K Buf, 207M Free
Swap:
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
1087 root 1 4 0 3168K 2212K kqread 0:02 0.00% lighttpd
1023 root 3 20 0 7160K 4104K kserel 0:01 0.00% mediatom
1250 root 1 76 0 5640K 2720K RUN 0:01 0.00% sshd
927 root 1 76 0 5496K 3208K select 0:01 0.00% nmbd
1253 root 1 20 0 4000K 2780K pause 0:01 0.00% csh 

输出的底部部分类似于 ps 命令的输出。

FreeNAS 的高级 FreeBSD 命令

直到现在,我们实际上一直处于只读模式,只是使用底层的 FreeBSD 系统进行查看和监控,但我们实际上还没有做任何更改。这将要改变。

启动和停止服务

你可能已经注意到,在 Web 界面上许多配置页面上都写着 保存并重启。这是因为许多 FreeNAS 服务器组件需要重新启动才能接受新的配置。因此,也可以使用命令行手动重启服务。如果某个特定服务停止响应,例如 FTP 服务器或 AFP 服务器,这可能是必要的(这并不是针对 FTP 服务器或 AFP 服务器的诋毁,只是一个例子)。

使用命令行,可以启动、停止和重启每个单独的服务。所有控制各种服务的脚本都保存在 /etc/rc.d 中,要管理一个服务,可以直接从该目录调用相应的脚本。要重新启动 AFP 服务,可以键入:

 freenas:~# /etc/rc.d/afpd restart
Stopping afpd.
Starting afpd. 

重启并不是脚本接受的唯一命令:

Command 意义
start 启动服务。如果服务已经运行,则不会执行任何操作。
stop 停止服务。如果服务未运行,则不会发生任何操作。
restart 执行停止然后启动。如果服务未运行,则停止将失败,但脚本将继续启动服务。
status 显示服务是否正在运行。

这里是你可以启动和停止的可能服务的表格:

Name 服务描述
afpd 苹果文件协议守护程序。提供与苹果 Mac 计算机的连接。
lighttpd 内置的 Web 服务器,用于 Web 接口。
mediatomb.sh UPnP 服务器。
nfsd 用于与 UNIX 类型客户端共享文件的 NFS 服务器。
nfslocking NFS 服务器的一部分,需要单独控制。
pureftpd FTP 服务器。
rsync_client RSYNC 客户端。
rsync_local 用于在两个本地磁盘之间同步的本地 RSYNC 客户端。
rsyncd RSYNC 服务器。
samba 用于 Windows 连接的 CIFS/SMB 服务器。
smartd 硬盘监控服务。
sshd 安全 Shell 服务。
unison unison 同步服务。

用 kill 和 killall 实现极端控制

kill命令尝试关闭正在运行的进程。在 FreeBSD 中,当操作系统向进程发送信号以告知其关闭时,进程会停止。kill的默认信号是 TERM(信号 15),表示软件终止。当进程接收到该信号时,它应该以有序的方式关闭。如果进程变得异常,可能不会响应“请正常关闭”的指令。在这种情况下,你必须发送 KILL 信号(简写为信号 9)。因此,要杀死一个正在运行的进程(例如,进程 1234),我们会使用kill -9 1234

killall命令通过进程名称而非 PID 来杀死正在运行的进程。这有一个优点,即在杀死进程时,你无需使用ps命令来查找 PID。与kill一样,killall也接受信号参数,-9用于终止进程。因此,要杀死所有的 ftp 进程,你可以使用:

 freenas:~# killall -9 pure-ftpd 

关于killall有一点需要注意:你需要指定进程的确切名称,使用killall -9 purekillall -9 ftp不会停止 FTP 服务器。

killall的几个有用参数是-s-v

-s只会显示将要执行的操作,但不会发送任何信号。

-v会显示类似于-s的输出,但它实际上会在报告所做操作时发送信号。

 freenas:~# killall -9 -s pure-ftpd
kill -KILL 2045 

RAID 命令行工具

阅读 FreeNAS 的支持论坛,似乎有相当一部分用户在 RAID 配置上遇到困难。FreeNAS 中的 RAID 软件质量非常高,但总会有一些问题出现。所有在 Web 界面中可用的 RAID 功能(及更多)在命令行中也同样可用。

每种 RAID 级别(RAID 0、RAID 1 等)使用不同的命令,因为它们是专门用来处理该 RAID 级别的程序。管理 RAID 1 阵列的工具对 RAID 5 一无所知,反之亦然。RAID 工具有:gconcat、gstripe、gmirror 和 graid5。

警告

在开始之前有个警告。使用命令行时,你可以完全自由地管理和控制你的 RAID 阵列。但这也意味着你完全有可能破坏你的 RAID 阵列。小心不要错误地摧毁 RAID 阵列。如果你对通过命令行管理 RAID 阵列感到不舒服,你应该回到使用 Web 界面,因为它提供了一定的保护。

另一个可能的问题是,当你使用命令行时,Web 界面可能与当前的服务器配置不同步。从某种意义上来说,这就像是你在 Web 界面背后做事,而它并不知道发生了什么变化。例如,如果 RAID 阵列中的磁盘da0出现故障,且添加了另一块磁盘da1到系统中,并用该磁盘修复 RAID 阵列,那么尽管 RAID 将正常运行,Web 界面却对磁盘da1一无所知。在最糟糕的情况下,这只是一个困扰,尤其是当新磁盘da1挽救了你宝贵的数据时。

列表和状态命令

尽管管理 RAID 级别的每个工具有所不同,但它们有一些共同的命令。每个工具都接受 liststatus 命令。

status 命令提供了组成 RAID 阵列的磁盘及其当前状态的简要概述。以下是 RAID 5 阵列的状态输出示例:

 freenas:~# graid5 status
Name Status Components
raid5/myraid5 COMPLETE CALM da0
ad3
ad1 

从这可以看出,RAID5 阵列为 COMPLETE(没有磁盘丢失),这也意味着它没有在重建,并且磁盘 da0, ad3ad1 组成了该 RAID 阵列。

list 命令的输出更加全面,并且在许多方面是调试信息。当 RAID 阵列运行正常时,这些信息并不有趣,但在遇到 RAID 阵列问题时,这些信息可能非常有价值。

要获取 RAID 5 的列表信息,可以输入:

 freenas:~# graid5 list 

我已将输出分成不同的部分,以便更容易阅读:

 Geom name: myraid5
State: COMPLETE CALM
Status: Total=3, Online=3 

第一部分显示了该 RAID 阵列名为 myraid5,并且状态为 COMPLETECALM。该阵列由 3 个磁盘组成,所有磁盘都在线。

 Type: AUTOMATIC
Pending: (wqp 0 // 0)
Stripesize: 131072
MemUse: 0 (msl 0)
Newest: -1
ID: 1419279684 

下一部分展示了有关 RAID 阵列实现的不同内部信息。每个 RAID 级别在此部分会有不同的信息。

 Providers:
1\. Name: raid5/myraid5
Mediasize: 4294705152 (4.0G)
Sectorsize: 512
Mode: r1w1e2 

本部分展示了该 RAID 阵列为系统提供的内容。它提供了一个 4GB 大小的 RAID 5 阵列。

 Consumers:
1\. Name: da0
Mediasize: 2147483648 (2.0G)
Sectorsize: 512
Mode: r2w2e3
DiskNo: 2
Error: No
2\. Name: ad3
Mediasize: 2147483648 (2.0G)
Sectorsize: 512
Mode: r2w2e3
DiskNo: 1
Error: No
3\. Name: ad1
Mediasize: 2147483648 (2.0G)
Sectorsize: 512
Mode: r2w2e3
DiskNo: 0
Error: No 

消费者是用来构建该 RAID 阵列的磁盘。磁盘名称列出时会显示其大小、磁盘编号(磁盘在阵列中的使用顺序)和错误状态。

JBOD 和 gconcat

由于 JBOD(Just a Bunch of Disks)没有提供任何磁盘故障保护,因此在命令行上无法做太多操作。可以使用 gconcat status 来检查 JBOD 阵列的状态,如下所示:

 freenas:~# gconcat status
Name Status Components
concat/myjbod UP ad3
ad1 

可以完全通过命令行创建、格式化和挂载 JBOD 阵列,但这没有太大意义,因为 web 界面无法识别新创建的阵列,因此无法通过 web 界面使用。此外,由于该阵列未保存在 FreeNAS 配置中,机器重启后会丢失。

RAID 0 和 gstripe

与 JBOD 类似,RAID 0 不提供任何磁盘故障保护,因此在命令行上无法做太多操作。RAID 0 阵列的状态可以通过 gstripe status 命令检查:

 freenas:~# gstripe status
Name Status Components
stripe/myraid0 UP da0
da1 

可以完全通过命令行创建、格式化和挂载 RAID1 阵列,但这没有太大意义,因为 web 界面无法识别新创建的阵列,因此无法通过 web 界面使用。此外,由于该阵列未保存在 FreeNAS 配置中,因此机器重启后会丢失。

RAID 1 和 gmirror

RAID 1(镜像)是 FreeBSD/FreeNAS 提供的四个基本 RAID 级别中的第一个,它对磁盘故障提供了一定的保护。

当镜像阵列中的一个磁盘(da0)丢失时,gmirror 状态的输出如下:

 freenas:~# gmirror status
Name Status Components
mirror/mymirror DEGRADED ad1 

重建镜像阵列的步骤与第九章中描述的相同。可以使用命令行来重建阵列,而不是使用网页界面。将新的磁盘重新安装到系统后,需要使用 forget 命令。这个命令听起来有点严厉,但不用担心,它不会忘记整个镜像集合,只会忘记那些当前不可用的硬盘。执行 forget 命令后,可以插入新磁盘,阵列将开始重建。

 freenas:~# gmirror forget mymirror
freenas:~# gmirror insert mymirror da0
freenas:~# gmirror status
Name Status Components
mirror/mymirror DEGRADED ad0
da0 (17%) 

一旦镜像集合重建完成,状态将变成这样:

 freenas:~# gmirror status
Name Status Components
mirror/mymirror COMPLETE ad1
da1 

RAID 5 和 graid5

磁盘故障后修复 RAID 5 阵列的过程与第九章中描述的完全相同,但这次我们将使用命令行而非网页界面。

使用 status 命令,我们可以看到该阵列存在问题:

 freenas:~# graid5 status
Name Status Components
raid5/myraid5 DEGRADED CALM ad3
ad1 

磁盘 da0 丢失,RAID 正在以降级状态运行。在替换磁盘后,我们准备与 RAID 集合中的其他磁盘同步。

新的磁盘需要被放回阵列中。可以使用 graid5 insert 命令来完成此操作。

 freenas:~# graid5 insert myraid5 da0 

阵列现在将开始重建。你可以通过再次使用 graid5 status 命令来检查它是否正在重建:

 freenas:~# graid5 status
Name Status Components
raid5/myraid5 REBUILDING CALM ad3
ad1
da0 (543162368 / 25% (p:0)) 

一旦阵列重建完成,它将恢复为 COMPLETE 状态。

 freenas:~# graid5 status
Name Status Components
raid5/myraid5 COMPLETE CALM ad3
ad1
da0 

FreeNAS 存储数据的位置

FreeNAS 服务器在多个地方(如 /etc/rc.d)存储重要文件。以下是 FreeBSD 系统中一些 FreeNAS 服务器使用的关键目录的汇总。

目录 重要性
/root root 用户的主目录
/mnt 所有磁盘和 RAID 集合都挂载在此目录下
/bin & /usr/bin 存储所有用户可执行的工具,如 chmodkill
/sbin & /usr/sbin 存储所有 root 可执行的工具,如 RAID 工具
/etc 该目录包含 FreeNAS 所需的各种配置文件。许多文件在启动时会创建。
/usr/local/www 这里存储了 FreeNAS 网页界面的网页文件。
/var/log 这里以及其下的所有目录中存储了 FreeNAS 服务器的日志文件。

注意

请注意,FreeNAS 的嵌入式版本只运行在 RAM 中(最初从硬盘或 USB 闪存盘加载),对操作系统文件所做的任何更改将是临时性的,系统重启后将恢复到原始状态。

杂项 & 零散

有许多命令在使用命令行时非常有用,虽然它们不大到足以单独成章,因此我将它们都放在这里一起介绍。

使用命令行中的 ping 和 arp

在第九章中,我们看过 ping 和 arp 命令。这些命令可以通过网页界面使用,也可以通过命令行使用。要从命令行 ping 另一台机器,输入:

 freenas:~# ping 192.168.1.42
PING 192.168.1.42 (192.168.1.42): 56 data bytes
64 bytes from 192.168.1.42: icmp_seq=0 ttl=64 time=0.718 ms
64 bytes from 192.168.1.42: icmp_seq=1 ttl=64 time=0.613 ms
64 bytes from 192.168.1.42: icmp_seq=2 ttl=64 time=0.536 ms
64 bytes from 192.168.1.42: icmp_seq=3 ttl=64 time=0.697 ms
^C
--- 192.168.1.42 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.536/0.641/0.718/0.072 ms

ping 命令与其他平台(如 Windows)有所不同,它会一直 ping,直到你按下 CTRL+C 停止。或者,你可以使用 -c 参数,只发送指定数量的 ping:

 freenas:~# ping -c 1 192.168.1.42
PING 192.168.1.42 (192.168.1.42): 56 data bytes
64 bytes from 192.168.1.42: icmp_seq=0 ttl=64 time=0.685 ms
--- 192.168.1.42 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.685/0.685/0.685/0.000 ms 

同时,要查看 ARP 表,可以输入:

 freenas:~# arp -a
? (192.168.1.42) at 00:08:02:5a:9b:f5 on lnc0 [ethernet]
Mac-Mini.lan (192.168.1.110) at 00:16:cb:a3:72:1c on lnc0
Toshiba-Laptop.lan (192.168.1.242) at 00:1b:9e:36:d9:ad on lnc0
speedtouch.lan (192.168.1.254) at 00:14:7f:2e:32:2d on lnc0 

创建目录和删除文件

之前我们看了一些简单的文件系统命令,比如更改目录(cd)、打印工作目录(pwd)和复制(cp)。这里有一些你在使用命令行操作文件系统时可能会用到的其他命令:

命令 描述
mv 将文件从一个位置移动到另一个位置,也可以实现重命名。例如 mv oldfilename newfilename
mkdir 创建一个目录。例如 mkdir temp
rmdir 删除一个目录。目录必须为空。例如 rmdir temp
rm 删除(删除)一个文件。例如 rm deleteme
rm -rf 删除(删除)一个非空目录,并删除其中的所有文件和子目录。使用时请小心!例如 rm -rf goodbyeworld

使用 nano 编辑文件

FreeNAS 软件中包括一个名为 nano 的小型文本编辑器。它由 GNU 提供,nano 体积小且易于使用。除了基本的文本编辑功能,nano 还提供了许多额外的功能,如交互式查找与替换、跳转到行和列号、自动缩进、功能切换、国际化支持和文件名自动补全。

要编辑一个文件,例如在某个磁盘上的文本文件,你可以输入:

 freenas:~# nano /mnt/store/readme.txt 

基本快捷键会显示在文本编辑器底部,帮助你快速找到所需的按键。如果你不熟悉编辑器,这一点特别有用。^ 符号表示按住 CTRL 键和提到的字母同时按下,因此 ^X 表示 CTRL+X

基本的快捷键包括:

^O 写出(保存)

^R 读取文件

^Y 上一页

^X 退出

^J 对齐

^V 下一页

你可以在此获取更多关于 nano 的信息:www.nano-editor.org/

使用命令行关闭系统

我们现在已经来到了本书最后一章的最后部分,随着书籍的结束,似乎适合展示如何通过命令行关闭 FreeNAS 服务器。要关闭服务器,请使用 shutdown 命令。使用 -p 参数时,服务器将关闭并关闭电源(如果硬件支持),使用 -r 参数时,服务器将重启。该命令还需要指定关闭时间,若立即关机,请使用 now 关键字。

 freenas:~# shutdown -p now 

 freenas:~# shutdown -r now 

如果你不想立即关机,而是想安排未来某个时间关机,你可以将 now 改为以加号开头的数字,表示多少分钟后关机。例如,若要在 5 分钟后关机,可以使用:

 freenas:~# shutdown -p +5 

最后,如果你想安排在某个特定的时间关机,可以使用 yymmddhhmm 格式指定关机时间,如果省略 yymmdd,则默认为今天。

今晚 23:15 的关机命令是:

 freenas:~# shutdown -p 2315 

在 2009 年 5 月 1 日 22:30(恰好是星期五)关闭的命令是:

 freenas:~# shutdown -p 0905012230 

总结

在本章中,我们已经了解了 FreeBSD。我们介绍了用于文件操作的基本命令,以及一些更复杂的命令来管理进程,包括启动和停止各种 FreeNAS 服务。我们还介绍了用于管理 RAID 阵列的命令。

posted @ 2025-07-05 19:50  绝不原创的飞龙  阅读(1)  评论(0)    收藏  举报