一、准备工作
本文中所有示例步骤皆为CentOS7
登录到阿里云ECS实例,将cloud-init关闭,否则NetCup在启动此镜像时会卡住10分钟才能进入系统
执行此命令关闭cloud-init:touch /etc/cloud/cloud-init.disabled
220131更新,如果关闭cloud-init,镜像安装完成后不会自动扩容硬盘,打开cloud-init重启后便会自动扩容,可以之后再关闭。
- 创建自定义镜像
- 导出自定义镜像到阿里云oss(需要创建与ECS同地域的OSS桶)
将自定义镜像导入到NetCup提供的FTP服务器,最好是使用欧洲地区的VPS(或者临时开一台阿里云法兰克福的ECS)来操作(需要先把oss里面的镜像下载出来),否则上传到NetCup的FTP服务器时速度会很慢。建议全程使用screen来操作,避免ssh会话中断造成时间浪费。
- 因为这台机器上配置了阿里云ossutil,所以我直接使用ossutil将oss同步到本地了。oss文件可以生成外链,所以也可以使用wget或者curl进行下载。
ossutil64 -c ../oss/config sync oss://temp-files ./
登录NetCup提供的FTP服务器,将镜像传入。
root@NetCup-RS4000:/opt/temp/os# sftp -oPort=2222 123123@46.38.225.190 123123@46.38.225.190's password: Connected to 46.38.225.190. sftp> lls nohup.out web01_bak.qcow2 web01_min.qcow2 web01.qcow2 sftp> ls cdrom image sftp> cd image sftp> put web01.qcow2 web01.qcow2 sftp> put web01.qcow2
如果镜像太大,建议先将镜像压缩再上传,否则在安装阶段时NetCup将花费很长时间去拉取镜像。
qemu-img convert -c -O qcow2 web01.qcow2 web01_new.qcow2
- 因为这台机器上配置了阿里云ossutil,所以我直接使用ossutil将oss同步到本地了。oss文件可以生成外链,所以也可以使用wget或者curl进行下载。
二、NetCup控制台重新安装自定义镜像
- 登录到SCP。
Media → Images → Own Uploaded Images
这里有一个非常奇葩的点。就是 Own Uploaded Images 右边的下拉箭头,有可能会受到浏览器的某个插件影响而无法点击,我就是因为这个问题一直以为镜像上传了而不显示,还发邮件和NetCup沟通了半天。。 最后突然想到使用无痕模式试试,才发现了这个坑爹的问题。 我这边排查到的是一个叫 浮图秀 的插件。 - 倒杯水,泡个茶,等待镜像安装完成后就可以登录了。
三、卸载阿里云安骑士、阿里云监控、阿里云助手
由于我们的镜像已经不在阿里云运行,所以没有必要保留这些东西,通通卸载。
此步骤可以在ECS生成自定义镜像前进行(建议先做好快照)。
卸载阿里云安骑士
wget http://update.aegis.aliyun.com/download/uninstall.sh && chmod +x uninstall.sh &&./uninstall.sh wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh && chmod +x quartz_uninstall.sh && ./quartz_uninstall.sh
卸载阿里云监控,需要判断自己系统上安装的是什么版本的插件,C++ Go Java,官网文档在本文文末。
bash /usr/local/cloudmonitor/cloudmonitorCtl.sh stop bash /usr/local/cloudmonitor/cloudmonitorCtl.sh uninstall rm -rf /usr/local/cloudmonitor
卸载阿里云助手,官方文档在本文文末
#停止云助手客户端 systemctl stop aliyun.service #停止云助手守护进程 /usr/local/share/assist-daemon/assist_daemon --stop #卸载云助手守护进程 /usr/local/share/assist-daemon/assist_daemon --delete #删除云助手守护进程目录 rm -rf /usr/local/share/assist-daemon #卸载云助手客户端(Linux实例) rpm -qa | grep aliyun_assist | xargs rpm -e
删除残余文件
#删除残余文件 rm -rf /usr/local/aegis rm -rf /usr/local/share/aliyun-assist rm -rf /usr/local/cloudmonitor rm -f /usr/sbin/aliyun-service.backup rm -f /usr/sbin/aliyun-service rm -f /usr/sbin/aliyun_installer rm -f /etc/systemd/system/aliyun.service rm -f /lib/systemd/system/aliyun.service rm -f /var/tmp/aliyun-service.pid rm -f uninstall.sh quartz_uninstall.sh
重启系统,检查是否还有阿里云的服务存在
systemctl | grep aliyun systemctl | grep aegis systemctl | grep cloudmonitor
参考文档:
导出自定义镜像 https://help.aliyun.com/document_detail/58181.html
安装和卸载C++版本插件 https://help.aliyun.com/document_detail/183482.htm?spm=a2c4g.11186623.0.0.2cbd2cfeJC58eh#task-1950491
云监控Java版本插件安装 https://help.aliyun.com/document_detail/38859.html
云监控Go语言版本插件安装 https://help.aliyun.com/document_detail/97929.htm
启动、停止或者卸载云助手客户端 https://help.aliyun.com/document_detail/134379.html