能否将Azure Data Lake Store/Blob Storage挂载为驱动器以简化数据迁移?
解决方案:将Azure Data Lake Store/Blob Storage挂载为驱动器并简化迁移工作
没问题!完全可以把Azure Data Lake Store(ADLS Gen2)或Blob Storage挂载成Windows/Linux虚拟机上的本地驱动器,这绝对能帮你大幅简化数据迁移和软件适配的流程——不用大改原有程序的路径逻辑,直接沿用原来的操作习惯就行。
一、Windows虚拟机上的挂载方法
1. 图形化快速挂载(推荐新手)
用Azure Storage Explorer就能轻松搞定:
- 打开Azure Storage Explorer,登录你的Azure账号
- 找到目标Blob容器/ADLS Gen2文件系统,右键点击「映射为网络驱动器」
- 跟着向导选好驱动器号、认证方式(推荐用SAS令牌或Azure AD账号),完成后就能在「此电脑」里看到对应的驱动器,和本地磁盘用起来没区别
2. 命令行挂载(适合自动化场景)
如果需要批量操作或者脚本化,用PowerShell的New-PSDrive命令就行:
New-PSDrive -Name Z -PSProvider FileSystem -Root "https://<你的存储账户名>.dfs.core.windows.net/<文件系统/容器名>" -Credential (Get-Credential) -Persist
替换掉尖括号里的内容,执行后就能得到一个持久化的网络驱动器。
二、Linux虚拟机上的挂载方法
Linux下微软官方推荐用blobfuse2工具,它能完美支持Blob Storage和ADLS Gen2的挂载,步骤很清晰:
- 先安装blobfuse2(以Ubuntu为例,其他发行版可以参考官方文档调整):
sudo apt-get update && sudo apt-get install blobfuse2 -y - 创建本地挂载目录,比如
/mnt/azure_storage:sudo mkdir /mnt/azure_storage - 写一个配置文件(比如
azure_mount_config.yaml),填入你的存储信息(这里用SAS令牌认证,也可以用Azure AD):type: block accountName: <你的存储账户名> containerName: <容器/文件系统名> sasToken: "<你的SAS令牌>" mountOptions: - allow_other # 让所有用户都能访问挂载目录 - 执行挂载命令:
挂载成功后,你就可以用sudo blobfuse2 mount /mnt/azure_storage --config-file=azure_mount_config.yamlls、cp这些常规命令操作Azure里的文件了。如果需要开机自动挂载,把挂载命令加到/etc/fstab里就行。
三、迁移小技巧
- 挂载完成后,直接用系统自带的工具迁移数据:Windows用
robocopy(比复制粘贴更稳定),Linux用rsync,不用写复杂的迁移脚本 - 数据摄入和后处理软件只需要把原来指向网络驱动器的路径改成挂载后的驱动器号(Windows)或本地目录(Linux),大部分情况下不用改代码
- 如果要迁移大量小文件,开启挂载工具的缓存功能(blobfuse2支持本地缓存,Windows可以配置离线文件),能显著提升迁移速度
内容的提问来源于stack exchange,提问作者Ekaterina Ermilova
相关产品推荐
相关产品推荐

