上一主题: IN-带防火墙的输入网关 (iptables)

下一主题: INSSL-带有 SSL 支持的 HTTP 网关

Filer_Solaris-Solaris Filer 组件

最新版本:4.0.1-1

Filer_Solaris:Solaris Filer 组件

概览

目录

Filer

类别

Filer

用户卷

yes

最小 内存

256 MB

操作系统

Solaris

约束

no

功能概述

Filer_Solaris 是一个为具有 Solaris 文件系统的卷提供文件系统级访问的 filer 组件。 Filer_Solaris 支持以下文件系统:ufssol 和 zfs,并支持以下操作模式:

format:将卷格式化为指定的文件系统(例如:执行 mkfs)

fscopy:在不同的卷之间执行文件系统级复制,复制前将会格式化目标卷

fsck:检查卷上的文件系统

fsrepair:检查并修复卷上的文件系统

manual:通过 Web GUI 和根 shell(通过 SSH)对卷提供用户级访问

在手工模式下,Filer_Solaris 通过其默认界面为卷提供 GUI 访问和根 shell。 在此模式下,Filer_Solaris 也可以选择为向卷复制文件或从卷复制文件的用户提供外部网络访问。 可以通过一个或两个卷执行 manual 模式操作。

Filer 组件由 AppLogic 在内部使用,且不应在常规 AppLogic 应用中使用。

边界

资源

资源

最小值

最大值

默认值

CPU

0.05

0.05

0.05

内存

256 MB

1 GB

512 MB

带宽

1 Mbps

1 Mbps

1 Mbps

终端

名称

目录

协议

说明

外部接口已启用。 它用于传入和传出流量,其网络设置是通过属性配置的。 它只能在手工模式下使用,在其他所有模式下无法进行配置。

默认接口已启用。 它用于维护。 此外,在手工模式下,它用于访问 Web GUI。

用户卷

说明

src

对两个卷进行文件系统级卷复制或管理时所用的源卷。 始终以只读方式挂接,但 Windows03 Filer 除外。

dst

Filer_Solaris 提供其访问的卷。 所有操作都在此卷上执行。 如果 mount_mode 属性是 ro,则在 fsck 模式和手工模式下以只读方式挂接,否则以读/写方式挂接。 在所有模式下必需。

属性

属性名

类型

说明

mode

enum

Filer 的运行模式。 有效值是:manual、format、fscopy、fsck、fsrepair。 此属性是强制性属性。

fs_type_src

enum

管理两个卷时 src 卷上的文件系统。 请参见 fs_type_dst 了解有效值。 此属性在管理两个卷时具有强制性;否则,忽略它。

fs_type_dst

enum

dst 卷上的文件系统。 它是 dst 卷上的当前文件系统或者是 dst 卷上要格式化的文件系统,具体取决于模式。 有效值为:ufssol 和 zfs。 此属性是强制性属性。

fs_options

string

用于格式化 dst 卷的其他文件系统选项,以 options=val 对的形式指定。 此属性特定于文件系统,仅在 format 或 fscopy 模式下有效。 有关对每个文件系统有效的选项,请参阅下文。 默认值:(空)

mount_mode

enum

手工运行模式下 dst 卷的挂接模式。 有效值是:rw、ro 和 none。 指定 none 值将不会挂接 dst 卷。 默认值:ro

ip_addr

ip_owned

定义手工模式下外部接口的 IP 地址。 如果设为 0.0.0.0,则不使用外部接口。 默认值:0.0.0.0(不使用)。

网络掩码

IP 地址

定义手工模式下外部接口的网络掩码。 如果指定 ip_addr,则必须指定此属性。 默认值:0.0.0.0。

网关

IP 地址

定义手工模式下外部接口的默认网关。 只有当远程主机在同一子网中时,才能将其留空;否则必须指定值。 默认值:(空)

dns1

IP 地址

定义手工模式下用于解析域名的主要 DNS 服务器。 这允许用户在上传文件到卷或从卷下载文件时指定主机名。 默认值:208.67.222.222(OpenDNS.org 地址)。

dns2

IP 地址

定义主要 DNS 服务器无响应时使用的备用 DNS 服务器。 默认值:208.67.220.220(OpenDNS.org 地址)。

vol_name_src

string

管理两个卷时 Filer 访问的 src 卷的名称。 默认值:(空)

