OpenStack 镜像管理:共享镜像一直 pending 看不见?Glance 全流程实操

发布时间:2026/10/31 22:26:14

OpenStack 镜像管理:共享镜像一直 pending 看不见?Glance 全流程实操 镜像上传成功、状态显示正常共享给别的项目后对方openstack image list里却死活找不到——十有八九是卡在成员状态pending。这篇按一条完整链路走完镜像管理下载验证 → 注册 → 改可见性 → 共享pending → accept→ 转格式 → 导出删除全部命令对着一套192.168.108.10的 Victoria 环境验证过可直接照抄。文中命令名均标注英文全称如qemu-img QEMU disk image manipulator完整清单见文末《附命令英文全称速查表》。本文概要项目内容文章主题Glance 镜像从下载注册到共享、转格式、导出的完整操作链路重点讲清 shared 镜像 pending 与 accept 两态所属类别云计算 → 私有云平台 → OpenStack 镜像管理知识关键字Glance·qemu-img info·openstack image create·--disk-format·--protected·--shared·image add project·--accept·qemu-img convert·image save主线的因果只有一条镜像先属于创建它的项目别的项目要用要么 public 全员开放要么 shared 走两步共享。所以先看镜像怎么注册进来再讲可见性怎么改最后把最容易卡住的共享流程拆开讲。一、镜像从哪来下载 cirros 并验证格式cirros 是一个 12 MB 左右的迷你 Linux 测试镜像格式 qcow2。下载即可注册使用练手最省事。镜像文件从本机拖到 controller 节点的/root目录后先qemu-img info验一下真实格式再动手。qemu-img info 用法速查表参数含义英文原意qemu-imgQEMU 磁盘镜像工具QEMU disk image manipulatorinfo子命令查看镜像格式与容量信息information镜像文件要查看的本地镜像路径—[rootcontroller ~]# qemu-img info cirros-0.5.2-x86_64-disk.imgimage: cirros-0.5.2-x86_64-disk.imgfileformat: qcow2# 磁盘格式 qcow2注册时要如实填virtual size:112MiB(117440512bytes)disk size:15.5MiB...virtual size 是启动后系统看到的盘大小disk size 是文件实际占地。qcow2 支持动态扩展与写时复制两者不等是正常的。iso 文件查出来是 raw注册时格式就填 iso。二、Dashboard 创建并注册镜像admin 登录后走「项目 → 计算 → 镜像 → 创建镜像」七步步操作关键点1镜像名称Img_web自定义2镜像文件点「预览」选本地 img选定后格式一般自动带出3镜像格式 QCOW2必须与qemu-img info查到的一致4最小磁盘 1 GB、最低内存 128 MB低于它的规格用不了这个镜像5可见性选「私有」只有本项目可见private6受保护性选「是」protected挡删除7提交后等状态变「运行中」排队 → 保存 → 活动⚠️注意「受保护 是」的镜像删不掉想删除必须先编辑镜像把受保护改回「否」。修改镜像在同一个列表镜像行「编辑镜像」→ 可见性改「公有」、受保护改「否」→ 更新镜像。点镜像名称进详情页可核对 ID、格式与大小。三、CLI 创建镜像一条命令七个参数openstack image create 用法速查表参数含义英文原意openstack image create创建并注册镜像create--disk-format磁盘格式ami/ari/aki/vhd/vmdk/raw/qcow2/vhdx/vdi/iso/ploopdisk format--container-format容器格式裸镜像填 barecontainer format--min-disk启动镜像所需最小磁盘GBminimum disk--min-ram启动镜像所需最小内存MBminimum RAM--private/--public/--community/--shared可见性四选一默认 private--shared只是把共享口子打开给别人仍要走第四章的两步private / public / community / shared--protected/--unprotected是否禁止删除默认可删protected--file本地镜像文件路径file镜像名镜像名称如Img_cli—[rootcontroller ~(keystone_admin)]# openstack image create --disk-format qcow2 \--container-format bare --min-disk1--min-ram128--private\--file./cirros-0.5.2-x86_64-disk.img Img_cli[rootcontroller ~(keystone_admin)]# openstack image list # 状态 active 即注册成功大镜像走 Web 界面容易失败且没有进度条命令行更稳旧版 glance 客户端的glance image-create --file 文件 --progress能带进度条看传输进度。四、可见性与共享pending 到 accept 才算真共享可见性有四种取值一次只能取一个共享动作与成员状态速查表参数含义英文原意openstack image set修改镜像属性set--public/--private全员可见 / 仅本项目可见public / private--community全员可用但不出现在他人默认列表community--shared允许共享给指定项目sharedopenstack image add project把镜像加入目标项目产生 pending 成员关系add projectopenstack image member list查看共享成员及状态member list--accept/--reject/--pending接收方对成员关系的表态accept / reject / pending共享实验接着上一篇的环境做user_cli_01在Project_cli里先降权移除 admin换成 Role_cli现象才干净。# 前置user_cli_01 失去 admin 角色[rootcontroller ~(keystone_admin)]# openstack role remove --project Project_cli --user user_cli_01 admin[rootcontroller ~(keystone_admin)]# openstack role remove --project Project_cli --group Group_cli admin[rootcontroller ~(keystone_admin)]# openstack role add --project Project_cli --user user_cli_01 Role_cli# 第 1 步 owner镜像设为 shared[rootcontroller ~(keystone_admin)]# openstack image set --shared Img_cli# 第 2 步 owner加进目标项目成员状态变 pending[rootcontroller ~(keystone_admin)]# openstack image add project Img_cli Project_cli# 第 3 步 接收方切到 user_cli_01 的环境变量再接受[rootcontroller ~(keystone_user_cli_01)]# openstack image set --accept Img_cli[rootcontroller ~(keystone_user_cli_01)]# openstack image list # Img_cli 出现了⚠️注意pending 状态下接收方完全看不见镜像--accept只能由接收方自己执行owner 代做会报 403 授权错误。把验证链完整走一遍四行结论对应四条命令private 时接收方看不到 →--public后看得到 → 改回--shared又看不到 →add project后仍看不到pending→--accept后看得到。共享镜像的全部逻辑就在这条链上。五、镜像格式转换qemu-img convertqcow2 支持压缩其他格式的镜像VMDK 最常见建议转成 qcow2 再上传。以 Ubuntu bionic 云镜像为例格式转换参数速查表参数含义英文原意convert子命令转换镜像格式convert-f指定输入格式from-O指定输出格式大写output format-c压缩目标镜像仅 qcow2 支持compress-p显示转换进度条progress[rootcontroller ~]# qemu-img info bionic-server-cloudimg-amd64.vmdk # 先确认源格式[rootcontroller ~]# qemu-img convert -f vmdk -O qcow2 -c -p \bionic-server-cloudimg-amd64.vmdk bionic-server-cloudimg-amd64.qcow2[rootcontroller ~]# qemu-img info bionic-server-cloudimg-amd64.qcow2 # 转完再验一遍[rootcontroller ~]# openstack image create --disk-format qcow2 --container-format bare \--min-disk1--min-ram128--public--file./bionic-server-cloudimg-amd64.qcow2 ubuntu_cli-f/-O两个格式参数缺了会靠文件扩展名猜显式写上最稳。六、导出与删除[rootcontroller ~(keystone_admin)]# openstack image save --file ubuntu.qcow2 ubuntu_cli # 导出到本地[rootcontroller ~(keystone_admin)]# ls # ubuntu.qcow2 已落在当前目录[rootcontroller ~(keystone_admin)]# openstack image delete ubuntu_cli # 删除save 是把 Glance 里的镜像数据拉回本地一份原镜像不动。delete 遇到 protected 镜像会报错先openstack image set --unprotected解除保护再删。 参考资料官方文档 · 中英双语英文原版openstack image 命令参考python-openstackclientimage set --accept与成员状态的权威定义cirros 镜像下载页Ubuntu 云镜像下载中文版OpenStack 中文文档官方文档中文入口附命令英文全称速查表命令 / 缩写英文全称 / 原意作用qemu-imgQEMU disk image manipulatorQEMU 磁盘镜像工具infoinformation查看镜像格式与容量convertconvert转换镜像格式-ccompress压缩目标镜像仅 qcow2-pprogress显示进度条GlanceGlance Image ServiceOpenStack 镜像服务openstack image create / set / save / deletecreate / set / save / delete镜像注册、改属性、导出、删除--disk-formatdisk format磁盘格式--container-formatcontainer format容器格式裸镜像 bare--min-disk/--min-ramminimum disk / RAM启动镜像的资源下限--protected/--unprotectedprotected禁止 / 允许删除--sharedshared共享可见性image add projectadd project建立共享成员关系产生 pending--accept/--reject/--pendingaccept / reject / pending接收方对成员关系的表态image member listmember查看共享成员状态qcow2QEMU copy-on-write v2支持动态扩展、写时复制与压缩的镜像格式vmdkVirtual Machine DiskVMware 磁盘格式总结镜像管理的因果线是「格式先验证 → 注册填对格式与下限 → 可见性决定谁能用 → 共享必须接收方 accept → 转格式统一成 qcow2」。记住 pending 不等于共享成功accept 之后才算落地剩下的大文件、转格式问题都在命令行解决。同系列 · OpenStack 实验手册其余篇目见博客主页blog.csdn.net/nbsxl上一篇《OpenStack 认证管理角色、用户、组、项目、配额五样东西到底谁绑谁》下一篇《OpenStack 计算管理实例锁定后被普通用户解锁了避坑实操》 你共享镜像时卡在哪一步pending 看不见、accept 报 403评论区贴出你的报错。
延伸阅读

