上一主题: NAS 组件下一主题: SQUID-SQUID 代理


NASR 组件

最新版本:3.1.2-1

NASR 组件

概览

目录

系统

类别

杂项 组件

用户卷

yes

最小 内存

160 MB

操作系统

Linux

约束

问题/注释

咨询论坛

功能概述

NASR 组件是共享的文件存储组件。 它提供可通过 HTTP、NFS 和 CIFS 文件协议以及用于管理文件的 Web 界面访问的文件存储。 另外,可以在主服务器-从服务器同步模式下配置两个 NASR 组件,以便将主服务器上的内容复制到从服务器。

NASR 组件为可配置(可插入)数据卷包含的文件提供服务,因此,使用它可以方便地更改组件服务的内容,并可以让卷具有不同的大小。 例如:如果使用 NASR 存储日志文件,则数据卷的大小不必要像存储 Apache 服务器内容所需的大小一样。

卷的根目录是共享的,HTTP、NFS、CIFS (samba) 服务器看到的是使用相同根目录的相同卷。 NFS 服务器将卷显示为一个名称为 /mnt/data 的共享。 CIFS 服务器将卷显示为一个名称为 share 的共享。 HTTP 服务器对卷的根目录进行只读访问,NFS 和 CIFS (samba) 服务器对卷的根目录进行读/写访问。

CIFS 访问是匿名的。 这种访问假定 cifs 终端上只连接了有权访问卷的组件。 这样,就无需在客户端和服务器上配置复杂的安全设置,并可以做到只连接需要对 cifs 输入进行文件访问的组件。

在使用默认配置时,NASR 相当于一个普通的 NAS 组件。 经过配置后,可以在主服务器-从服务器复制中运行两个 NASR 组件,以便不断地在从服务器上复制主服务器中的数据。 复制只是单向的,从服务器上发生的任何更改不会复制到主服务器。 复制是异步的,由主服务器的数据卷上发生的文件更改触发。 数据是通过本机协议使用 rsync 复制的。

NASR 组件有多个关键用例:

  1. 通过 HTTP 为大型文件提供服务。 可以通过文件管理器或 cifs/nfs 终端添加文件。
  2. 用作共享文件服务器,其他组件/服务器将通过它交换文件(完全在应用内部使用)
  3. 用作日志服务器,其他组件/服务器将通过它存储日志文件,因此,管理员无需登录每个组件就能轻松访问/查看这些日志。
  4. 用作复制文件存储(在上述任一情况下),在某个应用的两个实例(可能在不同位置运行)之间提供同步存储。

NASR 为其数据卷提供 GUI 访问,使您可以在组件运行时轻松管理内容。

重要信息! 请确认 NASR 的当前版本,以便最多能够处理数据卷上的 20000 个文件。 这是文件通知系统的内核限制。 有关详细信息,请参阅“说明”部分。

资源

资源

最小值

最大值

默认值

CPU

0.1

16

0.2

内存

160 MB

32 GB

256 MB

带宽

1 Mbps

2 Gbps

250 Mbps

终端

名称

目录

协议

描述

http

in

HTTP

在其上接收 HTTP 请求的终端。 该终端用于访问使用 HTTP/1.1 协议的 NASR 数据卷。 HTTP 请求由 HTTPD 服务器 2.2.15-15 版进行处理。

nfs

in

NFS

在其上接收 NFS 请求的终端。 该终端用于访问使用 NFS/3.0 协议的 NASR 数据卷。

cifs

in

CIFS

在其上接收 CIFS 请求的终端。 该终端用于访问使用 CIFS/1.0 协议的 NASR 数据卷。 CIFS 请求由 Samba 服务器 3.5.10-125 版进行处理。

rin

in

任何

接收来自远程 NASR 组件的数据的终端。 数据通过 rsync 本机协议 (tcp/873) 传输。 如果将组件配置为以从模式(repl_mode 为 slave 模式)运行,则必须连接该终端,否则它将无法启动。 如果该终端已连接,但组件未配置为以从模式运行,则组件同样无法启动。

