网络附加存储 NAS
Last updated
Last updated
本指南介绍如何将 配置为 Alluxio 底层存储系统的操作步骤。 NAS(Network Attached Storage)是一种通过网络(如以太网)提供集中存储服务的设备或架构,支持多协议(如NFS、SMB、AFP等),允许客户端访问共享存储资源, 它常用于跨网络环境访问远程文件,在 Linux 系统中常用于共享存储。有关 NAS 和 NFS 的更多信息,请参考 。
Alluxio支持两种方式,将 NAS 用作 Alluxio 的底层文件系统(UFS):
将 NAS 挂载到本地文件系统,Alluxio 会像操作本地文件系统一样操作 NAS 中的文件;
使用 NFS 客户端完成对 NAS 的所有文件操作。
当使用 Operator 部署 Alluxio 集群时,可以通过设置 hostPaths
字段,将节点上的 NAS 路径挂载到 Worker 容器中的路径:
其中 /mnt/nas
是 NAS 在节点上的挂载路径。
使用 Operator 创建挂载点的 ufs.yaml
示例:
如果不使用 Operator,可以使用以下命令将 /mnt/nas
挂载到 Alluxio 的 /nas
路径下:
在将 NAS 配置为 Alluxio 的底层存储系统之前,请确保您满足以下要求:
<NAS_SERVER_IP>
托管共享目录的 NAS 服务器的 IP 地址。
<SHARED_DIR>
NAS 服务器上导出的目录的绝对路径(例如:/nas_share
)。
<CLIENT_RANGE>
被允许访问共享目录的客户端 IP 范围(例如:192.168.1.0/24
)。
<NAS_VERSION>
NAS 协议版本(Alluxio 当前仅支持 v3)。
通过K8s的operator来创建一个挂载点如下:
将nas://<NAS_SERVER_AUTHORITY>/<NAS_EXPORT_PATH>/
挂载至 /nas
的命令示例如下:
请注意,如果要挂载 NAS 导出路径的根目录,请在导出路径后添加斜线(如 nas://<NAS_SERVER_AUTHORITY>/<NAS_EXPORT_PATH>/
),NAS_SERVER_AUTHORITY
是一个用户可以自定义的具有唯一性的字段,用来唯一地代表某个NAS sever,比如有两个NAS server都需要mount到Alluxio上,NAS_SERVER_AUTHORITY
可以分别为nas_1
和nas_2
来区分两个不同的NAS server。
在使用 Alluxio 挂载和访问 NAS(Network Attached Storage)时,为了优化性能和资源利用率,可以通过调整部分底层文件系统相关参数,实现更精细化的控制。以下是两个常用的配置项说明:
该参数用于设置从 NAS 读取数据时,输入流所使用的最大缓冲区大小。默认值为 8MB
,该缓冲区用于在读取文件内容时缓存数据,从而减少与底层存储的交互次数。增大该值通常可以提升顺序读取性能,特别是在读取大文件时效果更为显著。但需要注意,如果缓冲区设置过大,可能会增加内存使用,建议根据实际业务场景和节点内存情况进行调优。
该参数用于控制在执行 ls
操作(如 listStatus()
)时,每个响应所能包含的最大字节数。默认值为 4MB
。该设置主要用于分批获取大量文件元数据,避免单次请求返回数据过大,造成内存压力或网络阻塞。适当减小该值可以提升系统的响应稳定性,尤其是在包含大量子文件/子目录的大目录结构中非常有用。
使用 来增加一个新的挂载点, 指定Alluxio路径在其上创建挂载,指定NAS导出的路径作为UFS URI。NAS服务器的IP地址、用户ID和用户组ID等配置选项也可以通过指定 --option
标志作为挂载命令的一部分来指定,如所述。