【Azure Batch】使用Start Task来挂载Storage Blob

简介: 本文介绍如何通过开始任务(Start Task)在Azure Batch节点上配置Storage Account Blob挂载。首先准备blobfuse2配置文件,然后编写包含安装、创建挂载目录及执行挂载的脚本,最后将脚本与配置文件通过Node Start Task设置,实现Blob存储的自动挂载,便于任务直接读写云端数据。

问题描述

本文将介绍如何使用开始任务(Start Task)为Batch Account Node配置Storage Account Blob挂载

 

问题解答

第一步:准备 blobfuse2 mount的配置文件

这里参考的是文档How to configure settings for BlobFuse2 (https://learn.microsoft.com/en-us/azure/storage/blobs/blobfuse2-configuration)中介绍的最简单的配置模板。

 

简单模板如下:

logging:
  type: syslog
  level: log_debug
components:
  - libfuse
  - file_cache
  - attr_cache
  - azstorage
libfuse:
  attribute-expiration-sec: 120
  entry-expiration-sec: 120
  negative-entry-expiration-sec: 240
file_cache:
  path: /mycontainer
  timeout-sec: 120
  max-size-mb: 4096
  
attr_cache:
  timeout-sec: 7200
azstorage:
  type: block
  account-name: <your storage account name>
  account-key: <your storage account access key>
  mode: key
  container: forbatch
  endpoint: https://<your storage account name>.blob.core.chinacloudapi.cn

PS:关于模板中参数的意义,可以参考文档中的详细介绍。

 

第二步:准备Batch Account Node的Start Task 脚本

脚本内容

/bin/bash -c "apt-get update && apt-get install -y blobfuse2 &&  cd /mnt/batch/tasks/fsmounts  &&  mkdir /mnt/batch/tasks/fsmounts/mycontainerblob  &&  sudo blobfuse2 mount  /mnt/batch/tasks/fsmounts/mycontainerblob  --config-file=$AZ_BATCH_NODE_STARTUP_DIR/wd/mountconfig.yaml

脚本介绍

1) 因为Batch Account的节点为Linux系统,所以第一步更新系统apt-get,确保最新版本

2) apt-get install -y blobfuse2 : 自动安装 blobfuse2,这是azure提供的工具,用于将blob挂载为本地系统文件

3) cd /mnt/batch/tasks/fsmounts : 切换到 Azure Batch 的挂载目录。

4) mkdir /mnt/batch/tasks/fsmounts/mycontainerblob 创建一个用于挂载 Blob 容器的本地目录。 mycontainerblob 是挂载点的名称,可以根据实际容器名称修改。

5) sudo blobfuse2 mount /mnt/batch/tasks/fsmounts/mycontainerblob --config-file=:使用挂载容器到刚创建的目录。指定了一个配置文件,包含连接字符串、容器名称、缓存设置等。AZ_BATCH_NODE_STARTUP_DIR/wd/ 是 Azure Batch 节点启动任务的工作目录,mountconfig.yaml 是第一步时准备好的配置文件。

6)  &&  : 用于连接前后两个命令。特别注意,两个命令之间必须使用 && 连接字符

 

第三步:把启动命令和配置文件填入Node Start Task页面

因命令中有安装/创建操作,所以需要提升权限为 Pool autouser, Admin权限。

此外,第二步中的config-file的文件路径就是下图中的 Resource Files。需要特别注意的就是,正确的工作目录为 $AZ_BATCH_NODE_STARTUP_DIR/wd/ , 需要多加一级 /wd/

保存,等待节点创建完成后就可以正常使用挂载目录,把文件直接写入到Storage Blob中。

 

参考资料

How to configure settings for BlobFuse2 : https://learn.microsoft.com/en-us/azure/storage/blobs/blobfuse2-configuration