rout

out

任何

发送发给远程 NASR 组件的数据的终端。 数据通过 rsync 本机协议 (tcp/873) 传输。 如果将组件配置为以主模式(repl_mode 为 master 模式)运行,则必须连接该终端,否则它将无法启动。 如果该终端已连接,但组件未配置为以主模式运行,则组件同样无法启动。

mon

out

CCE

发送性能和资源使用统计信息。
如果不使用此终端,可以让它保持未连接状态。

默认接口已启用。 这样,便可以使用 3t ssh comp 命令对组件进行 SSH 访问以执行维护或排查问题。 默认接口还可用于访问基于 Web 的文件浏览器,可在组件运行时管理数据卷上的内容。

用户卷

描述

data

为组件服务的文件提供存储的读/写卷

下列文件可能驻留在卷的根目录内:

文件

描述

.htpasswd

当 http_sec_mode 为 htpasswd 时要使用的 HTTP 密码文件。 如果存在,该文件无法从 http 接口访问,但可通过 cifs/nfs 接口访问(以便可以添加新用户/更改密码)

属性

属性名

类型

描述

http_url_prefix

字符串

Web 服务器应在其上公开文件系统的根路径 (URL)。 默认值:/

http_dir_enabled

字符串

当目录不包含 index.html 文件时,启用/禁用目录列表的显示(yes 或 no)。 默认值:no

http_sec_mode

字符串

HTTP 安全模式(none、single 或 htpasswd)。 指定 None 允许任何用户访问。 指定 Single 只允许访问由 http_user 和 http_pwd 属性配置的一个用户名。 指定 htpasswd 将使用数据卷根目录中的 .htpasswd 文件。 如果设为 .htpasswd 并且 /mnt/data/.htpasswd 文件不存在,则组件无法启动。 默认值:none

http_sec_realm

字符串

如果 http_sec_mode 是 single 或 htpasswd,则为 HTTP 安全领域。 默认值:受限区域

http_user

字符串

如果 http_sec_mode 是 single,则为 HTTP 访问的用户名。 默认值:(空)

http_pwd

字符串

如果 http_sec_mode 是 single,则为 HTTP 访问的密码。 如果 http_user 设置为有效用户,该属性可以保留为(无密码)。 默认值:(空)

cifs_read_only

字符串

将 CIFS 访问限制为只读(yes 或 no)。 默认值:no

cifs_case_sensitive

字符串

启用/禁用区分大小写的文件路径(yes 或 no)。 默认值:no

nfs_read_only

字符串

将 NFS 访问限制为只读(yes 或 no)。 默认值:no

log_dir

字符串

从要存储 http 和 samba 服务器日志文件的数据卷的根目录开始的目录。 例如:如果该属性设置为 /,则将日志文件存储在数据卷的根目录内。 如果该属性为,则只会将 httpd 错误日志写入数据卷的根目录中。 默认值:/

timezone

字符串

指定在组件中使用的时区。 如果此属性为空,则时区未经修改且保持原样。 此处提供可支持时区的列表。 CA AppLogic® 2.4.7 以前的版本未提供时区属性。 默认值:空

rpl_mode

字符串

配置目标为远程 NASR 组件的复制。 接受的值:
none-不复制。
master-以主模式运行,数据卷上的内容通过 rout 终端复制到远程组件上。
slave-以从模式运行,数据卷上的内容通过 rin 终端同步到远程组件上。 对从组件所做的更改将不会复制到主组件。
默认值:none。

rpl_pwd

字符串

以主模式或从模式运行时复制的密码。 如果保留为空,则不需要任何密码。 如果在从 NASR 组件上进行此设置,则必须在主组件中指定相同的密码,否则将无法连接到从组件。 默认值:空

错误消息

当组件无法启动时,网格控制器的组件日志文件或系统日志中可能会出现下列消息:

错误消息

描述

无法设置时区!

无法设置时区属性配置的组件时区。

无法挂接数据卷!

无法挂接数据卷。

无法对数据卷中的根目录设置权限!

