首页/新闻资讯/正文详情

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

发布时间:2026/11/5 0:17:12 来源:云帆数科 栏目:资讯中心
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评论区贴出你的报错。

相关推荐

小白程序员转行大模型,这两条路你必须知道!
小白程序员转行大模型,这两条路你必须知道!

文章介绍了大模型发展的两条主线:开发/落地侧和算法/Infra侧,并针对没有学历和大厂背景的人提供了转行建议。开发侧强调动手实践和交付结果,建议先掌握基础工程能力,深度使用Claude Code等agent harness,通过真实项目积… · 2026/11/3 17:07:52

H5/微信小程序如何免插件预览 Office 文档?基于 OfficeWeb365 的移动端全兼容方案
H5/微信小程序如何免插件预览 Office 文档?基于 OfficeWeb365 的移动端全兼容方案

摘要移动端办公已成现代企业刚需,但在 H5 页面、微信小程序、企业微信或钉钉中直接预览 Word 和 Excel 历来是前端开发的噩梦。本文将分享如何利用 OfficeWeb365 云服务 API,仅需几行代码便能在移动端实现免插件、全兼容的专业级文档在线预览。1. 移动端… · 2026/11/3 20:09:02

超级具身智能“感知-决策中枢“研究(5):基于因式分解算法的复杂视觉特征解耦详解
超级具身智能“感知-决策中枢“研究(5):基于因式分解算法的复杂视觉特征解耦详解

前沿技术探索:FRA核心定义与设计理念 FRA(Factorized Robotic Agent, FRA,亦称:因式分解机器人智能体)是一套因式化数实融合一体化新型智能系统,核心设计理念是全链路系统解耦,将机器人作业的感知、推理、动作执行三大核心能力拆解为独立平行子模块,整合为统一、闭环、… · 2026/11/3 22:02:32

8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南
8G显存本地AI数字人实战:从ASR到TTS的完整搭建与调优指南

8G显存在AI本地化圈子里处境挺尴尬的:你说它能跑模型吧,7B量化之后勉强能聊;你说它跑不好吧,又确实比集显强太多。大多数教程讲的都是怎么用Ollama跑一个聊天模型,但很少有人说可以更进一步——把它变成一只能听懂人话… · 2026/11/5 0:00:39

大模型系统性入门:从原理、部署到微调应用的完整路线
大模型系统性入门:从原理、部署到微调应用的完整路线

1. 为什么你收藏了300个教程,依然觉得大模型没入门我先讲一个前几天在交流群里看到的真实场景:有人问"大模型怎么入门",群里立马有人甩出几个网盘链接,里面躺着几百个PDF和视频,说是"全网最全的大模型学… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

Mac软件下载站分类指南:四类渠道与安全判断标准
Mac软件下载站分类指南:四类渠道与安全判断标准

Mac用户找软件这件事,说大不大,说小也真不小。我用了十来年Mac,从最早在论坛里翻帖子找注册码,到后来自己维护一份资源清单,踩过的坑能写满一页纸:下到过套壳安装包、遇到过捆绑浏览器主页的“绿色版”、也… · 2026/11/4 23:59:37

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码