一、准备工作

本文中所有示例步骤皆为CentOS7
  1. 登录到阿里云ECS实例,将cloud-init关闭,否则NetCup在启动此镜像时会卡住10分钟才能进入系统
    执行此命令关闭cloud-init:touch /etc/cloud/cloud-init.disabled

    220131更新,如果关闭cloud-init,镜像安装完成后不会自动扩容硬盘,打开cloud-init重启后便会自动扩容,可以之后再关闭。

  2. 创建自定义镜像
  3. 导出自定义镜像到阿里云oss(需要创建与ECS同地域的OSS桶)
  4. 将自定义镜像导入到NetCup提供的FTP服务器,最好是使用欧洲地区的VPS(或者临时开一台阿里云法兰克福的ECS)来操作(需要先把oss里面的镜像下载出来),否则上传到NetCup的FTP服务器时速度会很慢。建议全程使用screen来操作,避免ssh会话中断造成时间浪费

    1. 因为这台机器上配置了阿里云ossutil,所以我直接使用ossutil将oss同步到本地了。oss文件可以生成外链,所以也可以使用wget或者curl进行下载。
      ossutil64 -c ../oss/config sync oss://temp-files ./
    2. 登录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

二、NetCup控制台重新安装自定义镜像

  1. 登录到SCP。
    Media → Images → Own Uploaded Images
    这里有一个非常奇葩的点。就是 Own Uploaded Images 右边的下拉箭头,有可能会受到浏览器的某个插件影响而无法点击,我就是因为这个问题一直以为镜像上传了而不显示,还发邮件和NetCup沟通了半天。。 最后突然想到使用无痕模式试试,才发现了这个坑爹的问题。 我这边排查到的是一个叫 浮图秀 的插件。
  2. 倒杯水,泡个茶,等待镜像安装完成后就可以登录了。

三、卸载阿里云安骑士、阿里云监控、阿里云助手

由于我们的镜像已经不在阿里云运行,所以没有必要保留这些东西,通通卸载。
此步骤可以在ECS生成自定义镜像前进行(建议先做好快照)。

  1. 卸载阿里云安骑士

    
    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
  2. 卸载阿里云监控,需要判断自己系统上安装的是什么版本的插件,C++ Go Java,官网文档在本文文末。

    bash /usr/local/cloudmonitor/cloudmonitorCtl.sh stop
    bash /usr/local/cloudmonitor/cloudmonitorCtl.sh uninstall
    rm -rf /usr/local/cloudmonitor
  3. 卸载阿里云助手,官方文档在本文文末

    #停止云助手客户端
    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
  4. 删除残余文件

    #删除残余文件
    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
  5. 重启系统,检查是否还有阿里云的服务存在

    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

最后修改:2023 年 02 月 01 日
如果觉得我的文章对你有用,请随意赞赏