更多相关文章

2026/10/31 22:26:14

Neon safekeeper任务

safekeeper 的运行时与任务架构safekeeper 使用 5 个独立的 Tokio Runtime&#xff08;通过 Lazy<Runtime> 静态变量定义&#xff09;&#xff0c;每个 runtime 运行在独立的 OS 线程池上&#xff0c;从而把 WAL 服务、HTTP 管理接口、Broker 通信、备份导出和后台维护任…

2026/10/31 23:21:21

C语言PTA理论考高频考点与易错点知识地图

简介&#xff1a;面向准备C语言程序设计考试与PTA理论测评的初学者及任课教师&#xff0c;这份文档围绕理论考场景整理了判断题、选择题及对应答案&#xff0c;可用于考前速查、课堂练习与错题复盘&#xff0c;帮助读者快速定位基础语法中的易混点。压缩包内共1个docx文件&…

2026/10/31 23:21:21

智能化开发工具链:CodeBuddy与GLM-4.7的实践指南

1. 智能化开发工作流的核心价值在当今快节奏的软件开发环境中&#xff0c;开发者面临着日益复杂的工具链和不断增长的生产力要求。CodeBuddy IDE、GLM-4.7和Spec-Kit的组合为这一挑战提供了创新解决方案。这套工具链的核心价值在于将AI能力深度集成到开发流程的每个环节&#x…