vol_name_dst

string

Filer 访问的 dst 卷的名称。 默认值:(空)

运行模式

下表列出每个受支持文件系统的受支持模式:

 

format

fscopy

fsck

fsrepair

manual

ufssol

yes

yes

yes

yes

yes

zfs

yes

yes

no

yes

yes

在手工模式下:

对于所有文件系统(但不包括 swap),卷挂接在 /mnt/vol 上。

对于 swap 卷,可在 /dev/hda4 上访问块设备。

文件系统选项

本节列出了 Filer_Solaris 支持的每个文件系统的文件系统选项(如在 fs_options 上指定)。

ufssol

zfs

pool_name:要在 dst 卷上创建的 zpool 的名称。 如果被省略,则改为使用 vol_name 属性值。

mountpoint:已创建的 zpool 的根数据集的挂接点。 有效值为:一个绝对路径(例如 /mnt/mypool)、legacy 和 none。 具有旧挂接的数据集不是由 zfs 自动管理,而是需要 /etc/vfstab 中的条目或手工挂接。 mountpoint 为 none 的数据集是不可挂接的。 默认值:/pool_name。

autoreplace:控制自动设备替换。 如果设置为 off,必须使用 zpool replace 手工启动设备替换;如果设置为 on,则自动格式化并替换相同物理位置中找到的任何新设备。 默认值:off。

delegation 控制是否基于数据集上定义的权限授予非特权用户访问权限。 有效值为 off 和 on。 默认值:on。

failmode:控制失败时的行为。 有效值为 wait、continue 和 panic。 默认值:wait。

version:zpool 版本。 Valid values are 1-10. 默认值:10(当前)。

接口

Filer 组件在其默认接口上提供 HTTP 接口,用于收集非手工卷操作的相关状态信息,以及在手工模式下访问 Web GUI。 通过 URL 可获得下列功能:

/:通过 Web GUI 对 dst 卷进行交互式访问,只在手工模式下可用

/api/status:返回当前卷操作的状态,只在非手工模式下可用

输出格式如下:[progress=W, ]poll=X, status=Y, errortxt=Z

progress:整数 (0...100),当前操作的进度。 如果不能报告进度,则不返回进度字段。 不报告下列模式的进度:

所有文件系统的 format 模式

所有文件系统的 fsck 和 fsrepair 模式,但 ext2、ext3、ext3-snapshot 和 ufssol 模式除外

poll:整数,建议的状态轮询时间间隔(秒)。

status:整数,卷操作状态。 有关 Filer_Solaris 可以返回的状态的列表,请参阅下文。

errortxt:字符串,错误消息,如果出现错误(零状态)

下面列出了 Filer_Solaris 可以在状态字段中为特定的卷操作返回的状态:

0-成功

100-操作失败

101-不支持的操作

102-未执行的操作

103-取消的操作

104-I/O 错误

200-卷上没有空间

201-检测到文件系统错误

300-内存不足

400-未决

Web GUI

Filer 组件使用名为“eXtplorer”且基于 Web 的文件管理器为卷提供 Web GUI 访问(只在手工模式下可访问)。 eXtplorer 在 GNU GENERAL PUBLIC LICENSE Version 2 中已发布。 在 Filer 中使用的 eXtplorer 版本已修改。 下面是对 eXtplorer 的更改:

  1. 删除了登录。
  2. 更新了 eXtplorer,使其不显示自身的文件。
  3. 更改了文件列表,以便在“类型”列下显示所有链接的目标。
  4. 更改了当鼠标悬停在目录列表中某个目录上时生成的工具提示,以显示当该目录是符号链接时的符号链接目标。
  5. 更改了通过 GUI 创建符号链接的方式,以支持独立的链接。
  6. 更改了通过 GUI 删除文件的方式,以支持符号链接的删除。
  7. 添加了编辑任何可用卷的卷基本路径的界面。
  8. 更改了文件和目录列表的生成方式,以支持链接。
  9. 解决了相对和绝对链接(包括“...”)的问题。
  10. 添加了 chgrp/chown 的 UI,只允许数字条目。
  11. 在文件显示中添加了 owner/group。

Filer 组件上的 /mnt/monitor/.volume_browser/LICENSES/ 中提供了未修改的原版 eXtplorer 的 eXtplorer 许可证和源代码。

