Azure存储管理工具——AzCopy

简介:

在Azure公有云服务中,存储服务是用户非常依赖也是非常核心的一项功能,之前博文也有提到过一些与Azure存储相关的内容,都是从一些实用场景来切入的,比如SQL备份到Blob并还原。

 

用过Azure存储服务的筒子们都知道Azure主要分为存储账户,容器,此外还有文件服务(可能国内还没有上线),粒度更细的划分还包括三类存储类型,分别是Blob、table以及queue。blob应该是用途最广泛的,我的理解它应该是一种典型的对象类存储;后两者table是用来存放非结构化数据的,queue呢我个人感觉用途更窄一些。对于国内版本Azure每个订阅下最多应该能够支持50个存储账户,每个存储账户下各种类型的数据大小总和上限应该是500GB如果没记错的话,那么显然Azure能够提供PB级的数据量管理能力,想想还是够用的。。。

wKioL1S9E4Ogl6XBAACmuemJSgI462.jpg

Blob里面又分块blob和页blob,单个块blob最大容量200GB,适用于一些图片,音频,视频等文件类型,页blob适用于一些随即写入类型的文件,最典型的就是虚拟机的vhd文件。因此Azure VM默认都是以页blob来存放vhd文件的,单个容量最大1TB,这也是为什么我们在Azure上给VM附加磁盘时最大只能1TB。

###################################################################

想要管理并使用Azure存储上的数据,除了通过接口调用之外,微软提供了几种现成的管理工具,以便用户能够随时在本地和云端上传下载,AzCopy就是其中一个选择。

 

AzCopy可以通过官方网站下载离线安装包,如下图:

wKioL1S9Dm3zTvbzAATJNHeVvFk586.jpg

或者可以通过Web Installer安装Azure PowerShell也会一并把AzCopy装上,安装后的路径如下:

wKiom1S9DZqQBS5qAASxRzULHR4014.jpg

打开AzCopy后(Microsoft Azure Storage tools),可以通过/?来查看使用帮助和一些简单示例:

wKioL1S9Dm3z0uHRAAYrsiWXusU023.jpg

###################################################################

下面就在我的环境里做几个简单并且常用的演示,首先我在本地D:\test下准备了三个文件,后缀都不一样,如下图:

wKiom1S9DZuSj2RjAAK_7oqt6Dc988.jpg

另外在我Azure订阅下准备了一个叫做labstorage01的storage account,里面会用到两个容器(container),分别为labcontainer01和02,如下图:

wKioL1S9Dm7gBZ69AAKUB9v4srY750.jpg

AzCopy的语法还是很好理解的,基本就是围绕source和destination,key这些关键字段来进行的,以下面的截图为例,我将本地d:\test下的文件拷贝到labcontainer01容器下,/S指定递归模式,也就是将test文件夹下的所有文件全部上传:

wKiom1S9DZuzfcwSAAKmhjRUSY4625.jpg

完成后可以在Azure门户上查看到,如下图:

wKioL1S9Dm6Cb8AQAAJP3Qd7G70190.jpg

根据上传文件类型的不同,可以指定blob类型为块或者页,如下图所示:

wKiom1S9DZuxq2pRAAKML9n7mJ0935.jpg

上传后的vhd文件属性显示为页blob,如下图:

wKioL1S9Dm7R68q2AAJlIiubJA4085.jpg

这里我再准备另外一个存储账户labstorage02,并且在这个账户下创建了新的容器labcontainer03:

wKiom1S9DZzwd-CCAAIjEcMHKys768.jpg

通过AzCopy就可以在不同的存储账户中转移数据,如下图:

wKioL1S9Dm-wwTYpAANJGjeQWmU255.jpg

通过上面的指令将labstorage01下labcontainer02里面vhd文件拷贝到labstorage02下labcontainer03容器中,如下图:

wKiom1S9DZzxC8GUAAIMQH87CAQ910.jpg

此外如果是想模糊匹配指定的文件名或单独的文件,可以通过/pattern:来定义,例如下图指定所有t开头的文件,并以/S方式全部拷贝至目的路径:

