说明
openstack 镜像修改
重新上传镜像至 glance
修复重建 vm 报错问题
前提
一般情况下 openstack 镜像都不应该作出频繁的修改
习惯上会在一个基础镜像生成后, 会加载一些工具管理, 然后再进行其他软件集成或者配置
因此对于某个版本 OS (example 7.3 7.6 ) 只会存在一个版本的镜像
目的
假如真的要修改底层镜像
参考下面的方法
缺憾,先阅读,参考本文是否适用
如果修改新版本镜像, 建议新建一个 glance image (新 UUID, 新 image name )
假如其他系统以来了这个旧 GLANCE IMAGE UUID, 并且使用这个镜像中的 VM 只有那么一两个, 参考下面修改方法
假如你的 OPENSTACK 环境存在了很多使用旧版本镜像的 VM, 那么每台 VM 都需要先重建成其他版本镜像,可能会丢失数据资料 (不太建议在这个环境下使用相同的镜像 UUID, 不需要参考下面过程操作)
每个使用旧版本的 VM 都需要先重建成其他 image 版本的镜像(十分麻烦)
需要找到每台使用旧版本镜像的 VM 的物理服务器(需要在每台物理机上删除旧镜像)
获取镜像
利用 glance image-list 获取你需要修改的 image id
# glance image-list | grep centos8.3
| 72da4831-7f3f-4408-bea5-8f36626d8d67 | centos8.3 | qcow2 | bare | 2051866624 | active |
默认情况下镜像存放在 /var/lib/glance/
# ls /var/lib/glance/72da4831-7f3f-4408-bea5-8f36626d8d67 -lh
-rw-r----- 1 glance glance 2.0G 1月 12 16:03 /var/lib/glance/72da4831-7f3f-4408-bea5-8f36626d8d67
修改镜像(略,按需修改)
复制上述文件 (/var/lib/glance/72da4831-7f3f-4408-bea5-8f36626d8d67) 到一个可以独立跑 qemu 的服务器上
参考 glance image-list , 得知文件属于 qcow2 格式
把镜像文件改名问 xxxx.qcow2
利用 virt-manager (图形命令) 启动该 qcow2 镜像即可 (启动方法略)
执行修改你的镜像
完成后关机