Contents
需求:在本地VMware新建一个和线上阿里云某ECS一样的服务器做测试用,如果需要搭建的环境比较大、复杂,那最好能直接将阿里云的ECS迁移到本地。
1、创建阿里云ECS镜像
因为镜像创建后需要下载下来,并且走的阿里云OSS,会有流量费,所以创建镜像之前,可以检查下ECS中是否有无用的数据、log等可以先清理掉,再创建镜像,节省之后的流量费、下载时间、解压时间、虚拟文件转换时间等
2、导出镜像到OSS
需要按提示授权并创建OSS Bucket,选“标准存储”就行,不用选其他类型,因为其他的都有最低存储时间限制。我们这个镜像在下载之后可以尽快在OSS中删除,没必要一直存储着消耗费用。
3、下载镜像
导出到OSS的时间有点长,因为系统一般至少几个G,等导出完成后,进OSS直接下载或点击文件详情使用连接下载即可。
4、解压镜像
注意!下载后的文件是tar.gz包,用winRAR等解压工具就可以解压,但是解压后的raw文件大小是与源ECS磁盘容量大小一样的,例如我这里的ECS的100G的容量,解压后的文件也占用100G的本地空间!所以要保证有足够的空间再进行解压哦。
5、安装qemu-img工具将raw转换vmdk格式
qemu工具下载地址:https://qemu.weilnetz.de/w64/
直接下载qemu-img也行:https://cloudbase.it/qemu-img-windows/
qemu官网:www.qemu.org
使用CMD进入qemu-img.exe所在目录,并执行raw转换vmdk的命令,执行转换时间较长!
qemu-img.exe convert -f raw -O vmdk {源文件} {目标文件} # -f 源文件格式 # -O 目标文件格式 # 目标文件自行命名.vmdk
我这里在执行时提示缺少dll文件,百度该dll文件下载copy到系统dll文件目录下即可。
6、新建虚拟机并使用转换后的.vmdk虚拟磁盘文件
raw转换vmdk完成后,out.vmdk 就是我们将要新建虚拟机的现有虚拟磁盘文件。新建的虚拟机系统按源ECS的系统选择,到“选择磁盘”步骤的时候“使用现有虚拟磁盘”并选择转换后的.vmdk文件。
7、启动虚拟机
启动后注意在系统选择界面,快速按下键盘↑或↓键,避免系统3秒默认自动进入系统了,要选择最下面这项进入。
之后就是进入系统的一系列加载了,我这遇到“request error”一直报错并timeout….想必是因为源系统是阿里云的,IP和本地的网络不通。这里继续等待(长时间)加载即可。
还有cloud-init服务的长时间timeout….后面启动后赶紧关闭或卸载!
8、关闭cloud-init 服务、阿里云盾、修改网卡配置等
# 关闭cloud-init systemctl disable cloud-init-local cloud-init cloud-config cloud-final systemctl stop cloud-init-local cloud-init cloud-config cloud-final
# 关闭阿里云盾 [root@zywxy ~]# ps -ef|grep aegis root 64001 63959 0 15:43 pts/0 00:00:00 grep --color=auto aegis root 1933245 1 0 Sep03 ? 00:25:47 /usr/local/aegis/aegis_update/AliYunDunUpdate root 1933270 1 0 Sep03 ? 04:34:57 /usr/local/aegis/aegis_client/aegis_11_37/AliYunDun root 2713297 1 0 Jun28 ? 00:43:57 /usr/local/aegis/AliSecGuard/AliSecGuard [root@bangbang ~]# systemctl is-enabled aegis.service enabled #停止并关闭自启动,减少资源消耗 #systemctl disable aegis.service #systemctl stop aegis.service
# 配置网卡信息 [root@zywxy ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 [root@zywxy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 #这里也提示了cloud-init的问题 # Created by cloud-init on instance boot automatically, do not edit. # If you don't want cloud-init genrated automatically,you can disable it in /etc/cloud/cloud.cfg # For more information, please refer to: https://help.aliyun.com/document_detail/57803.html # BOOTPROTO=none NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=192.168.0.202 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 DNS1=223.5.5.5 DNS2=8.8.8.8 TYPE=Ethernet [root@zywxy ~]# ifdown eth0 & ifup eth0 #重启网卡
按本地环境进行配置。
cloud-init服务的长时间timeout,进入不了操作系统。请问博主是如何进入的
长时间timeout这里按“Esc”后再按“Enter”继续等待加载