阿里云系统导出到本地虚拟机

centos系统崩溃 系统导出 本地部署,数据导出

我使用的是阿里云基础版服务器,运行centos7 64位。
首先是内存占用100%,我使用kill -9 杀进程,完毕后没几个小时,内存又满了。一个个手动杀太慢,使用pkill -9 php-fpu,然后个人网站 502 Bad Gateway,使用镜像回滚,最近两个月的镜像回滚后全是CPU占用100%,SSH无法登录,网站无法登录。最后能用的镜像是9月23日保存的。从那之后的数据全部丢失。无法远程登录,只好尝试导出镜像部署到本地虚拟机,备份数据,导入到服务器。
1.导出镜像
首先建立工单,申请售后工程师开通导出镜像权限。具体操作步骤参考文档阿里云导出镜像,注意,文档有个错误,要点击导入镜像链接弹出对话框确认地址和云资源访问授权。
2.镜像下载
不要使用oss的URL链接下载,流量很贵,我下载镜像花了三十块左右,还没下成功,URL有效时间最长只能是28880s,我的10M网速,最理想情况下才能下完,实际上,我使用迅雷,通过URL下载,下载到99%时,资源失效了。浪费钱。
使用SDK断点下载。参考文档SDK断点续传文档,我使用的是python SDK,Python安装很方便,使用简单,只用写几行代码。代码需要AccessKeyId和AccessKeySecret,参考创建AccessKey文档,保存AK信息,下载的CVS文档中有AccessKeyId和AccessKeySecret。

# -*- coding: utf-8 -*-
import oss2
auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
#service = oss2.Service(auth,'oss-cn-beijing.aliyuncs.com')
#endpoint选择为beijing,请根据自己的位置配置,不同距离流量收费价格不同
bucket = oss2.Bucket(auth,'oss-cn-beijing.aliyuncs.com','您的Bucket名')
key = '你的镜像名字.raw'
filename = '保存名字.raw'
oss2.resumable_download(bucket, key, filename,
                        store=oss2.ResumableDownloadStore(root='/tmp'),
                        multiget_threshold=1000*1024*1024,
                        part_size=50*1024*1024,
                        num_threads=4)

运行后任务管理器可看到正在下载
阿里云系统导出到本地虚拟机_第1张图片
3镜像格式转换
镜像格式是raw二进制格式,我的虚拟机是使用的VMware,需要使用vmdk镜像格式。使用qemu-img转换格式,如果是centos下,可以使用yum install安装,很方便。不过,我的镜像下载到Windows10中了,而且镜像很大,拷贝到虚拟机中速度太慢,不能忍。我的虚拟机分配的空间也不够大。所以我使用window10自带Ubuntu子系统安装qemu。Windows10内置Ubuntu开启。登录qemu官网,下载源码压缩包,解压。我安装在默认目录下,没有配置参数,解压目录下输入./configure 提示缺少各种依赖,win10内置Ubuntu预安装内容很少,连gcc都没有,使用apt list ,apt install * 把依赖项都安装好,输入make -j4 构建,完成后输入make install安装。在/usr/local/bin下输入./qemu-x86_64 -h运行qemu,报错Could not initialize SDL(No available video device) - exiting,重新回到源码目录,./configure 输出中看到SDL support no,输入apt list SDL,apt install 安装相关依赖,输入./configure 输出中SDL support yes。重新make j4,make install 运行qemu正常。
阿里云系统导出到本地虚拟机_第2张图片
ln -s ./qemu-x86_64 /usr/bin/qemu-img
qemu-img convert -f raw -O vmdk centos.raw centos.vmdk

时间较长,耐心等待,我的转换大概用了半小时。
4.部署到VMware
打开VMware,新建虚拟机,选择自定义(高级),点击下一步,稍后安装操作系统,使用现有的虚拟磁盘。我的安装成功后启动有4个linux选项

阿里云系统导出到本地虚拟机_第3张图片
前三个都不能进入操作系统。重启,选择最后的安全模式,进入了系统。
输入命令ip addr ,可以看到ip地址和网关,子网掩码都不适合局域网配置。按照自己的网络配置IP参数。我的配好了不能ping通外网,但是能ping通局域网的IP。不过够用了,先这样。
5.导出mysql数据
我的网站使用的是WordPress框架,数据保存在MySQL中。进入到WordPress目录下,vim wp-configure.php,可以看到数据库define(),DB_NAME,DB_USER DB_PASSWORD DB_HOST。导出MySQL数据。
mysqldump -u DB_USER -p DB_NAME > DB_NAME.sql
按提示输入密码
使用xftp登录虚拟机,复制出DB_NAME.sql数据,拷贝到服务器中,导入sql数据
mysqldump -u DB_USER -p DB_NAME < DB_NAME.sql
按提示输入密码。
WordPress数据恢复成功。
2018-01-25 09:05:27 星期四
2018-01-29 20:27:05 星期一 更新

你可能感兴趣的:(linux)