ZFS 实施细节

Filer_Solaris 支持包含单个虚拟设备的 zfs 池,以允许用户访问 zfs 卷,其访问方式与使用其他文件系统(如 ufssol)的卷相同。 可以使用 AppLogic 组件内的原始卷手工创建使用多个设备的更复杂的池,但是这样的卷无法与 Filer_Solaris 一起使用。 ZFS filer 操作被限制为以下行为。

使用 altroot 属性创建池。 因此,必须显式设置根数据集的挂接点,而不是默认为池名称。 这是因为将默认挂接点设置为 /altroot 而非 /altroot/pool_name 的当前 zpool 命令中存在缺陷。

fsrepair 执行 zpool scrub,并在完成时返回单行状态:成功或失败。 但是,zpool scrub 可以在运行组件的任何池中实时执行,并在出现问题时显示更多信息。

fscopy 仅支持文件系统数据集(不复制卷、快照和克隆数据集)。 fscopy 不保留管理权限。

虽然可以在创建时使用 fs_options 设置 zpool 版本,但是根数据集的 zfs 版本为 2,它不与版本 1 向后兼容。 Solaris 10 组件使用 zfs 版本 1。 要将 zfs 池与 Solaris 10 组件一起使用,请从原始卷手工创建这些池,而不是使用 Filer_Solaris。

Solaris filer 不支持 root zpool(zfs 启动卷)。 OpenSolaris 2008.05 中有一个缺陷,致使 root zpool 导入其他 Solaris OS 后无法启动。 OpenSolaris 2008.11 根本不允许导入可启动的 zpool。

典型用法

以下各节描述几个典型用例中的 Filer_Solaris 配置:

格式化卷

示例:

属性名

说明

mode

format

格式化卷

fs_type_dst

ufssol

使用 Solaris UFS 格式化卷

Filer_Solaris 对 dst 卷执行 mkfs,从而指定文件系统类型为 ufs。

文件系统级卷复制

示例:

属性名

说明

mode

fscopy

文件系统级副本

fs_type_dst

ufssol

使用 Solaris UFS 格式化目标卷

Filer_Solaris 使用 mkfs 将 dst 卷格式化为 ufs。 然后以只读方式挂接 src 卷,以读/写方式挂接 dst 卷。 最终,Filer_Solaris 使用 cp 将 src 卷的内容复制到 dst 卷并取消挂接这两个卷。

文件系统检查

示例:

属性名

说明

mode

fsck

文件系统检查

fs_type_dst

ufssol

要检查的卷具有 Solaris UFS

Filer_Solaris 在 dst 卷上执行 fsck。

使用修复选项执行文件系统检查

示例:

属性名

说明

mode

fsrepair

使用修复选项执行文件系统检查

fs_type_dst

ufssol

要检查和修复的卷具有 Solaris UFS

Filer_Solaris 使用修复选项在 dst 卷上执行 fsck。

对卷的用户级访问

示例:

属性名

说明

mode

manual

为卷提供用户级访问

fs_type_dst

ufssol

卷具有 Solaris UFS

mount_mode

rw

对卷的读/写访问

ip_addr

192.168.123.100

外部接口的 IP 地址

网络掩码

255.255.255.0

外部接口的子网掩码

网关

192.168.123.1

外部接口的网关

dns1

192.168.123.254

DNS 服务器

Filer_Solaris 在 /mnt/vol 中以读/写方式挂接 dst 卷。 然后启动 eXtplorer GUI 和 sshd,提供对卷的用户根访问权限。 GUI 可通过默认接口来访问,与卷之间进行的任何文件传输通过外部接口完成。

说明

Solaris Filer 基于 OpenSolaris 内部版本 2008.05

在非手工模式下,不提供 SSH 或 GUI 访问

组件中使用的第三方开源软件

Filer_Solaris 基于 OSOL。 已经从基类中删除大量软件包以构建 Filer_Solaris;除其基类 OSOL 使用的第三方/开源软件包之外,Filer_Solaris 还使用以下第三方/开源软件包。

软件

版本

已修改

许可

apache

2.2.8-1

Apache 2.0

php

5.2.6-1

PHP v3.01

eXtplorer

2.0.0_RC1-15

GPLv2

cpio

2.10-1

GPLv3