无法针对数据卷中的根目录将权限设置为 777。

日志目录 [$log_dir] 不在数据卷上,请指定有效值!

$log_dir 的扩展路径不相对于数据,可能是因为 $log_dir 中使用了“..”。

无法启动 samba! 错误: [$error]!

无法启动 Samba 后台进程。

无法启动 nfs! 错误: [$error]!

无法启动 NFS 后台进程。

无法启动 httpd! 错误: [$error]!

无法启动 HTTP 后台进程。

无法开始复制! 错误: [rpl_mode 设为主组件,但 rout 终端未连接]!

复制模式设为主组件,但是 rout 终端未连接到从组件。

无法开始复制! 错误: [rpl_mode 设为从组件,但 rin 终端未连接]!

复制模式设置为 slave,但 rin 终端未连接到主服务器。

无法开始复制! 错误: [rout 终端已连接,但 rpl_mode 未设置为 master]!

复制模式设置为 none,但 rout 终端已连接。

无法开始复制! 错误: [rin 终端已连接,但 rpl_mode 未设置为 slave]!

复制模式设置为 none,但 rin 终端已连接。

无法开始复制! 错误: [复制模式 ${rpl_mode} 的值无效]!

复制模式的值无效。

此外,在组件运行时,网格显示板上可能会显示以下错误:

错误消息

描述

数据卷上可用运行空间不足,请检查!

数据卷上的可用空间低于 20%。

Rsync 后台进程未运行,正在启动!

配置为从组件的组件上的 rsync 后台进程未运行并且已启动。

复制过程未运行,正在启动!

配置为主组件的组件上的复制过程未运行并且已启动。

复制没有处于活动状态,无法停止! 可能需要手工干预!

配置为主组件的组件上的复制过程正在运行但未正常工作。 此外,无法为了重新启动而取消该过程。 需要手工干预来取消该过程。

复制没有处于活动状态,正在重新启动!

配置为主组件的组件上的复制过程正在运行但未正常工作,已重新启动。

复制

可以在主服务器-从服务器复制中配置两个 NASR 实例,以便不断地在从服务器上复制主服务器中的数据。 复制只是单向的,从服务器上发生的任何更改不会复制到主服务器。

复制是异步的,由主服务器的数据卷上发生的文件更改触发。 更改将保存在缓冲区中,并且对主服务器上数据卷中的文件所做的任何更改(如果有)将每隔 5 秒复制到从服务器。 在完成当前的更改传输轮次之前,不会执行新的同步。 log_dir 的内容不会复制到从服务器,如果 log_dir 为空或者为“/”,则只有 samba 和 httpd 日志文件(/mnt/data/cifs_log、mnt/data/http_access_log、/mnt/data/http_error_log)被排除在复制之外。

启动组件后,将执行数据卷的完全同步。 每当 healthcheck cronjob 启动(重新启动)复制时,也会执行此同步(下面将会介绍)。

数据是通过默认端口 (tcp 873) 上运行的本机协议并使用 rsync 复制的。

数据卷上发生的更改将使用 Gamin 监控。

Healthcheck

INSSLR 每分钟运行一次 cronjob 以检查:

如果上面任何一项为“是”,则将错误消息发送到网格显示板。 如果多个测试失败,网格显示板上将发布包含所有错误的摘要消息。 每小时只会向网格显示板发送每条错误一次。 组件启动后的前 5 分钟不会报告错误(防止当复制中的另一个节点未启动时出现误报)。

Web GUI

NASR 为数据卷的文件系统提供了 Web GUI 访问。 当组件运行时,可以使用此 Web GUI 来修改卷上的内容。 默认接口上的 Web 控制台中提供了此 GUI。 它与 Filer 组件使用相同的文件浏览器 (eXtplorer)。

《网格用户指南》中提供了有关卷浏览器 GUI 的参考信息。

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

内容服务器

下图显示将 NASR 用于简单 Web 服务器应用的典型用法:

正在使用的组件:

本例中 NAS 组件用于提供下列三种功能:

HTTP 访问:

in 接受传到应用的 HTTP 请求,并通过其 http 终端将请求传递给交换机。 交换机通过其 out1 终端发送要由 srv1 和 srv2 服务的动态内容的 HTTP 文件请求(由 lb 提供负载均衡)。 Urlsw 通过其 out2 终端转发要由 nas 服务的所有其他 HTTP 请求。

示例:

属性名

注释

data

mydata

保存由 Web 服务器提供服务的文件的数据卷

http_url_prefix

/images

Web 服务器应在其上公开文件系统的根路径。

http_dir_enabled

目录列表已禁用。

http_sec_mode

没有为 HTTP 访问启用安全性。

cifs_read_only

CIFS 共享公开为读/写访问权限。

cifs_case_sensitive

yes

启用区分大小写的文件路径。

nfs_read_only

启用基于 NFS 的写访问。

rpl_mode

未完成复制。

日志服务器

下图显示了 NASR 作为日志服务器的典型用法。

正在使用的组件:

本例中的 nas 组件用于为两个 Web 服务器和一个数据库服务器存储日志文件,并使这些文件可通过其 http 终端使用。 NAS 组件还充当上例所述的两个 Web 服务器的共享存储。

Web 服务器(web1 和 web2)和数据库服务器 (dbase) 的日志终端全都连接到 NAS 的 cifs 终端,以便在他们写入其日志文件时,将文件存储在数据卷(在 NAS 中配置)上。

当管理员需要检查日志文件时,使用端口 8080 上的 in 网关进行连接(该网关连接到端口交换机组件,可将端口从 8080 改为 80),并将请求传给 NAS 组件的 http 终端。 管理员使用配置的用户名和密码登录,并显示数据卷的根目录的列表,然后自由查看感兴趣的日志文件。

示例:

属性名

注释

data

data

保存日志文件的数据卷

http_url_prefix

/logs

可以在其上访问日志文件的 URL 根路径。

http_dir_enabled

yes

已启用目录列表。

http_sec_mode

single

HTTP 安全模式为单用户。

http_user

admin

HTTP 访问的用户名。

http_pwd

admin123

HTTP 访问的用户密码。

cifs_read_only

CIFS 共享公开为读/写访问权限。

cifs_case_sensitive

yes

启用区分大小写的文件路径。

nfs_read_only

启用基于 NFS 的写访问。

rpl_mode

未完成复制。

主-从配置中的复制共享存储

下图显示了冗余应用中 NASR 的典型用法,其中同一应用的两个副本在复制数据库和文件存储时以主-从模式运行。

主应用:

从应用:

正在使用的组件:

本例中的 NAS 组件用作 srv1 和 srv2 的共享存储。 它还用作 srv1、srv2 和 db 的日志服务器。

主应用中 NAS 组件的内容卷上的数据持续复制到从复制的 NAS 组件。 主 NAS 的 rout 终端连接到 ctl 终端,该终端提供指向从复制的加密通道,在此将流量发送到从 NAS 的 rin 终端。 在从应用上,db 组件的 rout 终端连接到 vpn 组件的 ctl,以便从 mysql 服务器可以连接到主应用中的 db 组件来运行 mysql 复制。

在应用 srv1、srv2 和 db 上配置为登录 NAS 组件上的相同目录(“/logs”),该目录还可以用于存放本地 NAS 日志并从复制中排除该目录,因此 NAS 的每个实例可为使用中的应用保存日志。

示例:

主 NAS

属性名

注释

data

data

保存日志文件的数据卷。

log_dir

/logs

存储 NASR 日志的数据卷的目录。

cifs_read_only

CIFS 共享公开为读/写访问权限。

cifs_case_sensitive

yes

启用区分大小写的文件路径。

nfs_read_only

启用基于 NFS 的写访问。

rpl_mode

master

未完成复制。

主 vpn

属性名

注释

mode

两者

作为客户端和服务器运行。

tunnel

证书

使用 SSH 密钥文件。

auth_path

"client1"

SSH 密钥文件的路径。

tcp_ports

3306,22