在 Batch 池上装载虚拟文件系统: https://docs.azure.cn/zh-cn/batch/virtual-file-mount?tabs=windows

 


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
Linux
CentOS7.X磁盘挂载及取消挂载
CentOS7.X磁盘挂载及取消挂载
8582 0
解决传入的请求具有过多的参数,该服务器支持最多 2100 个参数
解决传入的请求具有过多的参数,该服务器支持最多 2100 个参数
|
12月前
|
运维 Kubernetes 算法
技术圈的“绯闻女孩”:Gossip是如何把八卦秘密传遍全网的?
Gossip协议,又称“八卦算法”,是一种去中心化的分布式通信协议。它通过节点间周期性地随机交换状态信息,实现元数据的高效同步与最终一致性。其核心机制包括直接邮寄、反熵和谣言传播,适用于大规模动态集群中的故障检测与数据复制,具有高容错、低耦合、易扩展等优点。
675 2
|
安全 数据安全/隐私保护 Windows
怡安(Aon)研究中描述SentinelOne的本地升级技术防护措施
怡安(斯特罗兹・弗里德伯格)研究团队发布了一项关于 SentinelOne Windows 代理潜在本地绕过技术的研究。研究人员于 2025 年 1 月通知 SentinelOne,公司随即发布更新并提供防护指南。该技术需攻击者具备本地管理员权限及访问 SentinelOne 签名安装程序的能力。SentinelOne 新增“本地升级授权”功能以阻止未授权升级,并默认为新客户启用。此外,还发布了检测规则和控制台更新,强化防护能力。此研究已共享给其他 EDR 厂商,共同提升安全性。SentinelOne 感谢斯特罗兹・弗里德伯格的合作,确保客户免受此类攻击影响。
508 6
|
Kubernetes 负载均衡 调度
【Docker 专栏】Docker Swarm 与 Kubernetes 的选型指南
【5月更文挑战第8天】Docker Swarm 和 Kubernetes 是两大容器编排工具,各有优势。Docker Swarm 简单易用,适合小到中型规模,与 Docker 生态系统集成紧密;而 Kubernetes 功能强大,扩展性好,适用于大规模、复杂场景。选择时需考虑团队技术能力、应用需求及现有技术栈。Kubernetes 学习曲线较陡,Docker Swarm 则较平缓。
1288 7
【Docker 专栏】Docker Swarm 与 Kubernetes 的选型指南
|
负载均衡 Java API
项目中用的网关Gateway及SpringCloud
Spring Cloud Gateway 是一个功能强大、灵活易用的API网关解决方案。通过配置路由、过滤器、熔断器和限流等功能,可以有效地管理和保护微服务。本文详细介绍了Spring Cloud Gateway的基本概念、配置方法和实际应用,希望能帮助开发者更好地理解和使用这一工具。通过合理使用Spring Cloud Gateway,可以显著提升微服务架构的健壮性和可维护性。
1133 0
|
NoSQL Java Redis
RedisTemplate 实现基于 Value 操作的简易锁机制
RedisTemplate 实现基于 Value 操作的简易锁机制
1444 0
|
网络安全 数据安全/隐私保护 Python
【专栏】如何使用 Python 编写脚本批量备份交换机配置
【4月更文挑战第28天】本文介绍如何使用 Python 编写脚本批量备份交换机配置。主要步骤包括了解交换机命令和接口,安装 `paramiko` 库,获取交换机登录信息。脚本实现分为建立 SSH 连接,执行备份命令并保存结果。示例脚本中,定义了 `backup_switch_config` 函数遍历交换机列表进行备份,每次备份后等待一段时间。此方法能有效提高网络管理效率。
1642 0
|
SQL 存储 安全
如何防护SQL注入
在互联网中,SQL注入攻击是网站和应用面临的主要安全威胁之一。攻击者通过在输入字段中插入恶意SQL代码,企图非法访问或操控数据库。防范措施包括限制查询长度、使用参数化查询、采用ORM框架、遵循最小权限原则、定期更新系统以及使用SCDN等专业安全产品,以增强防护能力,保护数据安全。
|
存储 缓存 Unix
sar命令详解
`sar`是Linux性能分析工具,用于收集和报告CPU使用率、内存、磁盘I/O、网络和进程活动等系统性能数据。基本语法:`sar [options] [interval] [count]`。例如,`sar -u 5`每5秒显示CPU使用情况。`-A`显示所有报告,`-o file`将结果保存到文件。要使用`sar`,需先安装`sysstat`包。不同发行版支持的选项可能有差异,建议查阅手册页。
679 2