参考链接:

  1. https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/OpenStack/page/Creating+qcow2+CentOS+Image+for+OpenStack
  2. http://docs.openstack.org/image-guide/content/centos-image.html
  3. http://www.it165.net/os/html/201309/6121.html
  4. https://answers.launchpad.net/nova/+question/226471
  5. http://ssms.cs2c.com.cn/otrs/pc.pl?Action=PublicFAQZoom;ItemID=10224;ZoomBackLink=QWN0aW9uPVB1YmxpY0ZBUUV4cGxvcmVyO0NhdGVnb3J5SUQ9MTQ7U29ydEJ5PVRpdGxlO09yZGVy%0APVVwO1N0YXJ0SGl0PTI2MDE%3D%0A;

使用ISO镜像制作适用于OpenStack的云镜像

资源:
- ISO镜像文件,此处选择RedHat Enterprise Linux 5.5 x86_64 ISO镜像文件;
- 支持qemu-kvm的Linux实体机;

注意:
经验证,RHEL5.5不支持在线对根目录扩容,需要对根目录进行在线扩容的请谨慎选择。
(如果有解决方法,欢迎留言。)

Linux实体机:

# qemu-img create -f qcow2 rhel-5.5-x86_64.qcow2 10G
# kvm -m 2048 -cdrom rhel-server-5.5-x86_64-dvd.iso -drive file=rhel-5.5-x86_64.qcow2,if=virtio,index=0 -boot d -net nic -net user
# kvm -m 2048 -drive file=rhel-5.5-x86_64.qcow2,if=virtio,index=0 -boot d -net nic -net user
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

此处,操作系统的安装与实体机安装一样,安装完成后会有一个1G左右的rhel-5.5-x86_64.qcow2文件。使用Virtual Machine Manager虚拟机管理工具从QCOW2文件启动虚拟机。

虚拟机:

# yum update -y
# chkconfig sshd on
# vim /etc/ssh/sshd_config
--- #PermitEmptyPasswords no
+++ PasswordAuthentication yes
--- #PermitRootLogin yes
+++ PermitRootLogin yes
# yum install acpid
# chkconfig acpid on
# yum install cloud-init
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

/etc/cloud/cloud-init.conf可能需要进行适当修改。

  • 为保证实例能够访问neutron metadata服务,需要禁用zeroconf
# echo "NOZEROCONF=yes" >> /etc/sysconfig/network
  • 1
  • 1
  • 开启磁盘热插拔,支持在线挂载云硬盘
#echo -e "#! /bin/sh\n\n/sbin/modinfo -F filename acpiphp > /dev/null 2>&1\n\nif [ $? -eq 0 ]; then\n     /sbin/modprobe acpiphp\nfi" >> /etc/sysconfig/modules/acpiphp.modules
  • 1
  • 1
  • 开启nova console log支持
# vim /boot/grub/menu.lst

+++ serial --unit=0 --speed=115200
+++ terminal --timeout=10 console serial
--- kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00
+++ kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 console=tty0 console=ttyS0,115200n8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 制作完成,关闭虚拟机
#/sbin/shutdown -h now
  • 1
  • 1

Linux实体机:

  • 清理虚拟机登陆及日志信息等
# virt-sysprep -d rhel5.5
  • 1
  • 1
  • 压缩镜像文件
# qemu-img convert -c -O qcow2 /root/rhel-5.5-x86_64.qcow2 /root/rhel-5.5-x86_64-compressed.qcow2
  • 1
  • 1
  • 上传镜像
# glance image-create --name "RedHat Enterprise Linux 5.5 x86_64" --disk-format qcow2 --container-format bare --is-public True --file  /root/rhel-5.5-x86_64-compressed.qcow2 --progress
  • 1
  • 1

Q&A

a. Cannot see the attached volume in the instance:

For RHEL 5.x, acpiphp is not loaded.

# modprobe acpiphp
# reboot
  • 1
  • 2
  • 1
  • 2

***Bootable kernel module hotplugin and acpiphp should be added.

openStack镜像制作的更多相关文章

  1. OpenStack 镜像制作

    Contents [hide] 1 Centos6.5 img制作 1.1 基础环境安装 1.2 下载或从本地上传系统镜像 1.3 启动服务 1.4 建立镜像文件 1.5 通过virt-install ...

  2. OpenStack镜像制作-CentOS

    云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...

  3. openstack镜像制作思路、指导及问题总结

    一.思路就4步:1.创建镜像文件2.用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程3.OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件4.后续 ...

  4. openStack 镜像制作,镜像裁剪一般步骤

    镜像制作一般裁剪步骤 1, linux系统安装CentOs/RHEL Desktop桌面系统,分区划分但分区/挂载点.设置Selinux=disabled关闭iptables安装cloud-init[ ...

  5. OpenStack 镜像制作之cloud-init

    Contents [hide] 1 背景 2 密钥登录 2.1 密钥登录的原理 2.1.1 openstack的私钥 2.1.2 密码注入 = 2.1.3 实际遇到的情况 2.1.4 解决办法 背景 ...

  6. 云计算---openstack镜像制作

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  7. 云计算---openstack镜像制作详解

    一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...

  8. OpenStack镜像制作笔记 --以windows8.1-amd64为例

    by hyc 目录 1.下载win8_64位的iso文件 2.下载对应电脑的vnc 3.下载Xshell软件 4.连接成功后,在Xshell下安装软件包 5.下载FileZilla Client软件 ...

  9. openstack镜像制作centos7

    1,找一台宿主机安装kvm并检查是否支持虚拟化,这里我用的是vmware来做宿主机 egrep '(vmx|svm)' /proc/cpuinfo 然后安装kvm: yum install epel- ...

随机推荐

  1. WCF 断点不会命中

    VS的调试模式改为Debug 工具—选项—调试—常规中的‘要求源文件和原始版本完全匹配’的勾去掉

  2. Android 开源组件 ----- Android LoopView无限自动轮转控件

    Android 开源组件 ----- Android LoopView无限自动轮转控件 2015-12-28 15:26 by 杰瑞教育, 32 阅读, 0 评论, 收藏, 编辑 一.组件介绍 App ...

  3. HDU 2089 不要62

    也是简单的数位dp. #include<iostream> #include<cstdio> #include<cstring> #include<algor ...

  4. BZOJ 2286 树链剖分+DFS序+虚树+树形DP

    第一次学习虚树,就是把无关的点去掉.S里维护一条链即可. #include <iostream> #include <cstring> #include <cstdio& ...

  5. 点击含下拉菜单的列表/表单按钮:通过JS创建虚拟按钮并点击

    ${JsCode} | Get Element Attribute | XPATH=//table[@class='mnubar']//tr//td//span[text()='${MenuArr[0 ...

  6. GIT 如何删除某个本地的提交

    一.rm后要commit一下才会生效,但这样只是让文件不再出现在今后的版本中,文件副本仍然会在.git/下(这样git才能让误删的文件恢复). 要彻底消灭文件副本,那就要让文件彻底从历史中消失,分两种 ...

  7. LintCode Singleton

    Singleton 3 大要素: 1.有private static的句柄(成员变量即field) 2. constructor 必须为private 3.有public static的getInst ...

  8. HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)

    HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...

  9. C语言编程心得

    记录这些是为了日后自己想查阅以前经验的方便,同时若能给其他网友带来一些帮助,就更好了~ C语言,自己经常遇到的问题: 1.段错误 段错误一般是由于访问了不存在的地址造成的,具体的原因有文件路径不存在, ...

  10. JSBinding / Memory Management (GC)

    C# and JavaScript both have Garbage Collection (GC). They should not conflict with each other. Class ...