1.准备工作:
准备你想要封装的各种镜像的iso,完整版本最简单版本都ok,只要能出虚拟机就行,这个大家去官网下载自己要的iso就可以,我这里用centos6.4最简版本,因为分给我的活让做这个的....
支持虚拟化的centos7机器一台,vm里的就可以,但是你要开cpu支持虚拟化选项了
有一些要求的就比如/要多大空间,/home要多大空间等等的也是可以做的,但是估计你用vm在自己电脑上分出来的小虚拟机这资源上就扛不住了,如果有一台比较专门装了centos的物理机这样最好

2.正式开始:
yum install virt-install virt-sparsify -y
mkdir /openstack-images
cd /openstack-images
把你的iso镜像扔这里吧,其实放哪里都可以,就是自己记住路径就好
qemu-img create -f qcow2 centos6.4.qcow2 20G(最后封装完成后不会这么大,现在只是这么意思意思#35)
chown qemu:qemu /openstack-images -R
systemctl start libvirtd
virt-install -n vm1 -r 1024 --cpu host -c /openstack-images/CentOS-6.4-x86_64-minimal.iso --disk path=/openstack-images/centos6.4.qcow2,device=disk,bus=virtio,size=20,format=qcow2 --vnc --vncport=5900 --vnclisten=0.0.0.0 -v(创建完成后ssh会空住,可以在打开个ssh)
virsh list你会看见刚才刚才创建的虚拟机vm1在run
如果有错误需要删除虚拟机
virsh destroy vm1
virsh undefine vm1
然后你就可以用vncviewer连接你的物理机的5900端口来操作这台虚拟机,我不喜欢用vnc,所以直接在图形界面打开了,如果端口被占用换一个端口就好

virt-manager(会打开管理窗口,你刚才创建的vm1就在这里,在运行,双击它就打开了操作界面,其实跟vnc看到的一样了)

VNC连接:

装系统因人而异,也因系统而异,我就不写了,但是作为需要封装的镜像,一般都是最简安装的,如果有分区要求,就自定义分区去操作就好了
系统装好后启动,此时还没完成,然后进到这台虚拟机的系统里操作,先做一些你需要自定制的东西,比如安装saltstack客户端,然后:
rm -rf /etc/udev/rules.d/70-persistent-net.rules
cat /etc/sysconfig/network-scripts/ifcfg-eth0应该是这样
TYPE="Ethernet"
DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
NM_CONTROLLED="yes"

sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/config
service iptables stop && chkconfig iptables off(7系统应该是firewalld)
service ip6tables stop && chkconfig ip6tables off
init 0关机

du -sh 你的镜像名
可以看到这个img文件应该1g多左右,根据系统不同
virt-sparsify --compress centos6.4.qcow2 centos6.4-cloud.qcow2 # 压缩一定要压缩!

此时这个centos6.4-cloud.qcow2应该是不到300M
把它传到你的openstack安装glance组件的服务器上
openstack image create "centos6.4" --file centos6.4-cloud.qcow2 --disk-format qcow2 --container-format bare --public

3.验证
登录openstack的控制台用此镜像创建一个云主机,此时最小的套餐肯定是不行了,貌似才512M吧,用第二个创建,等一会就ok了,云主机登录就是你在qemu装系统时设置的账号密码

openstack封装镜像的更多相关文章

  1. openstack快速封装镜像

    本来是该写对接ceph的,但是临时有事了,必须先弄镜像,因此提前写这个了,我个人不是按官网来封装镜像的,是按自己的习惯,所以觉得信不过的可以用官网的方式,有兴趣的可以看看都知道,openstack创建 ...

  2. openstack导入镜像

    本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因.镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova ...

  3. 制作 OpenStack Linux 镜像 - 每天5分钟玩转 OpenStack(151)

    这是 OpenStack 实施经验分享系列的第 1 篇. OpenStack 的 instance 是通过 Glance 镜像部署的,所以准备镜像是必须要做的工作.本节介绍 Linux 镜像的制作方法 ...

  4. 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)

    这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...

  5. ubuntu openstack windows 镜像制作

    openstack  windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...

  6. Openstack glance 镜像服务 (五)

    Openstack glance 镜像服务 (五) 引用: 官方文档glance安装 https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/ ...

  7. OpenStack JEOS 镜像

    JEOS:Just Enough Operating System 维基百科地址:http://en.wikipedia.org/wiki/Just_enough_operating_system O ...

  8. Openstack的镜像上传原理

    openstack的horizon的上传镜像流程 通过html的form表单上传文件 先上传到horizon指定的临时目录,存储起来 通过glance-api请求接口 实际上glance-api也是提 ...

  9. OpenStack导入镜像后Launch不起来的几个问题

    Dashboard上显示state为error 没有其他报错 用nova list找到虚拟机的id 然后nova show,可以得到fault详细信息 也可以查看下面两个log /var/log/no ...

随机推荐

  1. redis 在我做的容器中的配置路劲

    配置 /etc/redis/redis.conf 数据库位置 /var/lib/redis/dump.rdb

  2. Codeforces Round #277 (Div. 2)D(树形DP计数类)

    D. Valid Sets time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  3. Windows 系统 vs2012 MinGW 编译ffmpeg 静态库

    Windows系统下 vs2012编译ffmpeg 动态库 前面已经有文章讲述,本文将讲述如果编译生成ffmpeg静态库以方便 在vs2012下调用. 准备工作:安装MinGW环境,修改ffmpeg配 ...

  4. C# HTTP请求后对gzip页面实现解压缩

    1.通过socket页面请求后的receive内容不能经过string后再进行解压缩处理 会造成错误的gzip幻数报错 推荐使用流处理 2.正确分析返回内容 分割header和页面代码部分 3.对页面 ...

  5. vim 模式切换

    1. 从插入模式退回到normal模式 <esc> <C-c> <C-[>

  6. hdparm - get/set SATA/IDE device parameters

    hdparm(8) - Linux man page Name hdparm - get/set SATA/IDE device parameters Synopsis hdparm [ flags ...

  7. ubuntu 14.04 LTS 安装webbentch压力測试工具

    近期在做 压力測试工具,除了apache的ab測试工具外,发现webbentch工具也不错,这里简介下这两个工具. 一.webbentch安装: wget http://blog.s135.com/s ...

  8. OpenCV4Android编译

    http://blog.sina.com.cn/s/blog_602f87700102vdnw.html (2015-04-02 11:10:01) 转载▼     最近的一个项目中,需要自己编译Op ...

  9. javascript 返回上一页面

    <a href="<a href="javascript :history.back(-1)">返回上一页</a>或<a href=& ...

  10. public,protected,private,static,final的区别(转载)

    1.类 (1)在java中有public.protected.private三种显示的修饰符用于控制可见性,package不是显示的修饰符,它是隐含的,即如果在类.变量等前没加显示的可见性修饰符,那它 ...