我正在尝试使用Azure Batch创建池。我已使用文件共享将内容上传到Azure存储。 我希望我的Pool将此Azure文件共享安装为虚拟文件系统(参考:https://docs.microsoft.com/en-us/azure/batch/virtual-file-mount#mount-a-virtual-file-system-on-a-pool)。
我正在使用代码创建AzureFileShareConfiguration对象:
mount_configuration=batchmodels.MountConfiguration(azure_file_share_configuration=batchmodels.AzureFileShareConfiguration(
account_name="mystorage",
azure_file_url="https://mystorage.file.core.windows.net/my-share1",
account_key="mystorage/key==",
relative_mount_path="S"
)
)
使用此命令,我在fsmounts中得到“ CMDKEY:凭据已成功添加”。但是,当我将RDP发送到池中的节点时,S驱动器将显示为“已断开连接”。
我的Azure批处理程序包版本为: 天蓝色批次== 8.0.0 azure-common == 1.1.24
您能帮助诊断问题或建议正确的用法吗?
预先感谢!
答案 0 :(得分:1)
我认为这是您正在尝试的Windows VM吗?只需查看驱动器号: )
。
这是具有RDP权限的关键问题,与代码运行和安装时的批处理级别模型不同。
在挂载Drive:
的批次级别上,您可以通过Start task
看到它,然后它就可以工作了。即该批处理级别的许可模型,当您将RDP放入Node时,将以“用户”身份登录。如果要通过UI RDP用户查看,则应从RDP登录名重新运行该命令以更新具有查看该驱动器的密钥。
尽管已经说过,可以将/persistent:Yes
作为mount_options进行尝试。
S:\\Whatever_file.txt
进入安装目录,或读取将添加结果的安装文件在您的stdout.txt
批处理节点中,也可能只是它的dir
之类。在下面保留多余的东西
尝试使用此mount_options value
特别是,这将有助于各种SMB版本等。等支持:https://docs.microsoft.com/en-us/azure/storage/files/storage-how-to-use-files-windows,我想你已经知道了:https://docs.microsoft.com/en-us/azure/batch/virtual-file-mount#azure-files-share
为了在Azure区域之外使用Azure文件共享,它是 托管在本地或其他Azure区域中 必须支持SMB 3.0。
因此,将其添加到您的API并尝试一下:
MountOptions = "/persistent:Yes"
,即mount_options = "/persistent:Yes"
此外:密钥必须是存储帐户密钥,即它不应以mystorage/key
:)
开头,但是可能是您将其隐藏了,所以只需提一下即可。
示例代码:
我认为您拥有的SDK是python吗?
mount_configuration=batchmodels.MountConfiguration(azure_file_share_configuration=batchmodels.AzureFileShareConfiguration(
account_name="mystorage",
azure_file_url="https://mystorage.file.core.windows.net/my-share1",
account_key="mystorage/key==",
relative_mount_path="S",
mount_options = "/persistent:Yes"
)
希望这会有所帮助!
答案 1 :(得分:0)
relative_mount_path
:计算节点上将挂载文件系统的相对路径。所有文件系统都是相对于批处理装入目录装入的,可通过AZ_BATCH_NODE_MOUNTS_DIR
环境变量进行访问。
Azure Files是标准的Azure云文件系统产品。要了解有关如何在安装配置代码示例中获取任何参数的更多信息,请参见使用Azure Files share。