wKioL1S9Dm-AnhJ2AAMKnhU4-oU806.jpg

同样AzCopy如果在执行过程中意外中断,可以通过/Z来生成日志文件并恢复操作(journal file),/V用来生成Log;对于这两个参数如果不指定其他路径的话,文件就生成在默认路径当中:

wKioL1S9Dm_i-GvNAAJxpxruQIY195.jpg

很奇怪的是我用/Z没有找到journal file,但是Log文件还是可以正常生成的,默认路径在下图所示:

wKiom1S9DZ2BxLKDAAKgoQIoSBE517.jpg

当然日志文件中的内容和大家通过command line窗口中看到的差不多,如下图:

wKioL1S9DnDjFbefAAM6CwDN0Q8077.jpg

###################################################################

总的来说,AzCopy是一个很不错的工具,用来管理Azure存储中的数据非常方便,这里依然还有不少没有提及的功能,例如设置并发执行数(concurrent),在Azure Blob与Azure FileShare中彼此拷贝数据,管理table数据等等,并且AzCopy也在不断更新当中,相信在日后会带来更多优秀的功能。



本文转自maomaostyle 51CTO博客,原文链接:http://blog.51cto.com/maomaostyle/1605939,如需转载请自行联系原作者


相关文章
|
关系型数据库 MySQL Java
Sakai-21部署
记录了两种部署方式: ① 二进制部署 ② 源文件部署
Sakai-21部署
|
12月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
352 32
|
机器学习/深度学习 存储 TensorFlow
【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)
【Python机器学习】卷积神经网络卷积层、池化层、Flatten层、批标准化层的讲解(图文解释)
719 0
|
10月前
|
人工智能 Kubernetes jenkins
容器化AI模型的持续集成与持续交付(CI/CD):自动化模型更新与部署
在前几篇文章中,我们探讨了容器化AI模型的部署、监控、弹性伸缩及安全防护。为加速模型迭代以适应新数据和业务需求,需实现容器化AI模型的持续集成与持续交付(CI/CD)。CI/CD通过自动化构建、测试和部署流程,提高模型更新速度和质量,降低部署风险,增强团队协作。使用Jenkins和Kubernetes可构建高效CI/CD流水线,自动化模型开发和部署,确保环境一致性并提升整体效率。
|
12月前
|
编解码 人工智能 算法
【AI系统】EfficientNet 系列
本文介绍了EfficientNet系列模型,特别是EfficientNet V1和V2。EfficientNet V1通过NAS技术同时探索网络的宽度、深度和分辨率对模型性能的影响,提出了复合模型缩放方法,以平衡三者关系,实现高效模型扩展。EfficientNet V2在此基础上,引入Fused-MBConv模块,采用渐进式学习策略和自适应正则化技术,进一步提升了模型的训练速度和推理效率。
737 6
【AI系统】EfficientNet 系列
|
9月前
|
安全 持续交付 云计算
课时5:阿里云容器服务:最原生的集成Docker和云服务
阿里云容器服务以服务化形式构建容器基础设施,大幅提升开发效率,简化应用部署流程。通过Docker容器和DevOps工具(如Jenkins),实现自动化部署与迭代,优化企业内部复杂部署问题。该服务支持GPU调度、混合云架构无缝迁移,并与阿里云产品体系无缝集成,提供安全防护、网络负载均衡等多重功能支持。凭借微服务架构,帮助企业突破业务瓶颈,提高资源利用率,轻松应对海量流量。
319 0
课时5:阿里云容器服务:最原生的集成Docker和云服务
|
11月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
570 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
欧拉系统如何修改ip
【10月更文挑战第22天】欧拉系统如何修改ip
6729 1
|
存储 监控 算法
动物目标检测——基于YOLOv5和树莓派4B平台
目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测。 一、在电脑上训练YOLOv5模型 1. 安装Anaconda 在性能更强的计算机上安装Anaconda,方便管理Python环境和依赖。 从Anaconda官网(https://www.anaconda.com/products/distribu
472 6
|
SQL 分布式计算 调度
实时数仓 Hologres操作报错合集之在与PostgreSOL数据库进行通信时出现报错,如何解决
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。