OpenFiler:开源网络存储设备
我曾经使用 Linux 设置过相当多的文件服务器,虽然这并不特别困难,但我经常认为应该有更好的方法来做这件事。OpenFiler 项目的开发者们绝对制造出了更好的捕鼠器。OpenFiler 团队似乎受到了 NetApp 文件服务器系列网络存储设备的启发,并开发出了一个开源克隆版本,让你可以使用任何 x86 计算机,并赋予它几乎所有 NetApp 文件服务器的功能。
OpenFiler 发行版是一个易于安装、易于使用、几乎是交钥匙的解决方案。在撰写本文时,当前版本是 2.3,它基于 rPath,因此它在需要的地方是专注和精简的,允许开发人员为其主要目的打包有用的功能。它甚至足够精简,可以在一些嵌入式系统上运行。功能列表非常全面,并且与 Snap 等公司提供的商业设备相比也毫不逊色。以下是 OpenFiler 的一些杀手级功能:
完整的 iSCSI 目标和发起程序支持。
支持光纤通道设备(取决于硬件)。
支持软件 (md) RAID 或硬件 RAID。
在线卷/文件系统扩展。
时间点快照。
数据同步/异步复制。
NFS、SMB/CIFS、HTTP/WebDAV 和 FTP。
支持用于快照卷的 SMB/CIFS 卷影复制服务。
支持 NIS、LDAP 和 Windows NT/Active Directory 身份验证。
灵活的配额管理。
易于使用的基于 Web 的管理 GUI。
OpenFiler 唯一的真正缺点是您必须付费才能获得管理指南。《安装指南》和降级版本的《管理指南》都可以在线免费获得,但当前版本的《管理指南》仅供付费客户使用,因为这是 OpenFiler 项目的资金来源。幸运的是,由于 OpenFiler 的 GUI,它很容易配置,因此这不是一个巨大的缺点。
如果您熟悉安装基于 Red Hat 的 Linux 发行版,那么安装 OpenFiler 对您来说将是小菜一碟。系统要求相当低。我曾经在配备 500MHz CPU、512MB RAM 和 2GB CompactFlash 的嵌入式 PC 上安装过 OpenFiler,但在这种情况下,它也可以安装在常规台式机和服务器上。从 CD 启动会将您带入图形安装程序(除非您在启动系统时使用 text 参数)。请注意,在机器中设置操作系统磁盘时,您必须选择手动分区;否则,您将无法稍后在 OpenFiler 管理 GUI 中设置数据存储磁盘。除此之外,这是一个相当标准的 Red Hat 风格的安装。安装完成后,下一步是通过将 Web 浏览器指向 https://IP_OF_OPENFILER:446 来配置您的 OpenFiler 实例。
现在您应该在 Web 浏览器中打开 OpenFiler 管理 GUI,如图 1 所示。根据《安装指南》,使用用户名“openfiler”和密码“password”登录。登录后,您将进入管理界面,位于主状态屏幕。从这里,您可以配置 OpenFiler 的几乎所有方面。
状态屏幕可以一目了然地向您显示重要的系统信息。特别方便的是,管理界面在控制台的标题栏中显示了机器的正常运行时间和负载平均值。屏幕截图未显示内存和存储图表,类似于图形化的 top。
系统屏幕是您可以设置和调整整体系统参数的地方,例如机器的 IP 地址或其高可用性/复制伙伴。它甚至在控制台中嵌入了一个基于 Java 的 SSH 客户端,因此您可以在需要时在机器上获得 shell,尽管任何 SSH 客户端也可以工作。注意:在这里定义 OpenFiler 将服务的主机或网络非常重要。如果您不这样做,您的 OpenFiler 将拒绝通过 NFS 或 SMB/CIFS 提供文件服务。添加它并不困难——我只是添加了一个语句来覆盖我的 192.168.1.0/24 网络——但在添加之前,OpenFiler 固执地拒绝与任何机器通信。这里需要注意的另一件事是,OpenFiler 支持创建绑定以太网接口,因此如果您正在构建关键任务文件服务器,您可以在服务器中放置两张网卡,将每张网卡连接到不同的网络交换机,然后您就拥有了网络级别的容错能力。
卷管理器是您可以向 OpenFiler 添加磁盘、创建文件系统和管理软件 RAID 的地方。OpenFiler 使用 Linux 逻辑卷管理器 (LVM) 作为其卷管理器,它支持 ext3 和 XFS 文件系统,用于本地连接到 OpenFiler 主机的存储。在这种情况下,因为我使用的是嵌入式 PC,所以我不得不通过 USB 将一个 320GB 磁盘连接到 OpenFiler。这不是问题——OpenFiler 愉快地允许我使用该 USB 磁盘创建一个卷组,然后我可以在该组内创建一个卷并开始布局文件系统。
管理界面中的下一个选项卡是配额选项卡。配额屏幕允许您按组、用户或访客设置配额,并且每个卷可以有不同的配额。例如,如果您的 OpenFiler 位于商业环境中,您可以将营销组中的每个人设置为 2GB 配额,工程组中的每个人可以拥有 10GB 配额,IT 组中的每个人都可以不受限制——除了 CEO,他也同样不受限制。拥有灵活的配额选项使您可以根据业务需求定制 OpenFiler。
共享管理器是您在卷中创建子目录,然后共享这些子目录的地方。您将在这里花费大量时间,设置目录、共享和访问权限。OpenFiler 的一个不错的特性是,您可以指定哪个网络服务共享特定的目录。例如,我可以设置一个仅限 SMB/CIFS 的 Sales 共享(所有销售人员都运行 Windows),一个仅限 NFS 的 Engineering 共享(所有工程师都运行 Linux)和一个由 SMB/CIFS 和 NFS 服务的 Sandbox 共享。然后,我可以使用相同的屏幕锁定各个共享的权限,以便只有这些组的成员才能读取或写入这些共享,而 Sandbox 是完全开放的。
在研究这篇文章时,我发现了一个有趣的琐事。如果您想通过 NFS 将目录共享到 Apple Mac,以便可以在 Finder 中挂载该目录,则必须指定共享的源端口高于 1024(这也被称为不安全的 NFS 选项)。Mac 不会与在特权端口上运行的 NFS 服务器通信。(是的,我有一台 Mac。我认为它是我 Ubuntu 机器的更花哨但知识较少的表亲。)
下一个选项卡是服务管理器,您可以在其中启用或禁用 OpenFiler 提供的网络服务。如果您计划仅将 OpenFiler 用作 NFS 服务器,则可以完全关闭 SMB/CIFS 服务,并节省服务器上的一些内存。此屏幕也是您可以指定选项的地方,例如 SMB/CIFS 服务器所属的工作组或 OpenFiler 是否连接了 UPS,以便在发生电源故障时它可以自动关机。OpenFiler 也可以充当 LDAP 服务器,您可以通过此屏幕备份或还原 LDAP 目录。
管理控制台中的最后一个选项卡是帐户管理器,您可以在其中定义您希望 OpenFiler 使用的身份验证方法。您可以在 OpenFiler 本身上运行内部 LDAP 服务器,并在本地创建用户和组。如果您有企业 LDAP,您也可以将 OpenFiler 指向您的企业 LDAP。如果您在 Windows 环境中,您可以设置 OpenFiler 以使用您的企业 Active Directory 进行身份验证,甚至可以使用旧式的 NT4 风格的域。
在 GUI 界面之下,OpenFiler 由许多开源软件驱动。它的核心是一个 rPath 操作系统,带有 2.6 内核,非常类似于 Red Hat Linux。OpenFiler 默认运行 SSH,因此您可以直接 SSH 连接到它并开始探索。基于 Web 的管理控制台由 Python 和 lighttpd 驱动。OpenFiler 也运行 snmpd,因此您可以使用 SNMP 查询它。HTTP/WebDAV 引擎似乎是 Apache。它使用标准的 Linux NFS 服务器,使用 Samba 执行 SMB/CIFS 任务,并利用 proftpd 作为其 FTP 服务器。
OpenFiler 支持各种物理块设备,如 SATA、SAS、SCSI、IDE 和 FC 磁盘。它还支持远程块设备,通过 iSCSI、AoE(ATA over Ethernet)和 FCoE(Fiber Channel over Ethernet)协议。它也支持标准的 Linux 软件 RAID。
OpenFiler 最有趣的功能之一是包含了分布式复制块设备 (DRBD) 引擎以及 Heartbeat HA 集群软件。DRBD 允许 OpenFiler 将其块设备复制到另一个 OpenFiler,无论是在同步模式还是异步模式下,因此您的备份 OpenFiler 可能在下一个机架或下一个州。当与 Heartbeat HA 软件结合使用时,该软件允许同一 LAN 上的两个 OpenFiler 使用虚拟 IP 地址,您就拥有了一个强大、可靠、容错的数据存储集群。如果主 OpenFiler 发生故障,辅助 OpenFiler 将通过两个单元之间的私有互连检测到故障,介入,接管虚拟 IP 地址并继续服务请求。
由于 OpenFiler 使用 Linux LVM,您可以轻松地将存储设备聚合到单个池中,然后根据需要将其切片成您想要的任何网络共享。使用 Linux LVM 的另一个好处是可以快速轻松地拍摄时间点快照,从而可以对 OpenFiler 设备进行一致的备份。
OpenFiler 是一个易于部署且易于使用的发行版,它非常出色地完成了一件事,那就是为网络客户端提供文件服务。如果您有旧电脑或笔记本电脑闲置,只需安装 OpenFiler 并连接一个大型 USB 磁盘,就可以将该系统变成 NAS 设备。另一方面,OpenFiler 非常适合安装在企业级服务器上,在那里它可以作为您企业 SAN 的一部分。不幸的是,开发人员选择仅向付费客户提供《管理指南》,但该项目需要通过某种方式获得资金。如果您需要文件服务器或某种形式的可联网存储设备,那么绝对值得一试。
通过 PXE 安装 OpenFiler
我安装 OpenFiler 的小型嵌入式 PC 没有光驱,所以我不得不通过 PXE 安装发行版。我将发行版 CD 复制到 NFS 服务器,并通过 NFS 导出该目录。然后,我将 CD 上 /isolinux 目录中的 vmlinuz 内核文件和 initrd.img initrd 存档复制到我的 PXE 服务器上的 tftp 目录。最后一步是将以下行添加到我的 PXE 服务器的 pxelinux 配置中
LABEL openfiler KERNEL vmlinuz APPEND initrd=initrd.img text askmethod ramdisk_size=8192 console=tty0
完成这些操作后,安装 OpenFiler 就像通过 PXE 启动我的系统,在启动提示符下选择 openfiler,然后在询问安装方法时回答“NFS”并将其指向导出的目录一样简单。OpenFiler 类似 Red Hat 的安装(得益于 rPath)使安装非常容易,并且通过 LAN 安装速度非常快。
资源
OpenFiler 首页: www.openfiler.com
OpenFiler 架构: openfiler.com/products/openfiler-architecture
OpenFiler 安装文档(图形化): www.openfiler.com/learn/how-to/graphical-installation
OpenFiler 安装文档(文本): www.openfiler.com/learn/how-to/graphical-installation
OpenFiler 1.1 管理指南(降级版): wwwold.openfiler.com/docs/manual
DRBD(分布式复制块设备): www.drbd.org
使用 DRBD 和 Heartbeat 安装和配置 OpenFiler: www.howtoforge.com/installing-and-configuring-openfiler-with-drbd-and-heartbeat
非官方 OpenFiler HA 集群 Wiki: wiki.hyber.dk/doku.php/openfiler_2.2_ha-cluster_guide
Bill Childers 是硅谷的一位 IT 经理,与妻子和两个孩子住在一起。他非常喜欢 Linux,可能应该时不时地多晒晒太阳。在业余时间,他为 Gilroy 大蒜节工作,但他身上没有大蒜味。