允许使用 MYSQLR64 需要的端口。

ip_addr

master_vpn_ip

主应用中的 VPN 的 IP 地址。

remote_host

slave_vpn_ip

从应用中的 VPN 的 IP 地址。

从 NAS

属性名

注释

data

data

保存日志文件的数据卷。

log_dir

/logs

存储 NASR 日志的数据卷的目录。

cifs_read_only

CIFS 共享公开为读/写访问权限。

cifs_case_sensitive

yes

启用区分大小写的文件路径。

nfs_read_only

启用基于 NFS 的写访问。

rpl_mode

slave

未完成复制。

从 vpn

属性名

注释

mode

两者

作为客户端和服务器运行。

tunnel

证书

使用 SSH 密钥文件。

auth_path

"client1"

SSH 密钥文件的路径。

tcp_ports

873

允许使用 NASR 需要的端口。

ip_addr

slave_vpn_ip

从应用中的 VPN 的 IP 地址。

remote_host

master_vpn_ip

主应用中的 VPN 的 IP 地址。

重要信息! 从 NAS 可以配置为允许在 nfs 终端上进行只读访问,以便不从本地应用服务器完成写入操作。 此类更改将不会复制到主 NAS,因为复制仅是单向的。

注释

请注意下列各项:

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

除了在组件基类(LUX6 是 NASR 的基类)中发现的软件之外,还使用了下列第三方开源软件。

软件

版本

已修改

许可

注释

libgcrypt

1.4.5-9.el6_2.2

No

GPLv2

不适用

libgpg-error

1.7-4

No

GPLv2

不适用

samba-client

3.0.33-3.37.ca

No

GPLv3+ 和 LGPLv3+

不适用

samba-common

3.0.33-3.37.ca

No

GPLv3+ 和 LGPLv3+

不适用

samba-winbind-clients

3.0.33-3.37.ca

No

GPLv3+ 和 LGPLv3+

不适用

组件上使用的第三方软件

NASR 除了使用其基类 LUX6 所用的第三方开源软件包之外,还使用下列第三方/开源软件包。

软件

版本

已修改

许可

注释

apr

1.3.9-5.el6_2

No

Apache 2.0

不适用

apr-util

1.3.9-3.el6_0.1

No

Apache 2.0

不适用

cups-libs

1.3.7-18

No

GPLv2

不适用

cURL

7.15.5-9

No

MIT

不适用

gamin

0.1.10-9

No

LGPLv2.0

不适用

gmp

4.3.1-7.el6_2.2

No

LGPLv2.1

不适用

gnutls

2.8.5-4.el6_2.2

No

LGPLv2.1

不适用

libgcrypt

1.4.5-9.el6_2.2

No

LGPLv2.1

不适用

libgpg-error

1.7-4

No

LGPLv2.1

不适用

libidn

1.18-2

No

LGPLv2.1

不适用

libjpeg

6b-46

No

可分发

不适用

libpng

1.2.49-1.el6_2

No

Zlib

不适用

libsmbclient

3.0.33-3.37.ca

No

GPLv2

不适用

libtiff

3.9.4-6.el6_3

No

MIT

不适用

mailcap

2.1.31-2

No

ISC

不适用

perl-Convert-ASN1

0.22-1

No

Artistic

不适用

php

5.3.3-14.el6_3

No

PHPv3.01

不适用

php-cli

5.3.3-14.el6_3

No

PHPv3.01

不适用

php-common

5.3.3-14.el6_3

No

PHPv3.01

不适用

quota

3.17-16

No

BSD

不适用

rsync

3.0.6-9

NO

GPLv2

不适用

samba

3.0.33-3.37.ca

No

GPLv2

不适用

samba-client

3.0.33-3.37.ca

No

GPLv2

不适用

samba-common

3.0.33-3.37.ca

No

GPLv2

不适用

perl-Sys-Gamin

0.1-1

Yes

Artistic

不适用

httpd

2.2.15-15

Yes

Apache 2.0

不适用

extplorer

2.0.0_RC1-18

Yes

GPLv2

不适用