2026/10/31 23:21:21

OpenRig:用tmux+YAML构建高可靠AI多智能体编排系统

1. 项目概述&#xff1a;当AI智能体不再“单打独斗”&#xff0c;而开始“组队干活”你有没有试过让一个AI Agent去查天气、订会议室、再把会议纪要发到钉钉——结果它卡在“找不到钉钉API文档第3页的token字段”上&#xff0c;然后默默退出&#xff1f;这不是模型能力不行&…

2026/10/31 23:21:21

HTML语义化入门:从标题标签到文档大纲构建

1. 这不是“背标签”的笔记&#xff0c;而是前端工程师的文本语义训练手册 你打开任何一份正规项目的HTML源码&#xff0c;几乎不会看到连续五个 <div> 嵌套着三个 <span> 再包一层 <div class"wrapper"> 的写法——但初学者的练习页面里&a…

2026/10/31 23:21:21

从函数调用到安全沙箱:智能体执行层的工程实践与踩坑指南

1. 先把“执行”这一层想透&#xff1a;智能体凭什么能动手 1.1 从 Function Calling 到 Tool Use&#xff1a;一次调用的完整生命周期 真正把 LLM 从“对话机器人”变成“智能体”的分水岭&#xff0c;不是模型能写多长的作文&#xff0c;而是它能不能在对话之外真正做点事。…

2026/10/31 23:16:21

AI+python-pptx:打造免费可二开的自动化PPT生成系统

折腾这套自动化PPT生成系统&#xff0c;起因特别现实——我手上积压了太多对外分享的PPT需求&#xff0c;内容大同小异&#xff0c;但每回都要从空白模板开始排版&#xff0c;一弄就是半天。后来我把整个流程拆开看&#xff1a;内容生成交给模型&#xff0c;版式渲染交给程序&a…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/31 22:14:20

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介&#xff1a;本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包&#xff0c;专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片&#xff0c;标注质量高&#xff0c;同时提供VOC&#xff08;XML&#xff09;、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介&#xff1a;本资源为2017年HDU多校联合训练第一场官方配套资料&#xff0c;面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员&#xff0c;旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件&#xff0c;含15份C标程&#xff08;覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